保存するフォーマットの指定

ファイルを保存する際に、保存するフォーマットを指定することができます。例えばテキスト形式やCSV形式での保存を行うことができます。ここでは Excel VBA でブックを保存するときにフォーマットを指定する方法について解説します。

(2022 年 06 月 13 日公開 / 2022 年 06 月 13 日更新)

保存するフォーマットを指定する

ブックを保存するときにフォーマットを設定するには「SaveAs」メソッドの引数に「FileFormat」を設定します。

Dim book1 As Workbook

Set book1 = Workbooks("VBAsample.xls")
book1.SaveAs Filename:="C:¥excelsample¥OtherFile.xls", _
    FileFormat:="xlCSV"

指定できるファイルフォーマットは以下の通りです。

定数フォーマット拡張子
xlCSVCSV(カンマ区切り)*.csv
xlCSVMSDOSCSV(MSDOS用)*.csv
xlCurrentPlatformTextテキスト(タブ区切り)*.txt
xlDBF3DBF3(dBASE3)*.dbf
xlDIFDIF*.dif
xlAddInMicrosoft Excel アドイン*.xla
xlCSVMacCSV(MAC用)*.csv
xlCSVWindowsCSV(Windows用)*.csv
xlDBF2DBF2(dBASE2)*.dbf
xlDBF4DBF4(dBASE4)*.dbf
xlExcel2Excel 2 ワークシート*.xls
xlExcel2FarEastExcel 2.1 ワークシート*.xjs
xlExcel3Excel 3.0 ワークシート*.xls
xlExcel4Excel 4.0 ワークシート*.xls
xlExcel4WorkbookExcel 4.0 ワークブック*.xlw
xlExcel5Excel 5.0/95 ワークブック*.xlw
xlExcel7Excel 7.0/95 ワークブック*.xlw
xlExcel9795Excel 97-2000及び5.0/95 ワークブック*.xls
xlHtmlWebページ*.htm, *.html
xlIntlAddInインターナショナルアドイン?
xlIntlMacroインターナショナルマクロ?
xlSYLKSYLK*.slk
xlTemplateテンプレート*.xlt
xlTextMacテキスト(Mac)*.txt
xlTextMSDOSテキスト(MSDOS)*.txt
xlTextPrinterテキスト(スペース区切り)*.prn
xlTextWindowsテキスト(Windows)*.txt
xlUnicodeTextテキスト(Unicode)*.txt
xlWebArchiveWebアーカイブ*.mht, *.mhtml
xlWJ2WD1WJ2(1-2-3)*.wj2
xlWJ3WJ3(1-2-3)*.wj3
xlWJ3FJ3WJ3,FJ3(1-2-3)*.wj3
xlWK1WK1(1-2-3)*.wk1
xlWK1ALLWK1,ALL(1-2-3)*.wk1
xlWK1FMTWK1,FMT(1-2-3)*.wk1
xlWK3WK3(1-2-3)*.wk3
xlWK3FM3WK3,FM3(1-2-3)*.wk3
xlWK4WK4(1-2-3)*.wk4
xlWKSWKS(Works)*.wks
xlWorkbookNormalMicrosoft Excelワークブック*.xls
xlWorks2FarEastWKS(Works)*.wks
xlWQ1WQ1(QuattroPro/DOS)*.wq1
xlXMLSpreadsheetXML スプレッドシート*.xml

デフォルトは「xlWorkbookNormal」の「Microsoft Excelワークブック」です。

サンプルプログラム

では簡単なサンプルで試してみましょう。

まず下記のようなExcelファイルを用意します。

フォーマットを指定して保存

これをCSV形式で保存してみます。

Sub テスト()
    
    Dim book1 As Workbook

    Set book1 = Workbooks("VBAsample.xls")
    book1.SaveAs filename:="C:¥excelsample¥test.csv", _
        FileFormat:=xlCSV
        
End Sub

上記マクロを実行するとCSV形式で保存された「test.csv」というファイルが作成されています。CSV形式ですのでExcelに含まれる値だけをテキストファイルとして保存しています。各値の区切りはカンマ区切りとなります。実際にファイルの中身をテキストエディタで開いてみると次のようになります。

フォーマットを指定して保存

上記のようにテキストエディタで見ることができます。

-- --

Excel VBA でブックを保存するときにフォーマットを指定する方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。