将宏代码分配给表单控件

使用 Aspose.Cells 将宏代码分配给表单控件

以下示例代码创建一个新的工作簿,将宏代码分配给表单按钮,并以 XLSM 格式保存输出。 一旦您在 Microsoft Excel 中打开输出的 XLSM 文件,您将看到以下宏代码。

 Sub ShowMessage()

    MsgBox "Welcome to Aspose!"

End Sub

下面是一个生成带有宏代码的输出 XLSM 文件的示例代码。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(AssignMacroToFormControl.class);
Workbook workbook = new Workbook();
Worksheet sheet = workbook.getWorksheets().get(0);
int moduleIdx = workbook.getVbaProject().getModules().add(sheet);
VbaModule module = workbook.getVbaProject().getModules().get(moduleIdx);
module.setCodes("Sub ShowMessage()" + "\r\n" +
" MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub");
Button button = (Button) sheet.getShapes().addShape(MsoDrawingType.BUTTON, 2, 0, 2, 0, 28, 80);
button.setPlacement(PlacementType.FREE_FLOATING);
button.getFont().setName("Tahoma");
button.getFont().setBold(true);
button.getFont().setColor(Color.getBlue());
button.setText("Aspose");
button.setMacroName(sheet.getName() + ".ShowMessage");
workbook.save(dataDir + "Output.xlsm");
System.out.println("File saved");