選択した範囲をXPS出力したい
Excelで、特定の範囲をXPSファイルに出力したいケースがあります。
下記のようにActiveSheetや、すべてのシートをXPS保存するケースだけではなく、
シートの作成上、一部分だけXPS保存させたいケースもあるかと思います。
範囲選択した部分(Range)をXPSファイルとして出力するマクロは以下です。
選択した範囲のXPS保存するサンプルコード
'■現在選択しているセル範囲をXPSデータで保存する
Public Sub call_RangeSaveXPS()
Dim fPath As String
Dim fName As String
Dim rng As Range
'■現在開いているブック情報をファイル名にするため、変数に格納
fPath = ActiveWorkbook.Path & "\"
fName = Left(ActiveSheet.Name, InStrRev(ActiveWorkbook.Name, "."))
Application.DisplayAlerts = False
'■現在選択しているセル情報をrngに格納
Set rng = Selection
'■PDF出力(ActiveWorkBookと同じ階層にPDF保存)
rng.ExportAsFixedFormat Type:=xlTypeXPS, Filename:=fPath & fName & ".xps"
Application.DisplayAlerts = True
End Sub
[/vbnet]
注意点
- 個人用マクロブックでご紹介していますが、アドイン化も一つの手です。
- 保存先のファイルが既に存在してた場合は、強制的に上書きします。
コメント