第24回.印刷
印刷やります。
本当は、ペーパーレスが良いのですが、なかなかそうもいきません。
では、マクロの記録から、2010での記録です。
1.マクロの記録
2.印刷
3.記録終了
作成れたマクロは・・・
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True,
_
IgnorePrintAreas:=False
End Sub
ActiveWindow.SelectedSheets.PrintOut
これで印刷します。
ActiveWorkbook.ActiveSheet.PrintOut
でも同じですね。
Copies:=1
印刷部数です、省略すると1になります。
Collate:=True
2 部以上印刷するときに部単位で印刷する場合はTrue
IgnorePrintAreas:=False
印刷領域を無視してオブジェクト全体を印刷する場合は True
2003にはありません。
2007で記録すると、
Sub Macro1()
'
' Macro1 Macro
'
'
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
End
Sub
こんなん出ました。
無視しましょう。
MSさんも、Excel4Macroって・・・困ったもんです。
2007の人は、最初のマクロを使ってください。
とにかく、今開いているシートを印刷するだけなら、
Sub Macro1()
ActiveSheet.PrintOut
End Sub
これだけで印刷できます。
では、印刷プレビューです。
2010では、ボタンが標準では無いのですけどね。
1.マクロの記録
2.印刷プレビュー
3.記録終了
作成れたマクロは・・・
Sub Macro2()
'
' Macro2 Macro
'
'
ActiveWindow.SelectedSheets.PrintPreview
End
Sub
まあ、
PrintOut
が
PrintPreview
になっただけです。
では、全部のシートを印刷する場合は、どうでしょう。
Sheet1、Sheet2、Sheet3、の3シートがあるとします。
では、マクロの記録です。
1.マクロの記録
2.全てのシートを選択
3.印刷
4.記録終了
作成れたマクロは・・・
Sub Macro1()
'
' Macro1 Macro
'
'
Sheets(Array("Sheet1", "Sheet2",
"Sheet3")).Select
Sheets("Sheet1").Activate
ActiveWindow.SelectedSheets.PrintOut
Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End
Sub
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
この説明は省略しますね、とりあえず、このまま覚えて下さい。
Sheets("Sheet1").Activate
あまり意味がありません。
まあ、これで、3シートは印刷できますが、
シートが増えるたびに変更する必要があります。
それでは不便です。
常に全部のシートを印刷するには、どうするか、以下になります。
方法1.ブックを印刷する
Sub Macro2()
ActiveWorkbook.PrintOut
End Sub
この場合は、印刷キューは1つになります。
全シートを選択して印刷した場合と同じです。
2.全てのシートを1つずつ印刷する。
Sub Macro3()
Dim i
For i = 1 To
ActiveWorkbook..Sheets.Count
Sheets(i).PrintOut
Next
End
Sub
または、
Sub Macro4()
Dim mySheet
For Each mySheet In
ActiveWorkbook.Sheets
mySheet.PrintOut
Next
End
Sub
どちらも同じです。
1.2.どちらでも良いです。
印刷時に何か処理を加えたい場合は、2.になります。
同じテーマ「マクロの記録でVBA」の記事
第16回.行の挿入・削除
第17回.並べ替え
第18回.オートフィルタ
第19回.オートフィルタ2
第20回.ジャンプのセル選択
第21回.条件付き書式
第22回.シートの移動コピー
第23回.セルの結合
第24回.印刷
第25回.開く・保存・閉じる
第26回.最終回
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。