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.NET Discussion :

Word et VBExpress2005


Sujet :

VB.NET

  1. #21
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Personne?

    J'ai cherché partout, et je n'y arrive toujours pas..

  2. #22
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Tu as lu le tutoriel du site sur la question ? son lien est dans un autre poste sur un probléme de génération pdf, word, excel.

    Peut être trouveras tu réponse à ton soucis ?

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Oui, j'ai lu tout les tutoriels que j'ai pu trouvé concernant le puplipostage, la fusion, le pilotage, et j'ai toujours pas réussi à faire le lien entre word et mon programme en VB2005.


    J'ai bien trouvé un morceau de code,
    ca m'ouvre word, le fichier, ca lance le puplipostage, mais j'aimerais rajouter quelques lignes de code afin d'ouvrir à une certaine ligne de la bdd. Celle qui remplissait la fiche candidat du programme avant que je clique sur "apercu avant impression" ce qui m'ouvre word.

    Je m'explique: il y a 1000 candidats dans la bdd, je travaille sur la fiche avec mon programme, par exemple nom: Toutlemonde prénom: Jesuis et toutes autres genre d'info, et puis je souhaite imprimer la fiche candidat, donc je clique sur "apercu avant impression" qui me lance word et le publipostage. Mais il me le lance avec toute la bdd, et moi je souhaiterais qu'il aille directement à la ligne concernée pour m'afficher la bonne fiche à imprimer.
    (jsuis pas très claire.. -_-')

    Comment faire?

    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
    'Voici pour la déclaration du code:
    Dim wdapp As Word.Application
     
    'Démarrer Word
    Set wdapp = CreateObject("Word.application")
    With wdapp
           .Visible = True
     
          'ouvrir le document
          .Documents.Open "Chemincompletdudocumentwordàouvrir"
     
          'Diriger le publipostage vers un nouveau document
         .ActiveDocument.MailMerge.Execute
    End With
     
    'fermer et libérer les objets
    Set wdapp = Nothing

    Faudra que je modifie pour mettre le code en VB2005

  4. #24
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    J'ai vraiment besoin de cette info...

    Si quelqu'un sait

  5. #25
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    Pourquoi faire du publipostage, remplit ta feuille avec les info que tu a dans ta base de données. u doit pouvoir mettre en forma ta feuille word, et tu imprime. Je ne voit pas pourquoi tu veut faire du publipostage si tu n'a qu'une seule candidature a afficher ??

    Sinon, si tu veut a tout pris du publipostage, regarde au niveau des macros sous vba word, a mon avis tu va pouvoir faire ce que tu veut.

  6. #26
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Ok, c'est vrai, j'ai peut etre pas vraiment étudié toute les possibilité.


    Mais il me faut le format du fichier .dot ou . doc que j'ai avec word. Et à part ouvrir word, avec la feuille, et la bonne ligne de la bdd, comment faire?

  7. #27
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    ce tuto est tres bien (meme si il est pour c#)

    http://jab.developpez.com/tutoriels/dotnet/word/#L5

    tu créé des balises que tu rempli grace a tes objets vb.net.
    comme ca tu sait sur qu'elle ligne de la base de données tu travail,et tu peut facilement changer la mise en page de ton document sans avoir a remanier ton code...

  8. #28
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Merci Bouboune !

    Je fonce tester de suite

  9. #29
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    mon code n'aime pas get_item et je ne sais pas comment le remplacer.

    Sinon, j'ai mis des champs de formulaire sur mon fichier word, et qund je l'ouvre, il faudrait donc les remplir avec les données du controle d'avant. (de la form1)

    Et c'est ce lien que je n'arrive pas à faire.

  10. #30
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    La je ne sais pas... Par contre fait attention, le tutoriel est en C#, pas en VB !!

  11. #31
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Oui, ne t'inquiètes pas ^^ j'utilise un convertisseur:
    http://www.developerfusion.co.uk/uti...sharptovb.aspx

    Mais il ne converti pas toujours comme il le faut.. Et j'ai pas réussi à trouver l'équivalent.

    Donc je continue mes recherches...

  12. #32
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Avec ce code, j'arrive à afficher le numéro de fiche du candidat dans le premier champ.

    Comment faire pour y mettre le nom (le premier champ est pour le nom). J'ai testé plusieurs truc, mais sans succès..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      'Fields(1) : premier champ du document Word %%%
            nvDoc.Fields(1).Result.Text = Me.DonneesBindingSource.Position

  13. #33
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    peut tu mettre un peu plus de code que j'essaye stp, ton topic m'interresse vachement...

  14. #34
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    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
    Private Sub ImrpimerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImrpimerToolStripMenuItem.Click
            'ici, je clique sur ma form1 sur "appercu avant impression"
     
            ' connexion à Word
            Dim msWord As New Microsoft.Office.Interop.Word.Application()
            msWord.Visible = False
            ' mettez cette variable à true si vous souhaitez visualiser les opérations.
            Dim missing As Object = System.Reflection.Missing.Value
     
            ' J'ouvre le document word, avec des champ insérés dedans
            Dim nvDoc As New Microsoft.Office.Interop.Word.Document()
            nvDoc = msWord.Documents.Open("C:\Program Files\Microsoft Office\Templates\Davidson\FCandidat.doc")
            ' Attribuer le nom
            Dim fileName As Object = "Candidat.doc"
     
            'Fields(1) : premier champ du document Word %%% Ici je remplis le champ.. Maism alheureusement, ca ne me met que le numéro de la fiche candidat (alors que je souhaiterais le nom, qui vient juste après dans la table)
    (sur une ligne de table ca fait: numéro de fiche, nom, prénom, etc..)
            nvDoc.Fields(1).Result.Text = Me.DonneesBindingSource.Position
    'et donc ca m'affiche le numéro de fiche dans le champ -_-'
     
            ' Me.DonneesTableAdapter.Fill(Me.BaseDataSet.Donnees)
            'Me.DonneesBindingSource.Position = My.Forms.Form1.DonneesBindingSource.Position
    'heu.. ses deux lignes, c'est des lignes avec lequelles j'apelle ma bdd, mais c'est pour les avoir sous les yeux ^^
     
     
            ' Fermeture de word
            'msWord.Quit(missing, missing, missing)
        End Sub

  15. #35
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    Pourquoi ne pas recuperer les données de ta table dans un tableau, et ensuite parcourir ce tableau pour les inserer dans ton document word
    ???
    car si j'ai compris comment ce marche (toujours pas testé) field(1) est le 1° champs de ton document word, et tu ne lui indique pas clairement ce que tu veut mettre dedans.

    essaye pour tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    nvDoc.Fields(1).Result.Text = "premier"
    nvDoc.Fields(2).Result.Text = "deuxieme"
    nvDoc.Fields(3).Result.Text = "troisieme"...
    car ton code me parait un peu bizarre , mais c'est peu etre moi

  16. #36
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Oui, j'ai déjà testé, et ca me mets bien dans la premiere case premier, dans la seconde: deuxieme, etc...

    C'est bien ca mon probleme, je n'arrive pas à dire à mon code exactement ce que je veux dedans. Ton idée de datagrid me met sur la bonne voie je pense. Mais le datagd serait invisible? et à ce moment là, comment faire après pour dire "tu remplis tel champ avec telle case de la datagd"?

    Merci d'avance boubounne, tu m'aides bien =)

  17. #37
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    Je ne parle pas de datagrid, mais de datareader plutot.
    Tu te connecte a ta base de données, tu fait ta requete ce qui te rempli ton dataset. Dans ce dataset, tu n'a qu'une ligne de la base. Il suffit de recuperer les données et de les mettre dans ta feuille :

    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
     
    'connection a la base
     Dim MyConnexion As OleDbConnection = New OleDbConnection("chaine de connection")
     
     Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     Dim myReader As OleDbDataReader
     
    'creation de la requete sql
     Mycommand.CommandText = "select nom, prenom, age... from personne where id = " & valeur
     
    'ouverture de la connection et recuperation des données
     MyConnexion.Open()
     myReader = Mycommand.ExecuteReader()
     
    'on insere les données dans la page xord
     nvDoc.Fields(1).Result.Text = myReader.GetString(0)
     nvDoc.Fields(2).Result.Text = myReader.GetString(2)
     nvDoc.Fields(3).Result.Text = myReader.GetString(3)...
     
    'on ferme la conenction
     MyConnexion.Close()
    ca devrait etre pas mal, je l'ai fait de tete, il n'est pas testé...

  18. #38
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    Hm, quand j'insère ton code il me dit que

    OleDbCommand, OleDbConnection, et OleDbDataReader ne sont pas des types définis.

    Je ne vois pas comment adapter le code à mon programme.. -_-;

    EDIT: oops, j'avais oublié le Imports System.Data.OleDb ^^

    Je teste.. et je tiens au jus

  19. #39
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Points : 319
    Points
    319
    Par défaut
    desole, j'ai oublié de te preciser ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    tu le met avant la declaration de ta classe, tout en haut ca devrait etre mieux ^^

  20. #40
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 117
    Points : 29
    Points
    29
    Par défaut
    ok alors, je me retrouve avec une erreur:
    Le format de la chaîne d'initialisation n'est pas conforme à la spécification qui débute à l'index 0.
    Au niveau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'connection a la base
     Dim MyConnexion As OleDbConnection = New OleDbConnection("Faut mettre quoi ici?")

Discussions similaires

  1. StringGrid, multiligne et word wrap
    Par Dajon dans le forum C++Builder
    Réponses: 7
    Dernier message: 17/09/2003, 17h15
  2. [VB6] Erreur lors de l'ouverture d'un document Word
    Par Marco le Pouillot dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/01/2003, 09h30
  3. [] Convertir un fichier word en pdf
    Par SpaceFrog dans le forum VBA Word
    Réponses: 7
    Dernier message: 06/12/2002, 15h27
  4. [AUTOMATION WORD]Pilotage Word par Delphi
    Par Sunny dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/12/2002, 17h09
  5. [VBA-W] [Word] Insérer une image MSChart
    Par fredo1664 dans le forum VBA Word
    Réponses: 2
    Dernier message: 20/11/2002, 09h09

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