黙々とC#

"In a mad world of VBA, only the mad are sane" 『VBAという名の狂った世界で狂っているというのなら私の気は確かだ』

ワークブックの保存

本記事は、Excel C# Script入門講座の1記事です。

ワークブックの保存

ワークブックの保存には、WorkbookオブジェクトのSaveAsメソッドもしくはSaveメソッドを使用します。

SaveAsメソッドは「名前をつけて保存」に、Saveメソッドは「上書き保存」に対応します。

SaveAsメソッドは複数の引数をとり、保存ファイル名や、ファイル形式、パスワードなどを指定することができます。

SaveAsメソッドの構文

SaveAsメソッドの引数はかなり数が多いため、詳しくはMSDNを参照してください。

(Workbookオブジェクト).SaveAs(各種引数)

以下では、主要な引数のみ解説します。

SaveAsメソッドの引数

引数名 必須 / オプション 内容
Filename 省略可能 保存するファイルの名前を表す文字列を指定します。
FileFormat 省略可能 ファイル形式を指定します。定数は、XlFileFormat 列挙体から選択します。
Password 省略可能 読み取り時のパスワードを指定します。
WriteResPassword 省略可能 書き込み時のパスワードを指定します。
Filename引数について

完全パスを含めることもできます。

完全パスを含めない場合は、ファイルは現在のフォルダーに保存されます。

FileFormat引数について

XlFileFormat列挙体の定数を指定します。ExcelCSXでは、通常、定数をそのまま記載できないため、列挙体(enum)の値を指定してください。

なお、この列挙体は値が多いため、下表には代表的な値のみ示しています。詳しくは、MSDNを参照してください。

引数に指定する定数 enum値 概要
xlWorkbookDefault 51 規定のブック形式
xlWorkbookNormal -4143 ブックの標準形式
xlCSV 6 CSV形式
xlExcel9795 43 Excel95, 97のブック形式
xlHtml 44 HTML形式

なお、既存のファイルでは、指定された最後のファイル形式が既定のファイル形式となります。

また、新しいファイルでは、現在使用されている Excel のバージョンでのファイル形式が既定のファイル形式となります。

Password引数について

ファイルを保護するためのパスワードを表す 15 文字以内の文字列を指定します。大文字と小文字が区別されます。

WriteResPassword引数について

パスワードを設定して保存されたファイルを、パスワードを指定しないで開くと、ファイルは読み取り専用で開かれます。

サンプルコード

//アクティブなワークブックをtest.csvの名前で、CSV形式で保存します。
Excel.ActiveWorkbook.SaveAs(Filename:"test.csv",FileFormat:6);