フォームコントロールにマクロを割り当てる

新しいワークブックを作成し、フォームボタンにマクロコードを割り当て、出力をXLSM形式で保存するサンプルコードを以下に示します。作成されたXLSMファイルをMicrosoft Excelで開くと、指定のマクロコードが表示されます。

 Sub ShowMessage()

    MsgBox "Welcome to Aspose!"

End Sub

C#でフォームコントロールにマクロを割り当てる

新しいXLSM ファイルとマクロコードを生成するサンプルコードを以下に示します。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
if (!System.IO.Directory.Exists(dataDir))
{
System.IO.Directory.CreateDirectory(dataDir);
}
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];
int moduleIdx = workbook.VbaProject.Modules.Add(sheet);
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[moduleIdx];
module.Codes =
"Sub ShowMessage()" + "\r\n" +
" MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";
Aspose.Cells.Drawing.Button button = sheet.Shapes.AddButton(2, 0, 2, 0, 28, 80);
button.Placement = Aspose.Cells.Drawing.PlacementType.FreeFloating;
button.Font.Name = "Tahoma";
button.Font.IsBold = true;
button.Font.Color = System.Drawing.Color.Blue;
button.Text = "Aspose";
button.MacroName = sheet.Name + ".ShowMessage";
dataDir = dataDir + "Output.out.xlsm";
workbook.Save(dataDir);