GEN MUTO'S HOMEPAGE  エクセル大事典  エクセルVBAを極める

エクセルExcel大事典 エクセル大事典TOPページへ
 ■ エクセルVBA中級編−ワークシートを使いこなそう
  ワークシートを印刷しよう!1
 
■ ワークシートを印刷しよう!1

ペーパレス化が叫ばれる昨今ですが、いまだに情報を紙として印刷したいという企業ニーズは後を絶ちません。Excelのワークシートは、きわめて微細なレイアウトを行うことができ、うまく活用することで、ほとんどどんな帳票のレイアウトでも実現することができます。
 ※エクセルは最高の帳票作成ツール 

Excel VBAを利用することで、ワークシートを自由自在に印刷することが可能です。[印刷]ダイアログボックスで設定する内容、印刷範囲や部数、印刷対象、使用するプリンタなど、VBAから自由に設定を変更して思い通りの印刷することができます。

プレビュー画面を表示する

印刷プレビューを表示する
印刷プレビューを表示するには、PrintPreviewメソッドを使用します。PrintPreviewメソッドを使用した場合、そのあとに続くプロシージャは、印刷プレビュー画面の[印刷]ボタン、[閉じる]ボタンをクリックするまで実行されません。

[書式]
オブジェクト.PrintPreview(変更の許可)


オブジェクトには、Windowオブジェクト、Workbookオブジェクト、Worksheetオブジェクト、Chartオブジェクトを指定します。またSheetsコレクション、Worksheetsコレクション、Chartsコレクション、Rangeコレクションを指定することもできます。オブジェクトは必ず指定します。

変更の許可には、TrueまたはFalseを指定します。Falseを指定すると、[設定]ボタンと[余白]ボタンが無効になります。省略すると、Trueが指定されます。

※何も入力されていないワークシートを対象に、PrintPreviewメソッドを実行すると、印刷範囲のみ設定され、印刷プレビュー画面は表示されません。

例:
ActiveSheet.PrintPreview(False)
 
この例では、アクティブなシートの印刷プレビュー画面を、[設定]ボタン、[余白]ボタンを無効にして開きます。

印刷の設定をする

PageSetupオブジェクトを取得する
印刷の設定をするには、PageSetupオブジェクトを利用します。PageSetupオブジェクトで設定できる印刷設定は、[ページ設定]ダイアログボックスの設定内容と同じです。PageSetupオブジェクトを取得する書式は次の通りです。

[書式]
オブジェクト.PageSetup


オブジェクトには、WorksheetオブジェクトまたはChartオブジェクトを指定します。

印刷倍率を設定する
印刷倍率を設定するには、Zoomプロパティを使用します。値の取得・設定が可能です。新しいブックを開いたときは、印刷倍率は100%に設定されています。

[書式]
オブジェクト.Zoom
オブジェクト.Zoom = 設定値


オブジェクトには、PageSetupオブジェクトを指定します。

設定値には、印刷する倍率を10〜400の範囲で、%単位の数値を指定します。この範囲を超える値を設定するとエラーが発生します。またFalseを指定した場合、FitToPagesTallプロパティまたはFitToPagesWideプロパティの、どちらかの設定における印刷倍率に設定されます。

例:
Sub Test()
  With Worksheets("Sheet1")
    .PageSetup.Zoom = 50
    .PrintPreview
  End With
  With Worksheets("Sheet2")
    .PageSetup.Zoom = 200
    .PrintPreview
  End With
End Sub

この例では、Sheet1ワークシートを50%の印刷倍率で印刷プレビュー表示した後、Sheet2ワークシートを200%の印刷倍率で印刷プレビュー表示します。

印刷範囲を指定ページに収める
印刷範囲を指定ページに収めるには、FitToPagesTallプロパティまたはFitToPagesWideプロパティのいずれかを使用します。FitToPagesTallプロパティは、印刷内容を縦何ページで収めるかを、FitToPagesWideプロパティは、印刷内容を横何ページで収めるかを、それぞれ設定します。

[書式]
オブジェクト.FitToPagesTall
オブジェクト.FitToPagesTall = 設定値
オブジェクト.FitToPagesWide
オブジェクト.FitToPagesWide = 設定値


オブジェクトには、PageSetupオブジェクトを指定します。

設定値には、印刷内容を収めたいページ数を指定します。Falseを指定すると、印刷範囲を指定ページに収める設定を解除します。

※FitToPagesTallプロパティまたはFitToPagesWideプロパティが有効になるためには、ZoomプロパティがFalse(無効)に設定されている必要があります。また印刷倍率が10%〜400%の範囲を超える場合、設定可能な印刷倍率の範囲内で印刷されます。

例:
Sub Test()
  With Worksheets("Sheet1")
    .PageSetup.Zoom = False
    .PageSetup.FitToPagesTall = 10
    .PrintPreview
  End With
End Sub

この例では、Sheet1ワークシートを縦10ページに収まるように印刷倍率を設定し、印刷プレビュー表示します。

