印刷マクロでちょっとハマる(Word)

印刷マクロでちょっとハマる(Word)

f:id:akashi_keirin:20210303092228j:plain

フォルダ内にたくさんあるWordドキュメントの先頭ページだけを印刷する必要があって(どんな「必要」やねん。)、

ちょろっとマクロ書いて片付けるか!

と意気込んで始めたにもかかわらず、ちょっとハマったので、報告。

先頭ページだけを印刷するマクロ

先頭ページだけを印刷するには、[Document].PrintOutメソッドを用いたら楽勝だと思った。

リスト1
Private Sub test08()
  Dim tgtDoc As Document
  Set tgtDoc = ActiveDocument
  Call tgtDoc.PrintOut(Range:=wdPrintFromTo, From:=1, To:=1)
End Sub

PrintOutメソッドの引数RangewdPrintFromToを指定し、FromToの両方に1を指定。

これで、ドキュメントの1ページ目から1ページ目、すなわち、先頭ページだけを印刷することができるはずだ。

実行

満を持してリスト1を実行してみる。すると、

f:id:akashi_keirin:20210303092232j:plain

な…なんだってー!!

あえなく実行時エラーになるのである。

原因は、

f:id:akashi_keirin:20210303092235j:plain

ここなのだが……。

おわりに

原因がわかるだろうか……?

私は公式のリファレンスを見るまで、結構な時間ハマりました……。