VBA保存/出力形式まとめ

スポンサーリンク

エクセルのVBAを覚えたい。作業を自動化したい。そんな方はやはり基礎を覚えることが必要でしょう。今回は基礎中の基礎である、VBAでどのようにしたらファイル保存ができるのか、をご紹介させていただきます。

ファイル保存といってもCSV出力、エクセル出力、それともPDF出力と種類は様々。ただそんなにVBAのコード自体は難しくないので、この機会に学習しましょう。

まずは引数の一覧から。特に引数ではString型として使うFileNameを覚えておくと良いでしょう。

引数一覧

名前 説明 備考
FileName (ファイルパス+)ファイル名 String 必須
FileFormat ファイル形式(拡張子) XlFileFormat 既定:
開いてる
状態のまま
Password 読み取りパスワードの設定 String
15文字以内
既定:
設定なし
WriteResPassword 書き込みパスワードの設定 String 既定:
設定なし
ReadOnlyRecommended 読み取り専用推奨の設定 String 既定:
設定なし
CreateBackup バックアップ ファイルの作成有無 True or False 既定:
False
AccessMode アクセス モードを指定 XlSaveAsAccessMode 既定:
xlNoChange
ConflictResolution 共有ブックが更新時
競合した場合の処理方法
XlSaveConflictResolution 既定:
随時確認
AddToMru 最近使用したファイルの
一覧にブックを追加
True or False 既定:
False
TextCodePage Excelでは使用不可
TextVisualLayout Excelでは使用不可
Local ファイルの言語設定 True(Excel) or
False(VBA)
既定:
False

ではこれらを理解した上で、保存形式に移ります。基本的には、このように書きます。

Dim hozon As Workbook
Set hozon = Workbooks(“VBAsample.xls”)
hozon.SaveAs Filename:=”C:¥excelsample¥OtherFile.xls”, _
FileFormat:=”xlCSV”
※hozonはWorkbook という定義
※hozonはVBAsample.xlsという名前のワークブックを格納
※hozonファイルは「C:¥excelsample¥」というフォルダパスのOtherFile.xlsという名前で保存。
※ファイルフォーマットは「xlCSV」形式。ファイルフォーマットは以下を参照。
定数 フォーマット 拡張子
xlCSV CSV(カンマ区切り) *.csv
xlCSVMSDOS CSV(MSDOS用) *.csv
xlCurrentPlatformText テキスト(タブ区切り) *.txt
xlDBF3 DBF3(dBASE3) *.dbf
xlDIF DIF *.dif
xlAddIn Microsoft Excel アドイン *.xla
xlCSVMac CSV(MAC用) *.csv
xlCSVWindows CSV(Windows用) *.csv
xlDBF2 DBF2(dBASE2) *.dbf
xlDBF4 DBF4(dBASE4) *.dbf
xlExcel2 Excel 2 ワークシート *.xls
xlExcel2FarEast Excel 2.1 ワークシート *.xjs
xlExcel3 Excel 3.0 ワークシート *.xls
xlExcel4 Excel 4.0 ワークシート *.xls
xlExcel4Workbook Excel 4.0 ワークブック *.xlw
xlExcel5 Excel 5.0/95 ワークブック *.xlw
xlExcel7 Excel 7.0/95 ワークブック *.xlw
xlExcel9795 Excel 97-2000及び5.0/95 ワークブック *.xls
xlHtml Webページ *.htm, *.html
xlIntlAddIn インターナショナルアドイン ?
xlIntlMacro インターナショナルマクロ ?
xlSYLK SYLK *.slk
xlTemplate テンプレート *.xlt
xlTextMac テキスト(Mac) *.txt
xlTextMSDOS テキスト(MSDOS) *.txt
xlTextPrinter テキスト(スペース区切り) *.prn
xlTextWindows テキスト(Windows) *.txt
xlUnicodeText テキスト(Unicode) *.txt
xlWebArchive Webアーカイブ *.mht, *.mhtml
xlWJ2WD1 WJ2(1-2-3) *.wj2
xlWJ3 WJ3(1-2-3) *.wj3
xlWJ3FJ3 WJ3,FJ3(1-2-3) *.wj3
xlWK1 WK1(1-2-3) *.wk1
xlWK1ALL WK1,ALL(1-2-3) *.wk1
xlWK1FMT WK1,FMT(1-2-3) *.wk1
xlWK3 WK3(1-2-3) *.wk3
xlWK3FM3 WK3,FM3(1-2-3) *.wk3
xlWK4 WK4(1-2-3) *.wk4
xlWKS WKS(Works) *.wks
xlWorkbookNormal Microsoft Excelワークブック *.xls
xlWorks2FarEast WKS(Works) *.wks
xlWQ1 WQ1(QuattroPro/DOS) *.wq1
xlXMLSpreadsheet XML スプレッドシート *.xml
これらをふまえて、いざコードを学習しましょう。分からない方はコピペで使ってみてください。

PDFで保存する

【重要ポイント】PDFで出力する場合は

WorkSheetオブジェクト.ExportAsFixedFormat Type:=xlTypePDF, fileName:=ファイル名

と書きます。これをふまえると、

Sub PDF保存()
Dim fileName2 As String ‘保存先フォルダパス&ファイル名
fileName2 = ThisWorkbook.Path & “保存する名前.pdf”
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName2
※ThisWorkbook.Pathというのは、ワークブックが開いているフォルダパスを参照します。
※filename2を「ThisWorkbook.Path & “保存する名前.pdf”」と置き換えていることが面白いですね。

CSVとして保存

Sub テスト()
Dim hozon As Workbook
Set hozon = Workbooks(“VBAsample.xls”)
hozon.SaveAs filename:=”C:¥excelsample¥test.csv”, _
FileFormat:=xlCSV
End Sub
※ファイルフォーマットを「xlCSV」としてCSV形式
にしていることが上記の相違点ですかね。
是非覚えましょう!
スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク