Lire le contenu d'un signet dans un document word
Résolu
Melancolie2010_2015
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- Word erreur signet non défini
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Espace insécable word - Guide
- Supprimer une page word - Guide
- Word et excel gratuit - Guide
4 réponses
Bonjour
Y’a des années que j’ai pas utilisé l’api de word (c’est trop chiant à mon goût, je préfère écrire directement un docx depuis).
A l’époque j’avais posté un exemple qui marchait avec les signets
https://codes-sources.commentcamarche.net/source/51010-piloter-word-via-microsoft-office-interop-word
Y’a des années que j’ai pas utilisé l’api de word (c’est trop chiant à mon goût, je préfère écrire directement un docx depuis).
A l’époque j’avais posté un exemple qui marchait avec les signets
https://codes-sources.commentcamarche.net/source/51010-piloter-word-via-microsoft-office-interop-word
Certes à l'époque je n'avais pas à lire le contenu d'un signet, mais à écrire des infos dans un modèle à l'emplacement de ces signets.
Mais, atteindre le signet, ce que tu fais en une seule ligne
Je l'avais décomposé en plusieurs, ce qui permettait de voir où ça ne marchait pas.
Parce que sur les noms de signets, il m'est arrivé de me faire avoir sur la casse ou un espace par exemple
Mais, atteindre le signet, ce que tu fais en une seule ligne
Dim M As String = wrdDoc.Bookmarks("TitreDoc").Range.Text
Je l'avais décomposé en plusieurs, ce qui permettait de voir où ça ne marchait pas.
Public Function AtteindreSignet(ByVal NomSignet As String) As Boolean Dim Nom As Object = CObj(NomSignet) _MesSignets = _MonDocument.Bookmarks If _MesSignets.Exists(NomSignet) Then _MonSignet = _MesSignets.get_Item(Nom) _MonSignet.Select() _MonRange = _MonSignet.Range Return True Else MessageBox.Show(String.Format("Le signet {0} n'existe pas dans le fichier.", NomSignet), "Insertion impossible", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Return False End If End Function
Parce que sur les noms de signets, il m'est arrivé de me faire avoir sur la casse ou un espace par exemple
PS, pour que le code soit en couleur, il faut faire comme décrit là
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je retiens ce code pour mes prochains projets.
Dans mon cas maintenant, j'ai des modèles de document word avec des entête et pieds de pages et une zone de signature pour la signature électronique (PKI racine). Sinon, je conviens avec vous que l'API de word n'est pas du tout aisé.
Je retiens dans le cadre de ma discussion qu'il est plus facile d'écrire dans les signets que de lire et récupérer ce qui y est écrit.