IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Pilotage de Word et Signets


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut Pilotage de Word et Signets
    Bonjour
    Je remercie par avance les spécialistes du pilotage de word par vb.

    Je cherche a créer un document word , a y inserer des signets.
    Pour l'instant, j'ai créé une fonction qui me crée bien un fchier word. le seul souci, c'est que word se plante en l'ouvrant.
    Je me suis inspiré des exemples de la FAQ pour tenter cette approche, mais apparement, Word ne m'aime pas et je le lui rends bien mais bon, il faut que je le fasse
    voici mon code tel qu'il est actuellement

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Private Sub CreateWordDocSignets(FileName As String)
      Dim NumTable As Integer
      Dim objWord As New Word.Application
      Dim docWord As Word.Document
      Dim iPnt As Integer
      Dim Signet As String
      Dim Value As Variant
      Dim BkMark As Word.Bookmark
      objWord.Visible = False    '-- ne pas montrer l'application Word
      Set docWord = objWord.Documents.Add
      'pour chacune des trois tables
      For NumTable = 0 To 2
        For iPnt = 0 To Rs(NumTable).Fields.Count - 1
          Signet = Rs(NumTable).Fields(iPnt).Name      'recuperer un nom unique
          Signet = Replace(Signet, " ", "")      'retirer les blancs
          Signet = SuprAccents(Signet)      'remplacer les caracteres accentués par leur version non accentuée
          'ajouter le nom de la table devant
          Select Case NumTable
          Case 0
            Signet = "Dicteur_" & Signet
          Case 1
            Signet = "Secretaire_" & Signet
          Case 2
            Signet = "Client_" & Signet
          End Select
          Value = Signet  'pour test
          Set BkMark = docWord.Bookmarks.Add(Signet)
          BkMark.Range.Text = Value
        Next
      Next
      docWord.SaveAs FileName:=FileName
      Set docWord = Nothing    '-- détruire l'objet Document
      Set objWord = Nothing    '-- détruire l'objet Word
    End Sub
    Il s'agit de creer plusieurs signets NomTable_NomChamps , il y a trois tables ouvertes (en dao mais je ne pense pas que ce soit le problème)
    Et encore, je n'ai pas même evoqué le positionnement des bookmarks.

    Encore merci à ceux qui pourront m'aiguiller dans une direction qui plaira davantage a word et aux autres aussi d'ailleurs

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Finalament je suis arrivé à une solution

    à la fin de ma routine ,j'ai ajouté la fermeture du document et quitté word

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
     
      Next
      docWord.SaveAs FileName:=FileName
      docWord.Close
      Set docWord = Nothing    '-- détruire l'objet Document
      objWord.Quit
      Set objWord = Nothing    '-- détruire l'objet Word
    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [COM] Pilotage de Word à partir d'un objet COM
    Par Sangdrax1604 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/06/2006, 16h04
  2. Pilotage OLE Word avec Visual C++
    Par baka02 dans le forum MFC
    Réponses: 2
    Dernier message: 20/03/2006, 13h04
  3. Pilotage de Word
    Par richard038 dans le forum Langage
    Réponses: 5
    Dernier message: 11/01/2006, 13h53
  4. Pilotage de Word - Publipostage via BDD Firebird
    Par nonoxp dans le forum Bases de données
    Réponses: 1
    Dernier message: 06/04/2005, 09h30
  5. Pilotage de Word 2003
    Par dragonspyro93 dans le forum WinDev
    Réponses: 1
    Dernier message: 22/11/2004, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo