- ベストアンサー
VBAで印刷時各シートをページに変換
- エクセルのVBAで、(1)csvファイルを読み込みシート1に展開し、(2)シート1のデータをシート2に埋め込みグラフを作成し、(3)シート3にシート2の部分的に拡大した埋め込みグラフを作成し、(4)シート4に運転時の各設定値を表作成し、(5)シート2から4までを選択したプリンタで印刷する方法について教えてください。
- VBA初心者ですが、エクセルのVBAで(1)csvファイルを読み込みシート1に展開し、(2)シート1のデータをシート2に埋め込みグラフを作成し、(3)シート3にシート2の部分的に拡大した埋め込みグラフを作成し、(4)シート4に運転時の各設定値を表作成し、(5)シート2から4までを選択したプリンタで両面印刷する方法が分かりません。情報を教えていただけますか?
- VBAを使用して、エクセルの(1)csvファイルを読み込みシート1に展開し、(2)シート1のデータをシート2に埋め込みグラフを作成し、(3)シート3にシート2の部分的に拡大した埋め込みグラフを作成し、(4)シート4に運転時の各設定値を表作成し、(5)シート2から4までを選択したプリンタで印刷する方法が知りたいです。初心者ですので、分かりやすく教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Windowsメニューから...の説明がよくわかりません。 基本的な設定自体は【手作業】でやってください、という事です。 プリンタの両面印刷はプリンタに依存する機能です。 ExcelのBookやSheetに対して設定を変更したりするものではありません。 ExcelVBAだけではできません。 >できれば、そのVBAリストを載せてもらえばありがたいのですが。 http://support.microsoft.com/kb/828638/ja こちらの記事内容が理解できれば、かつ、プリンタが対応できれば Sub test() Const PRT = "LP-M5500" 'プリンタのDeviceIDがこれだと仮定して SetPrinterDuplex PRT, 2 Sheets(Array("Sheet1", "Sheet2")).PrintOut ActivePrinter:=PRT End Sub こんな感じで可能ですが。 難しければ、事前準備として【手作業】で Windowsスタートメニューからの[設定]-[コントロールパネル]-[プリンタとFAX]。 WindowsOS自体のプリンタ設定を行います。 例えば"LP-M5500"というプリンタで印刷したいとして、 この"LP-M5500"をもう1つ別名で追加登録して、両面印刷をデフォルトに設定します。 これを"LP-M5500両面"という名前で登録したとしたら、 印刷時のVBAは Sheets(Array("Sheet1", "Sheet2")).PrintOut ActivePrinter:="LP-M5500両面" これで両面印刷できます。
その他の回答 (1)
- end-u
- ベストアンサー率79% (496/625)
Excelの印刷メニューではなく、Windowsメニューから 両面印刷したいプリンタのプロパティを開き、両面印刷の設定をしてください。 (プリンタのデフォルト設定にする) その後、Excel側で一旦別のプリンタに切り替えた後、 再度、両面印刷設定したプリンタを選択して印刷すれば、できると思います。 必要であれば、そのプリンタを別名で追加登録して、 デフォルト設定を片面|両面の2通りに分ける事で 片面|両面印刷に関するVBAでの切替が比較的簡単にできます。 >シート2,3はグラフなので用紙いっぱいに印刷したい。 こちらは印刷時の用紙の大きさ以上にワークシート上に拡大配置するようにして、 [ページ設定]で「..ページ数に合わせて印刷」設定を選ぶと良いです。
お礼
ご回答ありがとうございます。 Windowsメニューから...の説明がよくわかりません。 できれば、そのVBAリストを載せてもらえばありがたいのですが。 よろしくお願いします。
お礼
早速のご回答すみません。 なにせ、vba等のプログラムはあまりくわしくなくて... とりあえず、明日会社で手作業の手順で試してみます。 結果はおってご報告します。 ありがとう御座いました。 以上