Назначение макроса элементу управления формы с Node.js через C++
Contents
[
Hide
]
Aspose.Cells позволяет назначить код макроса элементу управления формы, такому как кнопка. Используйте свойство Shape.getMacroName(), чтобы назначить новый код макроса элементу управления формы внутри книги.
Следующий пример создает новую рабочую книгу, назначает код макроса на кнопку формы и сохраняет результат в формате XLSM. После открытия файла XLSM в Microsoft Excel вы увидите следующий код макроса.
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
Назначить макрос на элемент управления формы в Node.js
Вот пример кода для генерации выходного файла XLSM с макросным кодом.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook();
const sheet = workbook.getWorksheets().get(0);
const moduleIdx = workbook.getVbaProject().getModules().add(sheet);
const module = workbook.getVbaProject().getModules().get(moduleIdx);
module.setCodes(
"Sub ShowMessage()" + "\r\n" +
" MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub"
);
const button = sheet.getShapes().addButton(2, 0, 2, 0, 28, 80);
button.setPlacement(AsposeCells.PlacementType.FreeFloating);
button.getFont().setName("Tahoma");
button.getFont().setIsBold(true);
button.getFont().setColor(AsposeCells.Color.Blue);
button.setText("Aspose");
button.setMacroName(sheet.getName() + ".ShowMessage");
const outputFilePath = path.join(dataDir, "Output.out.xlsm");
workbook.save(outputFilePath);