Le macro VBA vengono utilizzate per automatizzare diverse funzionalità nelle presentazioni PowerPoint. Ad esempio, puoi utilizzare VBA per eseguire attività ripetitive, generare grafici e moduli, ecc. In questo articolo imparerai come lavorare con le macro VBA di PowerPoint a livello di codice. In particolare, l’articolo tratterà come aggiungere, estrarre o rimuovere macro VBA nelle presentazioni PowerPoint utilizzando C#.
- API C# per macro VBA di PowerPoint
- Aggiungi macro VBA nelle presentazioni di PowerPoint usando C#
- Estrai le macro VBA dalle presentazioni di PowerPoint
- Rimuovere le macro VBA dalle presentazioni di PowerPoint
- Ottieni una licenza API gratuita
API C# per macro VBA di PowerPoint
Aspose.Slides for .NET è un’API ricca di funzionalità che consente di creare, modificare e convertire presentazioni PowerPoint utilizzando C#. Inoltre, l’API ti consente di lavorare senza problemi con le macro VBA. Per utilizzare l’API, puoi scaricare la sua DLL o installarla usando NuGet.
PM> Install-Package Aspose.Slides.NET
Aggiungi macro VBA nelle presentazioni di PowerPoint usando C#
Di seguito sono riportati i passaggi per aggiungere una macro VBA in una presentazione di PowerPoint usando C#.
- Innanzitutto, crea un’istanza della classe Presentation per caricare la presentazione di PowerPoint.
- Assegna una nuova proprietà VbaProject a Presentation.VbaProject.
- Aggiungi un modulo VBA vuoto usando il metodo Presentation.VbaProject.Modules.AddEmptyModule(string).
- Ottieni il riferimento del modulo aggiunto in un oggetto IVbaModule.
- Aggiungi il codice sorgente al modulo VBA usando la proprietà IVbaModule.SourceCode.
- Crea riferimenti a Microsoft Office e aggiungili alla raccolta Presentation.VbaProject.References.
- Infine, salva il file di presentazione usando il metodo Presentation.Save(string, SaveFormat.Pptm).
Nell’esempio di codice seguente viene illustrato come aggiungere una macro VBA in una presentazione di PowerPoint usando C#.
// Carica presentazione
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Crea un nuovo progetto VBA
presentation.VbaProject = new VbaProject();
// Aggiungi un modulo vuoto al progetto VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Imposta il codice sorgente del modulo
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Crea riferimento a<stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Crea riferimento a Office
VbaReferenceOleTypeLib officeReference =
new VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// Aggiungi riferimenti al progetto VBA
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Salva presentazione
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Estrai macro VBA da PowerPoint usando C#
Aspose.Slides per .NET consente anche di estrarre moduli VBA da progetti VBA in presentazioni PowerPoint. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Innanzitutto, carica la presentazione PowerPoint con abilitazione macro utilizzando la classe Presentazione.
- Verifica se la proprietà Presentation.VbaProject non è nulla.
- Passa in rassegna ogni IVbaModule nella raccolta Presentation.VbaProject.Modules.
- Infine, estrai il codice sorgente usando la proprietà IVbaModule.SourceCode.
Nell’esempio di codice seguente viene illustrato come estrarre le macro VBA di PowerPoint usando C#.
// Carica presentazione
using (Presentation pres = new Presentation("presentation.pptm"))
{
if (pres.VbaProject != null) // check if Presentation contains VBA Project
{
foreach (IVbaModule module in pres.VbaProject.Modules)
{
Console.WriteLine(module.Name);
Console.WriteLine(module.SourceCode);
}
}
}
Rimuovere le macro VBA di PowerPoint
Puoi anche rimuovere una particolare macro VBA da una presentazione di PowerPoint. Per questo, accederai e rimuoverai il modulo VBA dal suo indice dal progetto VBA. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Innanzitutto, carica la presentazione PowerPoint con abilitazione macro utilizzando la classe Presentazione.
- Rimuovere il modulo VBA per indice utilizzando il metodo Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Infine, salva la presentazione aggiornata usando il metodo Presentation.Save(string, SaveFormat.Pptm).
Nell’esempio di codice seguente viene illustrato come rimuovere una macro VBA di PowerPoint.
// Carica presentazione
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Rimuovere il modulo VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Salva presentazione
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Ottieni una licenza API gratuita
Puoi provare Aspose.Slides per .NET senza limitazioni di valutazione richiedendo una licenza temporanea.
Conclusione
In questo articolo, hai imparato a lavorare con le macro VBA di PowerPoint usando C#. In particolare, hai visto come aggiungere, estrarre e rimuovere macro VBA nelle presentazioni PowerPoint. Per esplorare altre funzionalità dell’API, puoi consultare la documentazione. Inoltre, puoi sentirti libero di farci sapere delle tue domande tramite il nostro forum.
Guarda anche
Suggerimento: potresti voler dare un’occhiata ad Aspose app Web per la rimozione di macro GRATUITA.