Hantera Excel makrobokkoderna.

Lägg till en VBA-modul i Python

Följande provkod skapar en ny arbetsbok och lägger till en ny VBA-modul och makrokod och sparar utdata i XLSM-format. När du öppnar utdata-XLSM-filen i Microsoft Excel och klickar på Utvecklare > Visuell grund-menykommandon kommer du att se en modul som heter “TestModule” och inuti den kommer du att se följande makrokod.

 Sub ShowMessage()

    MsgBox "Welcome to Aspose!"

End Sub

Här är provkoden för att generera utdata i XLSM-format med VBA-modul och makrokod.

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)

Ändra VBA eller Macro i Python

Följande provkod laddar käll-Excel-filen som har följande VBA- eller makrokod inuti den

 Sub Button1_Click()

    MsgBox "This is test message."

End Sub

Efter att ha kört Aspose.Cells för Python via .NET exempelprogram, kommer VBA- eller makokoden att ändras så här

 Sub Button1_Click()

    MsgBox "This is Aspose.Cells message."

End Sub

Du kan ladda ner den källa Excel-filen och den utdata Excel-filen från de angivna länkarna.

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

Fortsatta ämnen