印刷の向きを設定する
印刷の向きを設定するには、Orientationプロパティを指定します。Orientationプロパティを設定することで、印刷の方向を用紙の縦向き、横向きに設定することができます。

[書式]
オブジェクト.Orientation
オブジェクト.Orientation = 設定値


オブジェクトには、PageSetupオブジェクトを指定します。

設定値には、印刷の向きをXlPageOrientationクラスの定数で指定します。XlPageOrientationクラスの定数は次の通りです。

定数 内容
xlPortrait 用紙を縦向きに設定します(印刷の向きを"縦"の設定)
xlLandscape 用紙を横向きに設定します(印刷の向きを"横"の設定)

例:
Sub Test()
  With Worksheets("Sheet1")
    .PageSetup.Orientation = xlLandscape
    .PrintPreview
  End With
End Sub

この例では、Sheet1ワークシートを横向きの印刷方向(用紙が横向き)で印刷プレビュー表示します。

用紙のサイズを設定する
用紙のサイズを設定するには、PaperSizeプロパティを使用します。

[書式]
オブジェクト.PaperSize
オブジェクト.PaperSize = 設定値


オブジェクトには、PageSetupオブジェクトを指定します。

設定値には、用紙のサイズをXlPaperSizeクラスの定数で指定します。XlPaperSizeクラスの定数の主なものは次の通りです。

定数 内容
xlPaperA3 A3 (297 mm x 420 mm)
xlPaperA4 A4 (210 mm x 297 mm)
xlPaperA5 A5 (148 mm x 210 mm)
xlPaperB4 B4 (250 mm x 354 mm)
xlPaperB5 B5 (182 mm x 257 mm)
xlPaperEnvelope9 封筒 9 号 (3 7/8 x 8 7/8 インチ)
xlPaperEnvelope10 封筒 10 号 (4 1/8 x 9 1/2 インチ)
xlPaperEnvelope11 封筒 11 号 (4 1/2 x 10 3/8 インチ)
xlPaperEnvelope12 封筒 12 号 (4 1/2 x 11 インチ)
xlPaperEnvelope14 封筒 14 号 (5 x 11 1/2 インチ)
xlPaperEnvelopeB4 封筒 B4 (250 mm x 353 mm)
xlPaperEnvelopeB5 封筒 B5 (176 mm x 250 mm)
xlPaperEnvelopeB6 封筒 B6 (176 mm x 125 mm)
xlPaperEnvelopeC3 封筒 C3 (324 mm x 458 mm)
xlPaperEnvelopeC4 封筒 C4 (229 mm x 324 mm)
xlPaperEnvelopeC5 封筒 C5 (162 mm x 229 mm)
xlPaperEnvelopeC6 封筒 C6 (114 mm x 162 mm)
xlPaperEnvelopeDL 封筒 DL (110 mm x 220 mm)
xlPaperUser ユーザー設定

※プリンタのサポートしていない用紙サイズを設定するとエラーが発生するので注意してください。

例:
Sub Test()
  With Worksheets("Sheet1")
    .PageSetup.PaperSize = xlPaperB5
    .PrintPreview
  End With
End Sub

この例では、Sheet1ワークシートを用紙サイズB5に設定して、印刷プレビュー表示します。

印刷範囲を設定する
印刷範囲を設定するには、PrintAreaプロパティを使用します。設定した印刷範囲は、[ファイル]メニュー[印刷範囲]>[印刷範囲のクリア]をクリックする、または設定したセル範囲を削除するとクリアされます。

[書式]
オブジェクト.PrintArea
オブジェクト.PrintArea = 設定値


オブジェクトには、PageSetupオブジェクトを指定します。

設定値には、印刷範囲に設定したいセル範囲をA1形式の文字列で指定します。Falseまたは""(長さ0の文字列)を指定すると、印刷範囲を解除します。

例:
Sub Test()
  With Worksheets("Sheet1")
    .PageSetup.PrintArea = "A1:E5"
    .PrintPreview
  End With
End Sub

この例では、Sheet1ワークシートのA1〜E5のセル範囲を、印刷プレビュー表示します。

※改ページプレビュー画面を表示させたい場合、WindowオブジェクトのViewプロパティを利用します。例えば、
  ActiveWindow.View = xlPageBreakPreview
この場合、アクティブなウィンドウを改ページプレビュー画面で表示します。また、
  ActiveWindow.View = xlNormalView
この場合、アクティブなウィンドウを標準画面で表示します。



次回も、印刷の設定を行うコードの解説を続けます。

>> 次の話にすすむ


サイト内検索ができます

Microsoft Most Valuable Professional

Microsoft MVP Excel
武藤 玄 プロフィール
 

■■■ 執筆した書籍 ■■■
 

EXCEL VBA 業務自動化
 

Excel VBA を5日でマスターする本
 

仕事を速くする Excel VBA 入門
 

Excel VBAと業務改善のポイントがわかる本
 

Access VBA ベーシック スタンダード
 

Excel VBA アクションゲーム作成入門
 

■■■ 連載中の記事 ■■■
 

