• ベストアンサー

【Excel VBA】プリンタのプロパティダイアログの表示

Excel2003を使用しています。 あるシートのページ設定等をマクロの記録をとって、コードを書きました。 ページ設定が済んだら、プリンタのプロパティダイアログを表示させたいのですが、ここまでをマクロで処理することは可能でしょうか? このシートを印刷するときは、A3用紙(横)1枚にA4(縦)で作成されているデータを2ページ印刷(2ページを1ページに集約印刷)したいので、ページ設定が済んだら、プリンタのオプション設定を忘れないよう、プリンタのプロパティダイアログが自動で表示されるようにできないかと思い、質問させていただきました。 私個人が印刷する際は、ここまで必要ないのですが、会社の年配の方が上記の設定で印刷するのに、わからない(覚えきれない)というので、何か良い方法はないかと考えているところでして…(^_^;) この点に関しても、アドバイスをいただけると嬉しいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

Keyストロークを送る SendKeysステートメントというのがあります。 実行時の状況によっては今ひとつ確実性に欠けますが、 安易に考えるなら Sub Macro1()   SendKeys "%o"   Application.Dialogs(xlDialogPageSetup).Show End Sub ...こんなコードで良いかもしれません。

rx-z5815
質問者

お礼

回答ありがとうございます。 教えていただいたコードで試してみたところ、希望通りのことができました。 今回の場合、これで対応可能なようです。 > Keyストロークを送る SendKeysステートメント Sendkeysステートメントを知りませんでしたので、数行のコードで実現できて少々驚きましたが、勉強になりました。 ありがとうございました。

その他の回答 (1)

  • sekkii
  • ベストアンサー率50% (13/26)
回答No.2

私が以前活用させて頂いたサイトをお教えします。 お役に立てれば幸いです。       ↓

参考URL:
http://www.excel7.com/personal/vba_shiryou1.htm
rx-z5815
質問者

お礼

