フォームコントロールにマクロコードを割り当てる
Contents
[
Hide
]
Aspose.Cellsでは、ボタンなどのフォームコントロールにマクロコードを割り当てることができます。ワークブック内のフォームコントロールに新しいマクロコードを割り当てるには、ShapeCollection.addShape()メソッドを使用してください。
Aspose.Cellsを使用してフォームコントロールにマクロコードを割り当てる
次のサンプルコードは、新しいブックを作成し、フォームコントロールにマクロコードを割り当ててXLSM形式で出力します。 出力されたXLSMファイルをMicrosoft Excelで開くと、以下のマクロコードが表示されます。
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
マクロコードを含む出力XLSMファイルを生成するサンプルコードを以下に示します。
This file contains hidden or 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"); |