フォームコントロールにマクロコードを割り当てる

Aspose.Cellsを使用してフォームコントロールにマクロコードを割り当てる

次のサンプルコードは、新しいブックを作成し、フォームコントロールにマクロコードを割り当ててXLSM形式で出力します。 出力されたXLSMファイルをMicrosoft Excelで開くと、以下のマクロコードが表示されます。

 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");