Excel for .NET は、OpenXMLMacro ファイル形式のロードおよび保存をサポートします。Visual Basic Application(VBA)言語で記述されたマクロ有効 Excel ファイル(XLSM)を C1Excel にロードおよび保存できるようになりました。XLSM は、Microsoft Excel によって作成される Excel マクロ有効スプレッドシートです。VBA コードによってプログラムされたマクロが埋め込まれています。XLSM ファイルは、マクロが有効化されていること以外は XLSX ファイルと同じです。
次のコードは、VBA マクロを含むテンプレート xls ファイルをロードし、XLSM 形式でファイルを保存する方法の一例です。
Visual Basic でコードを書く場合
Visual Basic |
コードのコピー
|
---|---|
Imports C1.C1Excel
|
C# でコードを書く場合
C# |
コードのコピー
|
---|---|
using C1.C1Excel;
|
次のコードを btnLoad_Click イベントに追加して、ワークブックを .xlsm 形式で保存します。
Visual Basic でコードを書く場合
Visual Basic |
コードのコピー
|
---|---|
' ブックにコピーします Dim xlsFileName As String = "..\..\XlsxTestBin.xlsm" C1XLBook1.Load(xlsFileName) C1XLBook1.Sheets(0)(0, 0).Value = "It is copy!" xlsFileName = xlsFileName.Replace(".xlsm", "Modified.xlsm") C1XLBook1.Save(xlsFileName) ' Excel ファイルを実行します System.Diagnostics.Process.Start(xlsFileName) |
C# でコードを書く場合
C# |
コードのコピー
|
---|---|
// ブックにコピーします string xlsFileName = "..\\..\\XlsxTestBin.xlsm"; c1XLBook1.Load(xlsFileName); c1XLBook1.Sheets[0][0, 0].Value = "It is copy!"; xlsFileName = xlsFileName.Replace(".xlsm", "Modified.xlsm"); c1XLBook1.Save(xlsFileName); // Excel ファイルを実行します System.Diagnostics.Process.Start(xlsFileName); |
[F5]キーを押してプロジェクトを実行すると、.xslm ファイルが以下に示すように表示されます。