
ExcelのVBAを使って印刷するものによって給紙方法を変えたいと思っています。
調べてみたところ'SendKeysステートメントを使うと設定できそうだったので、下記のような命令文を作ってみたのですがうまく動きません。
どなたか詳しい方いらっしゃいましたら教えていただけないでしょうか?
OS:WindowsXP
使用ソフト:Microsoft Excel2003
使用プリンタ:NEC PR-2860N
【コマンドボタン】
本書印刷 → 印刷範囲:「一枚目」(あらかじめ設定してある名前)
給紙方法:自動
控え印刷 → 印刷範囲:「二枚目」
給紙方法:ホッパー2
Private Sub 控え印刷_Click()
With ActiveSheet.PageSetup
.PrintArea = "二枚目"
End With
MyPrinterSet
ActiveSheet.PrintOut
End Sub
――――――――――――――――――――――――――――――
Private Sub 本書印刷_Click()
With ActiveSheet.PageSetup
.PrintArea = "一枚目"
End With
MyPrinterSet2
ActiveSheet.PrintOut
End Sub
―――――――――――――――――――――――――――――――
Private Sub MyPrinterSet() 'SendKeysステートメントでプリンタ設定
'自動給紙から手差しへ変更
ActiveSheet.Select
SendKeys "%FU" 'Excel画面でファイル(F)、ページ設定...
SendKeys "%O" ‘オプション
SendKeys "{TAB 8}" ‘一番端の[メイン]のタブに合わせる
SendKeys "{RIGHT}" ‘一つ右の[用紙]タブへ移動
SendKeys "%S" ‘給紙方法選択
SendKeys "{DOWN 2}" 'ホッパー2に設定
SendKeys "{ENTER}"
SendKeys "{TAB 5}" ‘[用紙]タブを選択
SendKeys "{LEFT}" ‘一つ左の[メイン]タブへ移動
SendKeys "{ENTER 2}"
――――――――――――――――――――――――――――――
End Sub
Private Sub MyPrinterSet2() 'SendKeysステートメントでプリンタ設定
'例、EPSON LP-****を手差しから自動へ変更
ActiveSheet.Select
SendKeys "%FU" 'Excel画面でファイル(F)、ページ設定...
SendKeys "%O"
SendKeys "{TAB 4}" ‘初期値へ戻すを選ぶ
SendKeys "{ENTER 4}"
End Sub
――――――――――――――――――――――――――――――
No.2ベストアンサー
- 回答日時:
Sendkeysでやるなら、waitを入れないといけません。
設定画面を開くかどうかの判定を待たずにキー入力していまいます。
そして、待たされる時間というのはPCの能力や状態によって変わるものです。故に、不安定です。
画面が開くまでの間に
Application.wait Time:=now+TimeValue("00:00:01")
とかを間に入れてみてください。(間に合わなければ00:00:02とか)
1つのSendkeyも、
Sendkeys "XXX", True
とかにして調節してみてください。
こんな感じでうまいwait時間を見つけたとしても、やっぱり不安定なのは変わらないと思います。
私も作業軽減のためにSendkeysを使いますが、数回~数十回に一回は失敗します。それでも楽は楽なので使っていますがね。
おかげさまで何とかかんとか動くようにはなりました。
不安定に変わりはないんですね^^;
でもやっぱり便利なので使ってみたいと思います。
ご丁寧にありがとうございました。
No.1
- 回答日時:
SendKeysは不安定なので 止めといた方がいいです。
ぐだぐだとやるより コントロールパネルに 同じプリンタを追加して
そっちのデフォルト設定で 給紙を指定のものにしておけばいいのでは?
それなら プリンタを変更するマクロを作るだけで済みます。
この回答への補足
いちいち設定するのがめんどうだなあと簡単な気持ちでやってみたのですが、
ほんとにグダグダになってしまいどうしようかと思っていました。
その方法を先にやろうと思ったのですが、
会社のパソコンは共有して使っているので余計なのを増やすな
といわれてしまってできなかったのです。
もしかしてそれを何とかするほうが簡単なのでしょうか;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) Excelであるシートだけ印刷できない 1 2022/04/01 09:04
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
あなたなりのストレス発散方法を教えてください!
自分なりのストレス発散方法はありますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセルVBAで手差しトレイを指定させたい。
Excel(エクセル)
-
マクロでプリンタ、用紙、給紙先を指定するには?
Excel(エクセル)
-
エクセルVBAでプリンタプロパティを操作したい
Visual Basic(VBA)
-
-
4
VBでExcel印刷する時のプリンタトレイの選択方法について
Visual Basic(VBA)
-
5
Excelマクロで印刷設定
Visual Basic(VBA)
-
6
「プリンタの設定」ダイアログボックスのプリンタを指定したい。
その他(プログラミング・Web制作)
-
7
印刷設定の記憶
Excel(エクセル)
-
8
エクセルの印刷ダイアログをSendkeysで操作したい。
PowerPoint(パワーポイント)
-
9
【Excel VBA】プリンタのプロパティダイアログの表示
Excel(エクセル)
-
10
マクロで印刷時のポートについて
Access(アクセス)
-
11
VBAによる用紙サイズ変更(PrtDevMode)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
JW-CADで印刷すると線が太くなる
-
ソフト別に印刷設定を自動で変...
-
エクセルでB6サイズに印刷し...
-
Excelの表を二段で印刷したい
-
エクセルシート A3にしてもA4...
-
PDFのプリントアウトが重す...
-
パワーポイントの印刷が画面表...
-
EXCEL印刷設定で[両面印刷]が表...
-
エクセルでブックごとにプリン...
-
word印刷時に勝手に手差し印刷...
-
改ページプレビューで設定した...
-
wordの文章を印刷するのに、基...
-
CMYK表示の出来るフリーソフト...
-
特定のEXCELのファイルを印刷す...
-
作成したPDFファイルを自動表示...
-
「詳細な印刷機能を有効にする...
-
PDF書類をずらして印刷したい
-
Wordでの印刷で、白紙が省略さ...
-
横断幕をロール紙にプリントす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードやエクセルで印刷をデフ...
-
Excelの表を二段で印刷したい
-
JW-CADで印刷すると線が太くなる
-
エクセルシート A3にしてもA4...
-
エクセルでB6サイズに印刷し...
-
カラリオ年賀ver.3で完成した賀...
-
ソフト別に印刷設定を自動で変...
-
エクセルでブックごとにプリン...
-
作成したPDFファイルを自動表示...
-
word印刷時に勝手に手差し印刷...
-
PDFのプリントアウトが重す...
-
パワーポイントの印刷が画面表...
-
「詳細な印刷機能を有効にする...
-
改ページプレビューで設定した...
-
EXCEL印刷設定で[両面印刷]が表...
-
バーコードのサイズを小さくす...
-
PDFファイルを印刷するときにフ...
-
PDF書類をずらして印刷したい
-
Photoshopで両面印刷はできます...
-
CMYK表示の出来るフリーソフト...
おすすめ情報