Excel VBAで業務改善!
 

実務で使うExcel VBA
 


TOPページ


■ エクセルVBA超入門

 ・9ステップで"Hello World!"
  からオブジェクト指向まで!
  1."Hello World!"を表示しよう
  2.基本はデータの入出力
  3.繰り返し処理
  4.シートで簡易データベース
  5.名前をつけよう
  6.構造化プログラムに挑戦
  7.構造体を使ってみよう
  8.フォームを使ってみよう
  9.オブジェクト指向に挑戦

■ エクセルVBA中級編

 ・VBAでいろんなテクニック
  変数・関数のスコープ
  引数の参照方法を明示
  配列の中身を一気に複写
  識別子がよいコードを作る
  データ定義型をもっと知ろう
  定数と列挙型を活用しよう
  エラー処理の重要性1
  エラー処理の重要性2
  いろいろな条件分岐
  いろいろな繰り返し処理
  演算子について知ろう
  文字列操作 連結 変換 置換
  文字列操作 検索 比較 書式
  日付操作関数を知ろう
  数値操作・評価・その他関数
  並び替えソートをマスター
  いろいろな検索をマスター
  VBEditorを使いこなそう
  マクロの記録を活用しよう1
  マクロの記録を活用しよう2
  VBAからVBEを操作しよう1
  VBAからVBEを操作しよう2
  VBAからVBEを操作しよう3
 ・ワークシートを使いこなす
  セルの参照をマスターしよう
  セルの選択をマスターしよう
  セルの操作をマスターしよう
  セルの書式設定をマスターしよう
  行・列の操作をマスターしよう
  シートの参照をマスターしよう
  シートの操作をマスターしよう
  ブックの操作をマスターしよう
  ウィンドウの操作をマスターしよう
  イベントプロシージャを活用しよう
  ワークシートを印刷しよう1
  ワークシートを印刷しよう2
  音声(読み上げ)機能を操作しよう
  グラフを操作しよう
 ・ユーザーフォームを使いこなす
  ユーザーフォームを使おう
  UserFormsオブジェクト
  Labelコントロール
  TextBoxコントロール
  ComboBoxコントロール
  ListBoxコントロール
  CheckBoxコントロール
  OptionButtonコントロール
  ToggleButtonコントロール
  CommandButtonコントロール
  ScrollBarコントロール
  SpinButtonコントロール
 ・VBA関数の一覧
  Aから始まる関数の一覧
  Cから始まる関数の一覧
  Dから始まる関数の一覧
  Eから始まる関数の一覧
  Fから始まる関数の一覧
  Gから始まる関数の一覧
 
■ エクセルVBAを極める
 VBAスーパーテクニック
 
 ・データベースへ接続してみよう!
  CSVファイルへの接続
  ワークシートへの接続
  mdbファイルへの接続
  SQL Serverへの接続
  ADOレコードセットの操作1
  ADOレコードセットの操作2
 ・ファイルを操作してみよう!
  FileSystemObjectの操作
  Drive File Folderの操作
  TextStream ダイアログ
  ステートメントでファイル操作1
  ステートメントでファイル操作2
 ・他アプリと連携してみよう!
  ActiveXオートメーションの操作
 ・ゲーム技でマクロを超える
  エクセルで音を鳴らす1
  エクセルで音を鳴らす2  
  スクリーン座標を取得
  様々なイベント取得
  リボンUIを制御しよう1
  リボンUIを制御しよう2
  シート上でアニメを動かそう
 
■ 一歩上行くエクセル
 基本操作の完全マスター!

 
 ・あなたはいったい
  エクセルで何をしたいのか?
  エクセルで業務効率化
  エクセル関数を使いこなす
  エクセルの便利技
  エクセルは最高の帳票ツール
 ・エクセル基本操作上級編!
  セル選択、コメント、シリアル値
  オート機能を使いこなそう!
  参照、条件付書式、入力規則
  関数をもっと理解しよう!
  配列数式を有効利用しよう!
  データの正規化をしよう!
  ショートカットキーを利用しよう1
  ショートカットキーを利用しよう2
  Office用アプリを作成しよう!
  PowerPivotとExcelで簡単BI!
 ・世間の誤ったエクセルの
  べからず集
  エクセルで文章を書くべからず
  エクセルで図形を描くべからず
  エクセルでシステムをつくるな
 
■ エクセル関連その他

 ・エクセルコミニュティにあなたも
  参加しませんか?
  Excel関連リンク・コミニュティ
 ・VBの理解がVBAをマスターする
  最短距離!
  VB関連の老舗・大家サイト
 ・エクセルExcel大事典掲示板
 ・プライバシーポリシー

2000アイテムを超えるラベルを販売
送料無料、即納対応の優良ショップ
今買っているラベルより確実に安い!
OAラベルの販売専科グラフトラベル




エクセルExcel大事典ははリンクフリーです エクセル大事典Excel大事典
お問い合わせはこちら gengengen@yahoo.co.jp

Copyright© Gen Muto 武藤 玄 All Rights Reserved,