Gestisci i codici VBA della cartella di lavoro con attivazione macro di Excel.
Aggiungi un modulo VBA in C#
Il seguente codice di esempio crea una nuova cartella di lavoro e aggiunge un nuovo modulo VBA e codice macro e salva l’output nel formato XLSM. Una volta, aprirai il file di output XLSM in Microsoft Excel e fai clic sulSviluppatore > Visual Basic comandi di menu, vedrai un modulo chiamato “TestModule” e al suo interno vedrai il seguente codice macro.
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
Ecco il codice di esempio per generare il file di output XLSM con il modulo VBA e il codice macro.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create new workbook | |
Workbook workbook = new Workbook(); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Add VBA Module | |
int idx = workbook.VbaProject.Modules.Add(worksheet); | |
// Access the VBA Module, set its name and codes | |
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.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); |
Modifica VBA o Macro in C#
È possibile modificare VBA o codice macro utilizzando Aspose.Cells. Aspose.Cells ha aggiunto il seguente spazio dei nomi e classi per leggere e modificare il progetto VBA nel file Excel.
- Aspose.Cells.Vba
- VbaProject
- VbaModuleCollection
- Modulo Vba
Questo articolo ti mostrerà come modificare il VBA o il codice macro all’interno del file Excel di origine utilizzando Aspose.Cells.
Il seguente codice di esempio carica il file Excel di origine che contiene un codice VBA o macro seguente
Sub Button1_Click()
MsgBox "This is test message."
End Sub
Dopo l’esecuzione del codice di esempio Aspose.Cells, il codice VBA o Macro verrà modificato in questo modo
Sub Button1_Click()
MsgBox "This is Aspose.Cells message."
End Sub
Puoi scaricare ilfile Excel di origine e ilfile Excel di output dai link indicati.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook object from source Excel file | |
Workbook workbook = new Workbook(dataDir + "sample.xlsm"); | |
// Change the VBA Module Code | |
foreach (VbaModule module in workbook.VbaProject.Modules) | |
{ | |
string code = module.Codes; | |
// Replace the original message with the modified message | |
if (code.Contains("This is test 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"); |
Argomenti avanzati
- Aggiungi un riferimento alla libreria al progetto VBA nella cartella di lavoro
- Assegna macro al controllo del modulo
- Controlla se la firma digitale del codice VBA è valida
- Controlla se il codice VBA è firmato
- Controlla se il progetto VBA in una cartella di lavoro è firmato
- Controlla se il progetto VBA è protetto e bloccato per la visualizzazione
- Copia VBA Macro UserForm DesignerStorage dal modello alla cartella di lavoro di destinazione
- Firma digitalmente un progetto di codice VBA con certificato
- Esporta certificato VBA su file o stream
- Filtra il progetto VBA durante il caricamento di una cartella di lavoro
- Scopri se il progetto VBA è protetto
- Proteggi con password il progetto VBA della cartella di lavoro di Excel