将宏代码分配给表单控件
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"); |