管理Excel宏启用的工作簿的VBA代码。

在Python中添加VBA模块

以下示例代码创建一个新工作簿,并添加一个新的VBA模块和宏代码,将输出保存为XLSM格式。一旦您打开输出的XLSM文件并单击“开发人员> Visual Basic”菜单命令,您将看到一个名为“TestModule”的模块,并在其中看到以下宏代码。

 Sub ShowMessage()

    MsgBox "Welcome to Aspose!"

End Sub

以下是生成带有VBA模块和宏代码的输出XLSM文件的示例代码。

from aspose.cells import SaveFormat, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create new workbook
workbook = Workbook()
# Access first worksheet
worksheet = workbook.worksheets[0]
# Add VBA Module
idx = workbook.vba_project.modules.add(worksheet)
# Access the VBA Module, set its name and codes
module = workbook.vba_project.modules[idx]
module.name = "TestModule"
module.codes = "Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub"
# Save the workbook
workbook.save(dataDir + "output_out.xlsm", SaveFormat.XLSM)

在Python中修改VBA或宏

以下示例代码加载带有以下VBA或宏代码的源Excel文件

 Sub Button1_Click()

    MsgBox "This is test message."

End Sub

在执行Aspose.Cells for Python via .NET示例代码后,VBA或宏代码将被修改为如下内容

 Sub Button1_Click()

    MsgBox "This is Aspose.Cells message."

End Sub

您可以从以下链接下载源Excel文件输出Excel文件

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create workbook object from source Excel file
workbook = Workbook(dataDir + "sample.xlsm")
# Change the VBA Module Code
for module in workbook.vba_project.modules:
code = module.codes
# Replace the original message with the modified message
code = code.replace("This is test message.", "This is Aspose.Cells message.")
module.codes = code
# Save the output Excel file
workbook.save(dataDir + "output_out.xlsm")

高级主题