Bonjour,
je dois remplacer des bookmark dans un document open xml
Voici mon code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Private Sub ReplaceBookmark(ByVal wordDocument As WordprocessingDocument, ByVal IdTemplate As Long, ByVal ParamsDictionary As IDictionary(Of String, String))
Dim BookmarkS As BookmarkStart
Dim BookmarkE As BookmarkEnd
Dim BookmarkName As OpenXmlElement
Dim BookmarkValue As String
Dim NumberRow As Integer
For Each PrintParamsRow As dsPrintParams.PRINT_PARAMSRow In Me.PrintParams.dsBD.PRINT_PARAMS.Select("IDTEMPLATE = " & IdTemplate)
BookmarkName = PrintParamsRow.BOOKMARK
BookmarkName = BookmarkS.NextSibling()
BookmarkValue = ParamsDictionary.TryGetValue(BookmarkName, BookmarkValue)
While (Not BookmarkName Is Nothing And BookmarkName Is BookmarkE)
Dim NextElement As OpenXmlElement = BookmarkName.NextSibling()
BookmarkName.Remove()
BookmarkName = NextElement
End While
BookmarkS.Parent.InsertAfter((Run)(New Run(New Text(BookmarkValue), BookmarkS)))
Next
End Sub |
Malheureusement, j'ai encore des "petites" erreurs dans mon code
Impossible de convertir une valeur de type 'String' en DocumentFormat.OpenXml.OpenXmlElement
ici :
BookmarkName = PrintParamsRow.BOOKMARK
'Run' est un type et ne peut être utilisé comme expression
ici :
BookmarkS.Parent.InsertAfter((Run)(New Run(New Text(BookmarkValue), BookmarkS)))
Partager