| 
    
     |  | ▼アズキマン さん: こんばんは。
 
 >『エクセルの印刷中ダイアログ
 >("現在1/1ページを印刷中"というやつ)
 >を消す(非表示にする)方法ってありますか?
 >画面上に出なければ、なんでもいいです。』
 >
 >上記は2003-2-26の質問ですが、回答した方の参考URLが
 >「該当トピックは存在しないか公開期間を過ぎて閲覧
 >ができません」となっていまして・・・。
 確かAPIを使ったかと・・・。
 見た覚えがあるんですが、使う機会がないなあと思い、メモってませんでした。
 デスクトップを固定する方法でちょっと調べました。
 '==============================================================
 Declare Function LockWindowUpdate Lib "User32" (ByVal hwndLock As Long) As Long
 Declare Function GetDesktopWindow Lib "User32" () As Long
 '=====================================================================
 Sub sample()
 On Error Resume Next
 Dim retcode As Long
 retcode = LockWindowUpdate(GetDesktopWindow())
 ActiveSheet.PrintOut
 retcode = LockWindowUpdate(0)
 On Error GoTo 0
 End Sub
 
 
 調べついでに
 '===========================================================
 Declare Function LockWindowUpdate Lib "User32" (ByVal hwndLock As Long) As Long
 Declare Function GetActiveWindow Lib "User32" () As Long
 '============================================================
 Sub apiでScreenupdatong()
 On Error Resume Next
 Dim retcode As Long
 retcode = LockWindowUpdate(GetActiveWindow())
 For i = 1 To 20000
 Cells(i, 1).Value = i
 Next
 retcode = LockWindowUpdate(0)
 On Error GoTo 0
 End Sub
 
 とすると、Application.ScreenUpdating = True
 と同じ効果があることがわかりました。
 もっとも必要ないでけど・・・。
 
 ただ、VB等からExcel95を起動したりするときは、
 Application.Application.ScreenUpdating = True
 
 では駄目で上記のAPIを使用する事になるそうです。
 
 http://support.microsoft.com/default.aspx?scid=KB;JA;408072
 
 一応、↑この辺から探ってみたのでリンクしておきます。
 ichinoseのちょっとした考察でした。
 
 
 |  |