SHOJI's Code
 仕事や趣味で書いた各種言語のプログラミングコード(エクセルVBA,PHP,C/C++/C#,JavaScript等)、その他雑記。
2017.10<<123456789101112131415161718192021222324252627282930>>2017.12
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

仕事で帳票用のEXCELファイルを作成した。Workbook_Openで必要なCSVを開き、シートに展開し、印刷プレビューを表示する、というものだ。
で、実機は警告なしにマクロが実行されるよう、セキュリティが低く設定してある。
そうすると、そのEXCELファイルを編集しようと開いても、自動的にマクロが実行させてしまう。

それは、都合が悪い・・・。

ということで、
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal virkey As Long) As Long

'起動時の処理
Private Sub Workbook_Open()
If GetAsyncKeyState(&H10) <> 0 Then Exit Sub

Application.WindowState = xlMaximized
Call ReadCSV
REP.PrintPreview

If GetAsyncKeyState(&H10) <> 0 Then Exit Sub
ThisWorkbook.Saved = True
Application.Quit
End Sub


単純に現在シフトキーが押されているか調べて、押されていたらExit Subを実行し、抜けてしまうという単純なもの。

テーマ:Excel - ジャンル:コンピュータ
コメント
この記事へのコメント
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。