アクティブシートだけを保存するマクロ
ExcelでアクティブシートのみをExcel形式またはPDFで保存するマクロです。Excel2007で確認しました。
今回は保存場所をデスクトップに固定しています。
デスクトップのパス(フォルダ)は、WSHを使うと「CreateObject("WScript.Shell").SpecialFolders.Item("Desktop")」
で取得できます。
Excel形式で保存
シート名をファイル名にしてExcel形式で保存します。
アクティブシートのみを保存するために一度、シートをコピーし、そのシートを含むブックがアクティブになったところで保存し、閉じています。
Sub アクティブシートのみExcelでデスクトップに保存()
desktop_path = CreateObject("WScript.Shell").SpecialFolders.Item("Desktop") & ""
myname = ActiveSheet.Name
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
Filename:=desktop_path & myname & ".xlsx"
ActiveWindow.Close
End Sub
desktop_path = CreateObject("WScript.Shell").SpecialFolders.Item("Desktop") & ""
myname = ActiveSheet.Name
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
Filename:=desktop_path & myname & ".xlsx"
ActiveWindow.Close
End Sub
PDFで保存
シート名をファイル名にしてPDFで保存します。
PDFは、基本的にはアクティブシートだけが保存されますので、上よりシンプルです。
Sub アクティブシートのみPDFでデスクトップに保存()
desktop_path = CreateObject("WScript.Shell").SpecialFolders.Item("Desktop") & ""
myname = ActiveSheet.Name
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=desktop_path & myname & ".pdf"
End Sub
desktop_path = CreateObject("WScript.Shell").SpecialFolders.Item("Desktop") & ""
myname = ActiveSheet.Name
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=desktop_path & myname & ".pdf"
End Sub
[ 2012年9月15日 | カテゴリー: Excel | タグ: PDF , VBA , シート ]
« iPhone5とiPhone4Sの画面サイズを比較 | 「Windowsの正規品ではない」と表示されたら »
コメントを残す