エクセルのマクロで「ThisWorkbook」に
Private Sub Workbook_BeforePrint(cancel As Boolean)イベントを
記載しています。
エクセルの印刷ボタンやプレビューでは、上記イベントが実行されますが、マクロモジュール内のPrintやPrintPreviewの前には、実行されません。マクロの実行過程をステップインで追ってみると、PrintやPrintPreviewの前にPrivate Sub を読みにいくようなのですが実行はされないようで、非常に困っております。
どなたか詳しい方ご教授お願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは。
>ActiveWindow.SelectedSheets.PrintPreview
ここのActiveWindow.SelectedSheets は、ひとつのシートだと思いますが、その現象は確認できました。複数のシートですと、解決方法は違いますが、このようにして、解決方法はひとつにまとめてしまえばよいとは思います。
'-------------------------------------------
ActiveSheet.PageSetup.LeftFooter = "&14&""Arial""NO." & Format(Now(), "0.000")
ActiveSheet.PrintPreview
'-------------------------------------------
ActiveSheet.PageSetUpが呼び出されていないようです。PageSetUpは、オブジェクトですが、イベントからでは、PageSetUpオブジェクトを確保せずに抜けてしまうようです。なぜでしょうね。他にも、Workbook イベントには、他のマクロが無視されてしまうというような現象があるようですが、私は、良い説明が出来ません。仕様としか言いようがありません。
ご回答ありがとうこざいます。
ご指摘のように各々のマクロモジュールにヘッダー設定の一文を入れて対処しておりました。
Private Subは他のモジュールから参照できないとのことなので、「ThisWorkbook」のPrivate Subは、エクセルを直接操作する場合に動作するのではないか、という結論に達しました。
いろいろと教えていただき参考になりました。ありがとうございました。
No.1
- 回答日時:
こんにちは。
試してみましたが、「実行されない」という再現性が得られませんので、コードを出していただいたほうがよいですね。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
というものは、ActiveSheet を対象としていますから、その食い違いがあるのではないかと思います。
この回答への補足
Wendy02様
早速のご回答ありがとうござます。
コードは以下のとおりです。
「ThisWorkbook」
Private Sub Workbook_BeforePrint(cancel As Boolean)
ActiveSheet.PageSetup.LeftFooter = "&14&""Arial""NO." & Format(Now(), "0.000")
End Sub
「Module1」
Sub Macro1()
ActiveWindow.SelectedSheets.PrintPreview
End Sub
Private Subは、現在の日付を小数点3位までのシリアル値にして印刷前に左フッターにセットするものです。(表示例.「No.40110.571」)
エクセルツールバーの印刷ボタン、プレビューボタン、メニューから操作すると現在のシリアル値が表示されますが、
Module1のマクロにより印刷プレビューをすると表示されません。(事前に印刷ボタン等でフッターにセットされている場合は、現在に更新されません。)
以上のような状況です。
ご教授よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Excel VBA の印刷後の判定
Excel(エクセル)
-
エクセル2010でのBeforePrintイベント
その他(Microsoft Office)
-
EXCEL VBA BeforePrintイベント時のプレビューについて
Excel(エクセル)
-
-
4
マクロを使って、シート印刷完了時にシートに”完了”マークをつけたいのですが
Visual Basic(VBA)
-
5
UserForm1.Showでエラーになります。
工学
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
Excelを開いた時に表示さ...
-
マクロ 実行ボタンを押さずに...
-
Wordで「原稿用紙○枚」を換算す...
-
ワードで画像を自動で挿入する方法
-
EXCELのセルへ、デジタル時計を...
-
【エクセル】 キーを押すと、...
-
エクセルのマクロボタンがどん...
-
PowerPointでクリックしたオブ...
-
【Excel VBA】エラー番号400
-
TeraTermのマクロについて
-
EXCEL 複数のシートの同一の位...
-
エクセルでプルダウンとボタン...
-
マクロボタンを作ってのマクロ...
-
エクセルマクロについて
-
Excelで行の挿入を繰り返し行う
-
Excelマクロでオプションボタン...
-
マクロ→形式を選択して貼り付け...
-
エクセルVBA テキスト読み込み...
-
EXCEL 異なるファイルに複写...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
エクセル グラフの軸の最小値最...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
Wordの画面を左右にスクロール...
-
モジュール内のマクロを全て実...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelの改ページ 同シート内で...
-
EXCEL 複数のシートの同一の位...
-
Accessのクエリを実行するショ...
-
エクセルで複数のシートをまと...
-
Excelマクロでオプションボタン...
-
【Excel VBA】エラー番号400
-
《エクセル2000》非表示になっ...
おすすめ情報