アドバイスありがとうございます。 教えていただいたサイトを拝見しましたが、こんなにたくさんあるのか!と、そっちのほうに驚いてしまいました(^^ゞ VBA勉強中の私にとっては、参考になります。 今後も活用させていただこうと思っています。 ありがとうございました。

関連するQ&A

  • VB2008(印刷ダイアログ)上でExcel印刷

    現在VB2008でExcel操作(COM参照使用)をしているのですが、 Excelシートを印刷する際にVB2008にある印刷ダイアログにて プリンタを設定後そのシートを印刷することは可能ですか? 現在はExcelVBAの起動時マクロでプリンタ設定しているのですがプリンタの中にはネットワークプリンタもあり、しばしばプリンタ名(後ろのNe:○○の番号が可変)が変わりそのたびにコードを書き変えています また複数台プリンタがあり通常使うプリンタがラベルプリンタなのでA4紙データを印刷するととんでもないことになるので(汗) そのためVB2008上でダイアログからプリンタを選んで印刷できればいいなと考えています ご教授お願いします。

  • エクセルVBAで、プリンタ名とプロパティを指定したい

    Excel97を使用しています。 用紙サイズ:A4縦の書類を2ページ作成しました。書類は縦並びになっています。 これをエクセルVBAを使って、A4の用紙に両面印刷するか、A3横の用紙に割付印刷したいのですが方法はありますでしょうか? エクセルのページ設定でA3横にして横並びで作成しようとしたのですが、行の高さがページ毎で異なっていますので、横並びでは作成できませんでした。 ワークシート上にボタンを作成しましたので、それをクリックするだけで、特定のプリンタ名を指定し、そのプリンタのプロパティで両面もしくは割付印刷を設定して印刷させたいのです。 ご存知の方、どうぞよろしくお願いいたします。

  • Excel5.0ダイアログって?

    Excelのsheet1というところで右クリック→挿入を選ぶと 「ワークシート」「グラフ」「Excel4.0マクロ」「Excel5.0ダイアログ」という選択肢があります。 通常はワークシートしか選ばなく、ふと気になったのですが「Excel5.0ダイアログ」の使い道をわかりやすく教えていただけませんか?

  • MS-EXCEL VBA (マクロ) の書き方

    エクセルの複数シートのデータを両面印刷可能なプリンターで、両面印刷するためのマクロを書きたいのですが、どうしてもうまく行きません。 シート名は、1,2,3,4 と4シートで、それぞれのシートにA4用紙1枚分のデータがあり、それが印刷範囲に指定されています。それら4枚分の印刷範囲を、1枚のA4用紙に、2ページを1ページに圧縮+両面印刷 で印刷したいのですがどうしてもうまく行きません。(プリンターのプロパティ設定はマクロ実行前にSheet1で行っているのですが。) どなたかお分かりになる方、お手数ですがご教授願えませんでしょうか。 補足:ちなみに、4ページ分を1ページに印刷して、片面での印刷は以下のマクロで出来ています。 Sheets(Array("1", "2","3","4")).Select Sheets("1").Activate 'この時Sheet1で、プリンターのプロパティで、4ページを1ページに印刷を選択してある。 ActiveWindow.SelectedSheets.PrintOut Copies:=1 よろしくお願いします。 ちなみにプリンターは事務所のネットプリンターで、TOSHIBA e-STUDIO4520CSeriesPCL6 です。

  • EXCEL2000 マクロダイアログボックス

    よろしくお願いします。 先日EXCEL2000にてツール→マクロ→新しいマクロの記録からマクロを作成しました。その作っているときに表示されていたはずの”相対参照ボタンや記録終了”のダイアログボックス「みたいものがあると思います…」が、先日思わず×を押して閉じてしまいました。 それからです、ツール→マクロ→新しいマクロを開いても、もう二度と出てこなくなりました。 さていったいこのツールはどこへ行ったのでしょうか? どこかを押せば出てくるとは思うのですが、分かりません。 ひとつアドバイスをよろしくお願いいたします。

  • EXCEL2000の特定のファイルが横向きに印刷できない

    マクロが入っているのが,原因とは考えにくいですが, ページ設定やプリンタのプロパティで印刷の向きを横にしても印刷が縦で出てきてしまう。プレビューも縦。。 なぜ??でも,横向きに設定した新規のシートをプレビューすると,ちゃんと横向きに見える。。その特定のシートをいったんコピーして,コピーしたファイル名を変更して,その変更したファイルを同様に横向きに設定してプレビューや印刷をかけたところ,それは問題なく印刷できた。名前が変わっただけで,中身は一緒なので,ひとまずそれを使うということにしたが,原因がわからない。。 わかりますか???教えてください!

  • プリンターのプロパティ

    カラリオ EP-982A3です。印刷プロパティで基本設定、ページ設定の項目がでなくて レイアウト、用紙/品質しかでません。以前のプリンターのプロパティでは出ていたのにどうしてですか。改善できませんか ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • 【Excel VBA】図の印刷有無の設定

    Excel2003を使用しています。 あるシートに数10ページ分の同じ書式があり、それぞれ同じ位置に『図 68』が貼り付けてあります。 これを2部印刷するのですが、1部は『図 68』を印刷せず、もう1部は『図 68』も印刷します。 この『図 68』の印刷の有無の設定をマクロで処理したく、マクロの記録を元に下記のようにコードを書いて試してみたところ、1ページ目の『図 68』にしか印刷の設定ができていませんでした。 『図 68』は、2ページ目以降は1ページ目の図をコピペしたもので、名前は全部同じように表示されていますが、実際のところ(?)それぞれ名前が違うのでしょうか? 図の設定に関するマクロは初めてのこともあり、よくわかりません。どのようにしたら、うまく設定できるでしょうか? よろしくお願いします。 ---------------------------------------- Sub Macro1()  ActiveSheet.Shapes("図 68").Select   With Selection    .Placement = xlMove    .PrintObject = False   End With End Sub ----------------------------------------

  • 【Excel VBA】印刷について

    Excel2003を使用しています。 不要ページをスキップして印刷するマクロを作成し、特定のBookでのみ使用しているのですが、このBookを印刷するときはカラー印刷を指定したいので、この印刷マクロの中でカラー印刷を指定できたらと思っているのですが、このようなことは可能でしょうか?可能であれば、どのように記述すればいいでしょうか? ページ設定のマクロの記録をとったところ、下記のように(不要と思われる設定は削除しました)記述されていました。 [BlackAndWhite = False]という部分がカラー印刷に関するコード?かと思い、追加してみたのですが、カラー印刷されませんでした。 With ActiveSheet.PageSetup .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 98 .PrintErrors = xlPrintErrorsDisplayed End With よろしくお願いします。

  • EXCELのダイアログシートって、なんですか?

    EXCELで、シート見出しの上で右クリックすると、挿入や削除のショートカットメニューが出てきますよね。 そこで、挿入を選択すると標準で、『ワークシート』『グラフ』『EXCEL4.0マクロ』『MS EXCEL5.0ダイアログ』というのが出てきます。 『ワークシート』はワークシートですよね。『グラフ』も、グラフシートと言うことで、すぐにグラフを作成する画面に移行します。 しかし、『EXCEL4.0マクロ』『MS EXCEL5.0ダイアログ』に関してはいまいち使用用途が分かりません。 エクセル上で、マクロを作成したり、そのマクロを登録するコントロールを作成するもの、って言うカンジで受け取ればいいのでしょうか? でも、結局マクロとかは記録作業を行わなければ意味ないですよね? ご存知の方がいらっしゃったら、ぜひ教えてください。

専門家に質問してみよう