Pubblico API Modifiche Aspose.Diagram 6.6.0

Aggiunge i formati VSDM, VSSM e VSTM nella classe LoadFileFormat

Questa versione aggiunge il supporto per la lettura dei formati Visio abilitati per le macro.

Aggiunge i formati VSDM, VSSM e VSTM nella classe SaveFileFormat

Questa versione aggiunge il supporto per la scrittura di formati Visio abilitati per le macro.

Modifica il codice del modulo VBA nel Visio Diagram

Abbiamo aggiunto le classi VbaModule, VbaModuleCollection, VbaProject, VbaProjectReference e VbaProjectReferenceCollection. Queste classi aiutano a ottenere il controllo sul progetto VBA. Utilizzando questa nuova versione 6.6.0 o successiva, gli sviluppatori possono estrarre e modificare il codice del modulo VBA. Si prega di controllare questo esempio di codice:

C#

 // load an existing Visio diagram

Diagram diagram = new Diagram(@"c:\temp\macro.vsdm", LoadFileFormat.VSDM);

// extract VBA project

Aspose.Diagram.Vba.VbaProject v = diagram.VbaProject;

// Iterate through the modules and modify VBA module code

foreach (VbaModule module in diagram.VbaProject.Modules)

{

    string code = module.Codes;

    if (code.Contains("This is test message."))

        code = code.Replace("This is test message.", "This is Aspose.Diagram message.");

    module.Codes = code;

}

// save the Visio diagram

diagram.Save(@"c:\temp\out.vssm", SaveFileFormat.VSSM);

Errore durante il rendering della macro ‘codice’: valore non valido specificato per il parametro lang

Aggiunge una proprietà ImageData nella classe ForeignData

Rappresenta un’immagine di un oggetto ole come un array di byte. Oltre a questo, abbiamo anche migliorato la manipolazione degli oggetti OLE. Gli sviluppatori ora possono anche sostituire un oggetto OLE nel Visio diagram. Controlla questo esempio di codice:

C#

 // load a Visio diagram

Diagram diagram = new Diagram(DirPath + "Drawing1.vsdx");

// get page of the Visio diagram by name

Aspose.Diagram.Page page = diagram.Pages.GetPage("Page-1");

// get shape of the Visio diagram by ID

Aspose.Diagram.Shape OLE_Shape = page.Shapes.GetShape(2);

// filter shapes by type Foreign

if (OLE_Shape.Type == Aspose.Diagram.TypeValue.Foreign)

{

    if (OLE_Shape.ForeignData.ForeignType == ForeignType.Object)

    {

        Stream Ole_stream = new MemoryStream(OLE_Shape.ForeignData.ObjectData);

        // get format of the OLE file object

        Aspose.Words.FileFormatInfo info = Aspose.Words.FileFormatUtil.DetectFileFormat(Ole_stream);

        if (info.LoadFormat == Aspose.Words.LoadFormat.Doc || info.LoadFormat == Aspose.Words.LoadFormat.Docx)

        {

            // modify an OLE object

            var doc = new Aspose.Words.Document(new MemoryStream(OLE_Shape.ForeignData.ObjectData));

            doc.Range.Replace("testing", "Aspose", false, true);

            MemoryStream outStream = new MemoryStream();

            doc.Save(outStream, Aspose.Words.SaveFormat.Docx);

            // save back an OLE object

            OLE_Shape.ForeignData.ObjectData = outStream.ToArray();

        }

    }

}

// save Visio diagram

diagram.Save(DirPath + "modified.vsdx", SaveFileFormat.VSDX);

Errore durante il rendering della macro ‘codice’: valore non valido specificato per il parametro lang