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 :

photo sur signet sur word


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 49
    Par défaut photo sur signet sur word
    bonsoir, j
    e travail en vb.net j'ouvre un document word qui sera pre rempli (grace a des signet) avec des champs de ma bd, le probleme est que je doit donc aussi mettre la photo (qui est dans la base) sur le word
    comment faire?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            IDBNull(dst.Tables("eleve").Rows(0).Item("nomEnfant"), oDoc.Bookmarks.Item("nomEleve").Range.Text)
            IDBNull(dst.Tables("eleve").Rows(0).Item("prenomEnfant"), oDoc.Bookmarks.Item("prenomEleve").Range.Text)
            IDBNull(dst.Tables("eleve").Rows(0).Item("dateNaiss"), oDoc.Bookmarks.Item("dateNaiss").Range.Text)
            IDBNull(dst.Tables("eleve").Rows(0).Item("classe"), oDoc.Bookmarks.Item("classe").Range.Text)
            IDBNull(dst.Tables("eleve").Rows(0).Item("nomMartialM"), oDoc.Bookmarks.Item("nomMaritalMere").Range.Text)
            IDBNull(dst.Tables("eleve").Rows(0).Item("nomNaissP"), oDoc.Bookmarks.Item("nomPere").Range.Text)
            IDBNull(dst.Tables("eleve").Rows(0).Item("nomNaissM"), oDoc.Bookmarks.Item("nomNaissMere").Range.Text)
    La photo est de type byte.
    Et la fonction IDBNull est une fonction qui controle si la données n'est pas vide.

    merci d'avance

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour ne pas utiliser le presse-papier, je passe par un fichier temporaire:

    En C#, ma procedure est celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    internal void WA_InsertImage(string FileName,Word.Range TheRange)
    {
      object TheRangeObject=TheRange ;
      Word.InlineShape Shape=null ;
      try { Shape=WA_Document.InlineShapes.AddPicture
            (FileName,ref FalseObject,ref TrueObject,ref TheRangeObject) ; }
      catch {} ;
      if (Shape!=null) 
      {
        // Shape.Height=
      }
      else WA_ReplaceRangeText(TheRange,"Image not found : "+FileName) ;
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 49
    Par défaut
    bonsoir, merci de ta reponse
    es ce que tu pourai m'explique un peu la marche que tu a suivi? (je ne connais pas le c#)
    et aussi je ne vois pas ou tu met la position de la photo

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour que la photo s'insére sur le signet , le paramètre Range à passer à la procedure sera par exemple :
    oDoc.Bookmarks.Item("nomEleve").Range

    FalseObject et TrueObject sont des cast de booléen sur un objet.

    Dans Word.InlineShape Shape Word.InlineShape est une classe de Word automation et Shape une instance de la classe.

    Quant à WA_ReplaceRangeText, c'est ma gestion d'erreurs qu'on poourrait aussi traiter en retournant une string d'erreur.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 49
    Par défaut
    merci beaucoup.
    et a quoi corespond

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    WA_Document est l'instance du document Word (oDoc dans ton code).

    "WA" est un prefixe que j'utilise systématiquement dans ma classe dédiée à Word Automation.

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

Discussions similaires

  1. [WD-2007] Opération sur Signet Word
    Par MxK999 dans le forum Word
    Réponses: 3
    Dernier message: 31/10/2013, 14h57
  2. ajout de signets en dynamique sur un document word
    Par FlappY_flap dans le forum Langage
    Réponses: 0
    Dernier message: 24/08/2010, 10h37
  3. donné sur un fichier word
    Par jekeclo dans le forum Access
    Réponses: 2
    Dernier message: 05/12/2005, 19h16
  4. [VB6] Écrire sur un doc Word
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/11/2005, 18h02
  5. Ecriture sur un fichier Word: Pb Ouverture
    Par drinkmilk dans le forum ASP
    Réponses: 2
    Dernier message: 11/06/2004, 09h48

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