Bonjour,
je dois remplacer des bookmark dans un document open xml
Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BookmarkName = PrintParamsRow.BOOKMARK
'Run' est un type et ne peut être utilisé comme expression
ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
BookmarkS.Parent.InsertAfter((Run)(New Run(New Text(BookmarkValue), BookmarkS)))