• ベストアンサー

Excel2007、pdfで保存範囲を指定する方法

VBAでの質問です。 Excel2007の名前を付けて保存のpdfでExcelファイルブック全体を保存したいのですが、 各シートの余白に計算用のセルが多数存在しており、そのまま保存を行うと それもpdf化されてしまいます。 余白を除いた部分をきれいにまとめたものを、配布用のpdfにしたいのですが VBAでpdfの保存範囲を指定することは可能でしょうか? 印刷範囲の指定は聞いたことがありますが、保存範囲の指定は聞いたことがありません。 ご存知の方がいらっしゃいましたら、ご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

何かよくわからないけどExcel2007で良いのですよね。 [PDFまたはXPS形式で発行]はSave|SaveAsメソッドとは違いますからねえ? 発行の前に[オプション]で『発行対象』を選択できるようになってますから試してみてください。 マクロ記録も取れます。 Sub Macro1() ' ' Macro1 Macro ' '   Selection.ExportAsFixedFormat Type:=xlTypePDF, _                  Filename:="C:\@doc\Book1.pdf", _                  Quality:=xlQualityStandard, _                  IncludeDocProperties:=True, _                  IgnorePrintAreas:=False, _                  OpenAfterPublish:=True End Sub SelectionをRange指定してあげれば大丈夫ですよ。

mutsuyama-san
質問者

お礼

仰る通りにしたら出来ました!ありがとうございます!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

PrintOutはシート(オブジェクト)のRangeのメソッドです。 SaveやSaveAsはWorkbook(オブジェクト)のメソッドです。そのメソッドの引数に、シートやシートのRangeを指定する引数がありますか。 調べてから、質問しましたか。そういう引数が無いと思います。 引数に無いということは(そのように作られておらず)出来ないということです。 VBAのメソッドやプロパティ(の存在か存在しないか)について、そういう考え方をしてますか。 ーー 新しいそれ用のブックやシートをそのために造らなければならないと思います。 ーー それ向けに作ったアドインなどあれば話は別です。

mutsuyama-san
質問者

お礼

確かにSaveAsの引数にRangeを指定する話など聞いたことありません。 当方、今までExcel2003を使用しており、Excel2007にバージョンアップした際 新たにそのような機能が付いていることを期待したのですが、無さそうですね。 ご指摘ありがとうございました。

関連するQ&A