• ベストアンサー

VBAで印刷設定

皆さん力を貸してください! あるフォルダに複数エクセルファイルがあり、そのファイルにはまたまた複数シートがあります。 そのフォルダの全エクセルファイルの全シートに印刷設定をしたいと考えています。どのように作ったらいいでしょうか?設定は"次のページ数に合わせて印刷 横×1  縦×1"にしたいです。 ヒントでも回答でもいいので宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

私は家にExcelを持っていないので記憶だけを頼りに書くことになるが・・・・ Dim bok As Excel.Workbook Dim sht As Excel.Worksheet For Each bok In Application.Workbooks For Each sht In bok.Worksheets sht.PrinterSettings.なんとかFitToWidth? = 1 ←この辺あやふや Next Next とかすれば、現在開かれている全てのブックの全てのシートに対して繰り返し同じ操作を行える。ExcelVBAのヘルプがあれば(ExcelのCD-ROMがあればインストールできる)Excel.WorkbookオブジェクトとExcel.WorksheetオブジェクトとPrinterSettingだかなんだったかというExcel.Worksheetオブジェクトのプロパティーを探してみればよいでしょう。  Excel VBAのコードを書く場面(ExcelでAlt+F11を押すと出てくる)でF2キーを押すとExcel.Worksheetオブジェクトが持っているプロパティーやメソッドの一覧が出てきます。  それか単純にExcelでセキュリティーだかマクロだかのメニューから「新しいマクロの記録」でシートに対して1x1で印刷する設定を普通にExcel上で行ってマクロの記録を停止させるとVBAのプログラムが自動でできあがるのでそれを整形するという手もあります。