- ベストアンサー
エクセルで特定ファイルをドットプリンタで出力する方法
- エクセルファイル毎にプリンタを設定することは可能か?特定ファイルをドットプリンタで出力する方法
- 複数のエクセルファイルを立ち上げたまま、特定ファイルをドットプリンタで出力する際に、他のファイルのプリンタ設定が変わらない方法
- マクロでドットプリンタで出力後にプリンタをレーザープリンタに設定する方法
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
使用するプリンタの選択はエクセルアプリケーションの設定で,ブックには保存できません。 ご質問の通り,ふつーにエクセルでブックを開くと標準のプリンタでまずは印刷する設定になります。 というワケでマクロの中でプリンタを変更してから印刷するわけですが, >社内の別PCで実行してみるとエラーが出てしまいます。 ActivePrinter = "ネットワークプリンタ名 on NExx:" の類の命令を書いて行う事ができます。ところが問題は,この最後NExxの数字がパソコンによってバラバラに違うことです。 ただ今回のご質問は「ドットプリンタで出力後にプリンタの設定を元に戻す」なので,割と単純に sub sample1() dim s s = application.activeprinter activeprinter = "ドットプリンタ on LPT1" ’とかなんとか activeworkbook.printout 'ドットプリンタでとりあえず印刷 application.activeprinter = s end sub てな具合に,ドットプリンタで印刷後に元に戻してやれば十分かと思われます。 #もう一つ次のステップのマクロの組み方として,ドットプリンタで印刷する必要があるブックに「workbook_beforeprint」イベントプロシジャを組み込み,そこで上述のようなマクロを仕込んで印刷後即座に元のプリンタに自動で戻してしまうような方法も考えられます。 「印刷するマクロ」を意識せず,ただ印刷するだけで一連の処理が行えます。 イベントプロシジャの書き方作り方についてはVBAのヘルプにも十分説明がありますし,時間のあるときにもでもworkbook_beforeprintでちょこっとぐぐってみると沢山資料はヒットしますので確認してみてください。 #余談ですがご自分で書いたマクロがエラーを出して動かないときは ●実際にエラーを出したそのマクロの記述 ●その時に実際にどこの行でどんなエラーが起きたのか といった具体的な症状を手抜きせずにご相談に書いて投稿してみると,問題の所在やより具体的な解決策もすぐによせられますよ。
お礼
回答ありがとうございました! 今後質問する際は、もっと詳細に書くようにします。 ありがとうございました。