将宏代码分配给表单控件
Contents
[
Hide
]
Aspose.Cells 允许您将宏代码分配给表单控件,如按钮。 请使用 ShapeCollection.addShape() 方法,将新宏代码分配给工作簿内的表单控件。
使用 Aspose.Cells 将宏代码分配给表单控件
以下示例代码创建一个新的工作簿,将宏代码分配给表单按钮,并以 XLSM 格式保存输出。 一旦您在 Microsoft Excel 中打开输出的 XLSM 文件,您将看到以下宏代码。
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
下面是一个生成带有宏代码的输出 XLSM 文件的示例代码。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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"); |