‘ Grazie alla libreria OpenXml SDK di Microsoft, inclusa dalla release 2015.05b della piattaforma ‘ web QWay/QualiWare, è possibile con poche righe di codice aggiungere contenuti ad un documento Word esistente. ‘ Il seguente frammento di codice inserisce in un documento Word un testo all'interno di una parte identificata da un segnalibro Dim path_doc As String ‘ Recupera il percorso del documento corrente path_doc = "<percorso del documento>" Dim myDoc As DocumentFormat.OpenXml.Packaging.WordprocessingDocument = DocumentFormat.OpenXml.Packaging.WordprocessingDocument.Open(path_doc, True) Dim mainPart As DocumentFormat.OpenXml.Packaging.MainDocumentPart = myDoc.MainDocumentPart Dim bkmStart As DocumentFormat.OpenXml.Wordprocessing.BookmarkStart= myDoc.MainDocumentPart.Document.Body.Descendants(Of DocumentFormat.OpenXml.Wordprocessing.BookmarkStart)().FirstOrDefault(Function(x) x.Name = "<nome del segnalibro>") Dim bkmEnd As DocumentFormat.OpenXml.Wordprocessing.BookmarkEnd= myDoc.MainDocumentPart.Document.Body.Descendants(Of DocumentFormat.OpenXml.Wordprocessing.BookmarkEnd)().FirstOrDefault(Function(x) x.id.Value= bkmStart.id) Dim P As DocumentFormat.OpenXml.Wordprocessing.Paragraph=New DocumentFormat.OpenXml.Wordprocessing.Paragraph Dim R As DocumentFormat.OpenXml.Wordprocessing.Run = p.AppendChild(New DocumentFormat.OpenXml.Wordprocessing.Run()) Dim RP As DocumentFormat.OpenXml.Wordprocessing.RunProperties = R.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.RunProperties()) Dim b As DocumentFormat.OpenXml.Wordprocessing.Bold = New DocumentFormat.OpenXml.Wordprocessing.Bold() b.Val = true RP.AppendChild(b) dim fs As DocumentFormat.OpenXml.Wordprocessing.Fontsize = New DocumentFormat.OpenXml.Wordprocessing.FontSize() fs.Val = "36" rp.Append(fs) R.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Text("Prima riga")) R.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Break()) R.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Text("Seconda riga")) R.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Break()) R.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Text("Terza riga")) bkmEnd.InsertBeforeSelf(P) mainPart.Document.Save() myDoc.Close()