
エクセルのマクロ処理でフォーム上のボタンから
印刷ダイアログを呼び出して、そのダイアログを
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)
-
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
【Excel VBA】プリンタのプロパティダイアログの表示
Excel(エクセル)
-
-
4
マクロでプリンタ、用紙、給紙先を指定するには?
Excel(エクセル)
-
5
エクセルのマクロで複数シートを両面印刷するには?
Excel(エクセル)
-
6
Excel VBAを使って給紙方法を変更する(キーストローク使用)
Excel(エクセル)
-
7
マクロを使って両面 部数設定をして印刷したい
Word(ワード)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
エクセルVBAでのネットワークプリンタのポー名の取得方法は?
Visual Basic(VBA)
-
10
エクセルでシート毎の両面印刷を自動で設定する方法
Excel(エクセル)
-
11
Application.Dialogs(xlDialogSaveAs)でキャンセルの取得
Access(アクセス)
-
12
EXCEL VBA 印刷プレビューダイアログのボタン操作を判定したい
Visual Basic(VBA)
-
13
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
-
14
マクロで印刷時のポートについて
Access(アクセス)
-
15
【sendkeysメソッドが動かずに苦慮しております】
Visual Basic(VBA)
-
16
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
17
エクセルVBAで手差しトレイを指定させたい。
Excel(エクセル)
-
18
VBAでの SendKeysの変数指定方法
Excel(エクセル)
-
19
PDFファイルを開き、印刷し、閉じるマクロ
Visual Basic(VBA)
-
20
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
Excelの表を二段で印刷したい
-
JW-CADで印刷すると線が太くなる
-
ソフト別に印刷設定を自動で変...
-
作成したPDFファイルを自動表示...
-
エクセルシート A3にしてもA4...
-
エクセルでB6サイズに印刷し...
-
PDFのプリントアウトが重す...
-
パワーポイントの印刷が画面表...
-
word印刷時に勝手に手差し印刷...
-
エクセルでブックごとにプリン...
-
たくさんのファイルを一度に印...
-
PDFファイルを印刷するときにフ...
-
Wordでの印刷で、白紙が省略さ...
-
Accessの印刷設定を白黒に固定...
-
【緊急】複数のExcelファイルを...
-
黒白印刷
-
プリンターの「お気に入り」設...
-
エクセルで複数のシートを同じ...
-
PDF書類をずらして印刷したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
JW-CADで印刷すると線が太くなる
-
Excelの表を二段で印刷したい
-
ソフト別に印刷設定を自動で変...
-
エクセルシート A3にしてもA4...
-
作成したPDFファイルを自動表示...
-
エクセルでB6サイズに印刷し...
-
PDFのプリントアウトが重す...
-
word印刷時に勝手に手差し印刷...
-
エクセルでブックごとにプリン...
-
「詳細な印刷機能を有効にする...
-
PDFファイルを印刷するときにフ...
-
EXCEL印刷設定で[両面印刷]が表...
-
パワーポイントの印刷が画面表...
-
PDF書類をずらして印刷したい
-
バーコードのサイズを小さくす...
-
A3, A4サイズが混在したファイ...
-
Photoshopで両面印刷はできます...
-
【Excel VBA】プリンタのプロパ...
-
ワード A4サイズで作成した...
おすすめ情報