
エクセルのマクロ処理でフォーム上のボタンから
印刷ダイアログを呼び出して、そのダイアログを
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も見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
エクセルVBAでプリンタプロパティを操作したい
Visual Basic(VBA)
-
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
【Excel VBA】プリンタのプロパティダイアログの表示
Excel(エクセル)
-
-
4
エクセルのマクロで複数シートを両面印刷するには?
Excel(エクセル)
-
5
エクセルでシート毎の両面印刷を自動で設定する方法
Excel(エクセル)
-
6
マクロでプリンタ、用紙、給紙先を指定するには?
Excel(エクセル)
-
7
マクロを使って両面 部数設定をして印刷したい
Word(ワード)
-
8
Application.Dialogs(xlDialogSaveAs)でキャンセルの取得
Access(アクセス)
-
9
「プリンタの設定」ダイアログボックスのプリンタを指定したい。
その他(プログラミング・Web制作)
-
10
Excel VBAを使って給紙方法を変更する(キーストローク使用)
Excel(エクセル)
-
11
エクセルVBAで手差しトレイを指定させたい。
Excel(エクセル)
-
12
PDFファイルを開き、印刷し、閉じるマクロ
Visual Basic(VBA)
-
13
EXCEL VBAでPDFファイルを開いて印刷
Visual Basic(VBA)
-
14
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
15
エクセルVBAでのネットワークプリンタのポー名の取得方法は?
Visual Basic(VBA)
-
16
【sendkeysメソッドが動かずに苦慮しております】
Visual Basic(VBA)
-
17
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
18
エクセルVBAにて nアップ印刷と部数を指定する 方法をお教えください
Excel(エクセル)
-
19
マクロで印刷時のポートについて
Access(アクセス)
-
20
印刷ダイアログの印刷ボタンを押す方法?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
JW-CADで印刷すると線が太くなる
-
エクセルでB6サイズに印刷し...
-
Excelの表を二段で印刷したい
-
ソフト別に印刷設定を自動で変...
-
エクセルシート A3にしてもA4...
-
作成したPDFファイルを自動表示...
-
パワーポイントの印刷が画面表...
-
PDFのプリントアウトが重す...
-
エクセルでブックごとにプリン...
-
ワードで文書A4サイズ2枚をA3...
-
バーコードのサイズを小さくす...
-
ワード A4サイズで作成した...
-
Illustrator CS2で長尺印刷した...
-
PDF書類をずらして印刷したい
-
EXCEL VBAでプリンタの設定方法...
-
Wordでの印刷で、白紙が省略さ...
-
CMYK表示の出来るフリーソフト...
-
PDFでの印刷余白
-
wordの文章を印刷するのに、基...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
Excelの表を二段で印刷したい
-
JW-CADで印刷すると線が太くなる
-
エクセルシート A3にしてもA4...
-
エクセルでB6サイズに印刷し...
-
カラリオ年賀ver.3で完成した賀...
-
ソフト別に印刷設定を自動で変...
-
エクセルでブックごとにプリン...
-
作成したPDFファイルを自動表示...
-
word印刷時に勝手に手差し印刷...
-
PDFのプリントアウトが重す...
-
パワーポイントの印刷が画面表...
-
「詳細な印刷機能を有効にする...
-
改ページプレビューで設定した...
-
EXCEL印刷設定で[両面印刷]が表...
-
バーコードのサイズを小さくす...
-
PDFファイルを印刷するときにフ...
-
PDF書類をずらして印刷したい
-
Photoshopで両面印刷はできます...
-
CMYK表示の出来るフリーソフト...
おすすめ情報