■概要
表のデータをすべて選択し、選択した範囲で印刷プレビューを実行する。
・処理概要
「ユーザ情報」シートのB2セルを開始とする、「ユーザ情報テーブル」を選択し、印刷プレビューを表示させる。
■フローチャート
印刷プレビュー実行処理について、フローチャートを以下に示す。
■プログラム仕様
入力 | 処理内容 | 出力 |
---|---|---|
– | 変数宣言 ・シートオブジェクト(object型) ・シート名(文字列型) ・印刷開始範囲(文字列型) ・テーブル名(文字列型) | – |
– | 変数に初期値を設定する。 ・シート名:”ユーザ情報” ・印刷開始範囲:”B2″ ・テーブル名:”ユーザ情報テーブル” | – |
– | 「ユーザ情報」シートをセットする。 | – |
– | ●「ユーザ情報」シートにフォーカス(with句) |アクティブセル領域を選択する。 |選択した領域を「ユーザ情報テーブル」とする。 |選択した「ユーザ情報テーブル」を印刷範囲に設定する。 |印刷プレビュー実行する。 ● | – |
– | シートオブジェクトを解放する。 | – |
■サンプルコード
Option Explicit
' 印刷プレビュー実行処理
Public Sub PrintPreviewTable()
' 変数宣言
Dim sht_userinfo As Worksheet ' シートオブジェクト
Dim sht_name As String ' シート名
Dim print_start_range As String ' 印刷開始範囲
Dim table_name As String ' テーブル名
' エラー時の処理をセット
On Error GoTo PrintPreviewTable_err
' 変数に初期値を設定
sht_name = "ユーザ情報"
print_start_range = "B2"
table_name = "ユーザ情報テーブル"
' 「ユーザ情報」シートをセット
Set sht_userinfo = ThisWorkbook.Worksheets(sht_name)
' 「ユーザ情報」シートにフォーカス
With sht_userinfo
' アクティブセル領域を選択
.Range(print_start_range).CurrentRegion.Select
' 選択した領域を「ユーザ情報テーブル」とする
ThisWorkbook.Names.Add Name:=table_name, RefersToR1C1:=Selection
' 選択した「ユーザ情報テーブル」を印刷範囲に設定
.PageSetup.PrintArea = table_name
' 印刷プレビュー実行
.PrintPreview
End With
' 終了処理へ移動
GoTo PrintPreviewTable_exit
' エラー時の処理
PrintPreviewTable_err:
' エラー内容を出力
MsgBox Err.Description
' 終了処理へ移動
GoTo PrintPreviewTable_exit
' 終了処理
PrintPreviewTable_exit:
' シートオブジェクトを解放
Set sht_userinfo = Nothing
End Sub
実行結果
事前準備:マクロ実行ボタン「印刷プレビュー」の作成
マクロ実行ボタン「印刷プレビュー」の押下
実行結果:印刷プレビューの表示
コメント