Назначение кода макроса элементу управления формой
Contents
[
Hide
]
Aspose.Cells позволяет назначить код макроса элементу управления формы, например кнопке. Пожалуйста, используйтеShapeCollection.addShape() для назначения нового кода макроса элементу управления формы внутри рабочей книги.
Назначение кода макроса для управления формой с использованием Aspose.Cells
Следующий пример кода создает новую книгу, назначает код макроса кнопке формы и сохраняет выходные данные в формате XLSM. После того, как вы откроете выходной файл XLSM в Microsoft Excel, вы увидите следующий код макроса.
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"); |