VBATips

指定した範囲をXPS出力して保存する【VBAマクロ】

選択した範囲を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]

注意点

  • 個人用マクロブックでご紹介していますが、アドイン化も一つの手です。
  • 保存先のファイルが既に存在してた場合は、強制的に上書きします。

関連記事

コメント

タイトルとURLをコピーしました