|
▼アズキマン さん:
こんばんは。
>『エクセルの印刷中ダイアログ
>("現在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のちょっとした考察でした。
|
|