Excelマクロ覚書 ~印刷編~
図書館で借りてきた某書籍の覚書です。
にゃ~ん。
- 【印刷プレビューする】
- 【余白を設定する】
- 【印刷位置を設定する】
- 【指定した枚数分印刷する】
- 【ヘッダー・フッターの設定をする】
- 【印刷物にロゴを印刷する】
- 【印刷範囲の設定をする】
- 【行タイトル・列タイトルを設定する】
- 【セルの行列番号を印刷する】
【印刷プレビューする】
ブックを印刷プレビューするにはPrintOutメソッドを使う。
ActiveSheetプロパティ.PrintOut Preview = True / False
※設定できる値
True | :印刷プレビューする |
False | :印刷プレビューしない |
ActiveSheet.PrintOut Preview = True '印刷プレビューを表示する'
【余白を設定する】
ページレイアウトを設定するにはPageSetupプロパティを使う。
TopMarginプロパティなどを使うことで、余白が設定できる。
Worksheetsプロパティ.PageSetup.TopMargin = 値
Worksheetsプロパティ.PageSetup.BottomMargin = 値
Worksheetsプロパティ.PageSetup.LeftMargin = 値
Worksheetsプロパティ.PageSetup.RightMargin = 値
Worksheets("2019年").PageSetup = 5 '5ポイントの余白を設定する'
余白はセンチメートル単位でも設定できる。
その場合はCentimetersToPointsメソッドを使う。
Applicationプロパティ.CentimetersToPoints(数値)
【印刷位置を設定する】
印刷位置を設定するにはCenterHorizontallyプロパティを使う。
Worksheetsプロパティ.PageSetup.CenerHorizontally = True / False
※設定できる値
True | :水平方向の中央に配置 |
False | :配置しない |
Worksheets("2019年").PageSetup CenterHorizontally= True '印刷位置を水平方向のページ中央にする'
用紙の向きはOrientationプロパティから設定できる。
Applicationプロパティ.PageSetup.Orientation = 方向
※設定できる値
xlPortrait | :縦方向 |
xlLandscape | :横方向 |
Worksheets("2019年").PageSetup Orientation = xlPortrait '縦方向に指定する'
【指定した枚数分印刷する】
ブックを指定した枚数だけ印刷するにはPrintOutメソッドに引数Copiesを使う。
ActiveSheetプロパティ.PrintOut Copies = 枚数
Worksheet("2019年").PrintOut Copies = 3 '3枚印刷する'
指定したページを印刷するには、引数FromとToを使う
ActiveSheetプロパティ.PrintOut From := 開始ページ, To := 終了ページ
Worksheets("2019年").PrintOut From:= 2, To:= 5 ' 2ページ目~3ページ目までを印刷する'
部数単位で印刷するには引数Collateを使う。
ActiveSheetプロパティ.PrintOut Collate = True / False
True | :部数単位で印刷する |
False | :部数単位で印刷しない |
Worksheet("2019年").PrintOut Collate:= True '部数単位で印刷する'
【ヘッダー・フッターの設定をする】
ヘッダーとフッターの設定をするには、LightHeaderプロパティなどを使う。
ActiveSheetプロパティ.PageSetup LeftHeader = "ヘッダー名"
ActiveSheetプロパティ.PageSetup RightHeader = "ヘッダー名"
ActiveSheetプロパティ.PageSetup CenterHeader = "ヘッダー名"
Worksheet("2019年").PageSetup LeftHeader:= "タイトル" 'ヘッダー中央部にタイトルを設定'
Worksheet("2019年").PageSetup RightHeader:= "&D" '日付'
Worksheet("2019年").PageSetup LeftHeader:= "&P" 'ページ番号'
【印刷物にロゴを印刷する】
ロゴを印刷する位置を指定してファイルを添付する。
たとえば、LeftHeaderPictureだと左側に図が挿入される。
ActiveSheetプロパティ.PageSetup LeftHeaderPicture.Filename = "ファイル名"
ActiveSheetプロパティ.PageSetup RightHeaderPicture.Filename = "ファイル名"
ActiveSheetプロパティ.PageSetup CenterHeaderPicture.Filename = "ファイル名"
Worksheet("2019年").PageSetup LeftHeaderPicture:= "C\User\Excel\Logo.png" '左側にロゴを指定する'
【印刷範囲の設定をする】
PrintAreaにセル範囲を設定することで、印刷範囲を設定できる。
PageSetupオブジェクト.PrintArea = セル範囲
Worksheet("2019年").PageSetup PrintArea:= "A1:G36" 'ワークシート2019年の印刷範囲を、セルA1~G36に設定する'
【行タイトル・列タイトルを設定する】
PrintTitleRows、PrintTitleColumnsプロパティを使うことで、列タイトルと行タイトルを設定する。
PageSetupオブジェクト.PrintTitleRows = セル範囲
PageSetupオブジェクト.PrintTitleColumn = セル範囲
Worksheet("2019年").PageSetup PrintTitleRows:= "$2:$2" '「2019年」ワークシートの行タイトルを2行目に設定する'
【セルの行列番号を印刷する】
行列番号を印刷するにはPrintHeadingsを使う。
True | :行列番号の印刷を行う |
False | :行列番号の印刷を行わない |
PageSetupオブジェクト.PrintHeadings = 値
Worksheet("2019年").PageSetup PrintHeadings:= True '行列番号の印刷を行う'