Ecrire dans un fichier Word (*.doc)

cs_lemagicien Messages postés 95 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 10 novembre 2004 - 17 oct. 2004 à 23:49
cs_lemagicien Messages postés 95 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 10 novembre 2004 - 4 nov. 2004 à 18:25
Voilà j'aimerais créer un zone de text dans word et y ecrire, le tout à partir de mon programme en VB6.

Je sais deja comment écrire mais rien de plus.

J'aimerais également inclure des images dans les zones de texts.

Merci de vos réponses.
Lemagicien

4 réponses

cs_Vince41 Messages postés 7 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 2 mars 2005
3 nov. 2004 à 13:40
J'ai déjà fait ça mais en partant d'un modèle de documents ds lequel j'avais déjà créer mes tableau si ça t'interresse fait moi signe
0
cs_lemagicien Messages postés 95 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 10 novembre 2004
3 nov. 2004 à 17:09
oui je veux bien

merci

Lemagicien
0
cs_Vince41 Messages postés 7 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 2 mars 2005
3 nov. 2004 à 17:51
Je te préviens tout de suite ma méthode est fastidieuse peut être en existe t'il une plus simple.

Tu créer un tableau dans un .dot, ensuite tu te met dans un ecase et tu vas dans le menu insertion puis champs.

Dans la liste tu sélectionne "DocVariable" et tu saisi un nom.
tu repète cette opération pour tout ton tableau.

ensuite un bout de code VB commenté :

Public Sub FullEtiq(DocEtiq As String)
  
  Dim Doc As Object
  Dim i, i1, j As Integer
  Dim BA, QT, AJ As String

  'Initialisation des variables  BA "":  QT "": AJ = ""

  'Création de l'objet word
  Set wrd = CreateObject("word.application")

  'Ouverture du document DocEtiq = chemin & nom_Fichier
  Set Doc = wrd.Documents.Open(DocEtiq)

  'Remplissage du doc avec différentes variable
  'Je n'est pas trouvé comment utilisé les nom des champs du
  '.dot pour les remplir donc obligé de passer par un indice
  'attention de ne pas ce trompé
  Doc.Fields(1).Result.InsertBefore (Nom_FichFormule)
  
  Doc.Fields(2).Result.InsertBefore (gFichMat)

  Doc.Fields(10).Result.InsertBefore (Nom_de_la_Formule)

  Doc.Fields(23).Result.InsertBefore (Date)
  'Fermeture des objets document et word
  If Not (wrd Is Nothing) Then
    Doc.Close
    wrd.Quit
    Set Doc = Nothing
    Set wrd = Nothing
  End If
  '... à toi de jouer maintenant
end sub


Au fait petite astuce pour ne pas modifier ton .dot par VB

  'nom_modele :chemin et le nom de ton modèle
  'Etiquette : chemin et nom du document apparaissant
  'à l'utilisateur
  FileCopy nom_modele, Etiquette


J'espère t'avoir été utile
Bon courage
0
cs_lemagicien Messages postés 95 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 10 novembre 2004
4 nov. 2004 à 18:25
Merci je v tester ca
Lemagicien
0
Rejoignez-nous