エクセルのマクロ処理でフォーム上のボタンから
印刷ダイアログを呼び出して、そのダイアログを
Sendkeysでもって両面印刷設定にし印刷させると
いう処理を行いたいのですが上手くいきません。
印刷ダイアログが表示された段階で止まり(エラーで
止まるわけではなく単に処理が止まる)、その先の
Sendkeysによる命令へ進みません。
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogPrint).Show
SendKeys "%r", True
SendKeys "%k", True
SendKeys "^{tab}", True
SendKeys "^{tab}", True
SendKeys "^{tab}", True
SendKeys "%r", True
SendKeys "{enter}", True
SendKeys "+{tab}", True
SendKeys "+{tab}", True
SendKeys "+{tab}", True
SendKeys "+{tab}", True
SendKeys "{enter}", True
SendKeys "+{tab}", True
SendKeys "+{tab}", True
SendKeys "+{tab}", True
SendKeys "{enter}", True
End Sub
よくSendKeysは環境によって誤作動などが起こるので
使わない方がいいと言われますが、一度どのように
動くのか試してみたいと思っています。
ちなみに上のコードは当方のプリンタでの設定手順となります。
SendKeysで印刷ダイアログにキーを送ることは
できないのでしょうか?
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
単純な
Sub test()
Application.Dialogs(xlDialogPrint).Show
MsgBox ("Done!")
End Sub
というマクロを作って試してみましたが、印刷ダイアログを閉じない限り、メッセージボックスが現れないです。
と言うことは、印刷ダイアログを出した時点でマクロはそこで止まってしまい、その後の命令はダイアログが閉じないと実行されないということだと思うので、SendKeysは印刷ダイアログには送られないのでしょう。
他に方法がないか検索してみたのですが、
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr; …
によると、
「EXCEL VBAからプリンタの設定を操作するのは、かなり困難なようです。」
らしいです。
試作までして頂き有難うございました。
この手の質問はネット上でも山ほどあるのですが
やはりエクセルから直接設定を調整するには
かなりの知識が必要なようです。
フリーランスの他プログラムを用いて同様の
処理を行うやり方なども見つけたのですが、
複数の人間がそれぞれ異なるパソコンで
使うファイルの為、エクセルのみで完結させることが
前提でしたので、この方法は仕方なく諦めることに
しました。
解決とまでは言えませんが、印刷ダイアログ表示前に
両面設定にする旨のメッセージを表示させることで
対処した次第です。
また何かありましたら宜しくお願いします。
No.2
- 回答日時:
こんばんは。
Sendkeys の代わりに、UWSCを使えば出来るのでは?
Application.Dialogs で、ダイアログを出したら、後は、
UWSC のスクリプトを作っておいて、
Shell で、このUWSC.EXE を呼び出して、プリンタの設定させればよいと思います。
http://www.h7.dion.ne.jp/~umiumi/
当方でもフリーランスの他プログラムを用いて同様の
処理を行うやり方などを見つけたのですが、
複数の人間がそれぞれ異なるパソコンで
使うファイルの為、エクセルのみで完結させることが
前提でしたので、この方法は仕方なく諦めることに
しました。
解決とまでは言えませんが、印刷ダイアログ表示前に
両面設定にする旨のメッセージを表示させることで
対処した次第です。
また何かありましたら宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) vba sendKeysを送る相手のソフトを前面に開くには 1 2023/07/20 16:42
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/04 14:20
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
エクセルVBAでプリンタプロパティを操作したい
Visual Basic(VBA)
-
【Excel VBA】プリンタのプロパティダイアログの表示
Excel(エクセル)
-
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
-
4
印刷ダイアログの印刷ボタンを押す方法?
Visual Basic(VBA)
-
5
エクセルのマクロで複数シートを両面印刷するには?
Excel(エクセル)
-
6
エクセルでシート毎の両面印刷を自動で設定する方法
Excel(エクセル)
-
7
エクセルvbaでdocuworksprinterの出力先を設定
Visual Basic(VBA)
-
8
「プリンタの設定」ダイアログボックスのプリンタを指定したい。
その他(プログラミング・Web制作)
-
9
Excel VBAを使って給紙方法を変更する(キーストローク使用)
Excel(エクセル)
-
10
EXCEL/VBA 変数の値をクリップボードにコピーする方法
Visual Basic(VBA)
-
11
マクロを使って両面 部数設定をして印刷したい
Word(ワード)
-
12
マクロでプリンタ、用紙、給紙先を指定するには?
Excel(エクセル)
-
13
Excel VBAでPDFファイルをMicrosoft Print to PDFで出力したい
Visual Basic(VBA)
-
14
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
15
VBscriptでPDFファイルを直接印刷できるようにするためには?
Microsoft ASP
-
16
ダウンロードダイアログをVBAから操作するには?
Visual Basic(VBA)
-
17
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
18
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
19
ListBoxで改行したい
Visual Basic(VBA)
-
20
EXCEL VBAでプリンタの設定方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
エクセルシート A3にしてもA4...
-
Excelの表を二段で印刷したい
-
JW-CADで印刷すると線が太くなる
-
PDF書類をずらして印刷したい
-
エクセルでB6サイズに印刷し...
-
作成したPDFファイルを自動表示...
-
PDFのプリントアウトが重す...
-
パワーポイントの印刷が画面表...
-
エクセルでブックごとにプリン...
-
角2封筒の印刷方法
-
PDFでの印刷余白
-
PDFファイルを印刷するときにフ...
-
EXCEL 印刷設定を保存する方法
-
ソフト別に印刷設定を自動で変...
-
ワード A4サイズで作成した...
-
エクセルでシート毎の両面印刷...
-
ワードで、10センチの長さの...
-
A3, A4サイズが混在したファイ...
-
WORDでページ設定がB5のもの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
エクセルシート A3にしてもA4...
-
Excelの表を二段で印刷したい
-
JW-CADで印刷すると線が太くなる
-
エクセルでB6サイズに印刷し...
-
作成したPDFファイルを自動表示...
-
PDFのプリントアウトが重す...
-
PDFファイルを作成すると四角い...
-
パワーポイントの印刷が画面表...
-
ソフト別に印刷設定を自動で変...
-
角2封筒の印刷方法
-
A3, A4サイズが混在したファイ...
-
エクセルでブックごとにプリン...
-
PDFファイルを印刷するときにフ...
-
word印刷時に勝手に手差し印刷...
-
EXCEL印刷設定で[両面印刷]が表...
-
PDFでの印刷余白
-
文字の濃度を薄く印刷したい
-
PDF書類をずらして印刷したい
-
Wordでの印刷で、白紙が省略さ...
おすすめ情報