Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12008 / 13645 ツリー ←次へ | 前へ→

【12789】印刷時のダイアログを消したい アズキマン 04/4/14(水) 22:19 質問
【12817】Re:印刷時のダイアログを消したい ichinose 04/4/16(金) 0:40 回答
【12887】Re:印刷時のダイアログを消したい アズキマン 04/4/18(日) 17:27 お礼

【12789】印刷時のダイアログを消したい
質問  アズキマン  - 04/4/14(水) 22:19 -

引用なし
パスワード
   『エクセルの印刷中ダイアログ
("現在1/1ページを印刷中"というやつ)
を消す(非表示にする)方法ってありますか?
画面上に出なければ、なんでもいいです。』

上記は2003-2-26の質問ですが、回答した方の参考URLが
「該当トピックは存在しないか公開期間を過ぎて閲覧
ができません」となっていまして・・・。

あらためて、どなたかご存知の方がおられましたら、
ぜひ教えて下さい。
よろしくお願いします。

【12817】Re:印刷時のダイアログを消したい
回答  ichinose  - 04/4/16(金) 0:40 -

引用なし
パスワード
   ▼アズキマン さん:
こんばんは。

>『エクセルの印刷中ダイアログ
>("現在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のちょっとした考察でした。

【12887】Re:印刷時のダイアログを消したい
お礼  アズキマン  - 04/4/18(日) 17:27 -

引用なし
パスワード
   わざわざ有難うございます。
何分素人なもんで・・・・。
頑張って勉強します。

12008 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free