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 :

copy/paste header de Word


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 114
    Par défaut copy/paste header de Word
    Bonjour à tous,

    Voilà, je dois modifier le header et footer de +ou- 700 documents.

    Je réussi à faire le copier (d'un modèle) et le coller sur mes documents mais le problème c'est que la mise en page est modifié, j'ai bien les images, les couleurs du texte, juste l'alignement du texte n'est pas "coller"

    Voici mon code pour le header:
    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
     
    Public Sub updateHeader(pathDoc As String)
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim WordTemplate As Word.Document
     
    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Open(pathDoc)
    Set WordTemplate = WordApp.Documents.Open("templateHeaderSpeed.doc")
    WordApp.Visible = True
    WordDoc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Delete 'J'ai rajouté cette ligne en pensant que si je supprimait l'ancien header, cela marcherai ;)
     
    WordTemplate.Sections(1).Headers(wdHeaderFooterPrimary).Range.Copy
    WordDoc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Paste
     
    End Sub
    Quelqu'un aurais une idée ?

    Et ma deuxième question: je dois aussi modifier le footer, la différence est que je dois concerver le texte et ajouter un logo.

    Une piste ?

    Merci,

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 114
    Par défaut
    Bon, j'ai pas trouvé encore de solution pour mon header. Mais je devais changer unique du texte, je suis passer par find et remplace.
    Voici le code:
    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
     
    Public Sub findReplaceHeader(pathdoc As String)
     
        Dim WordApp As Word.Application
        Dim WordDoc As Word.Document
        Dim myRange As Range
     
        Set WordApp = CreateObject("Word.Application")
        Set WordDoc = WordApp.Documents.Open(pathdoc)
     
        WordApp.Visible = False
     
        Set myRange = WordDoc.StoryRanges(wdPrimaryHeaderStory)
     
        With myRange.Find
            .Execute FindText:="TextRechercher", ReplaceWith:="TextRemplacer", Format:=True
        End With
     
        WordDoc.Save
        WordDoc.Close
     
        Set WordDoc = Nothing
        Set WordApp = Nothing
    End Sub
    Et pour mon problème de footer, je devais garder le texte et ajouter un logo, là, j'ai trouvé la solution ;-)
    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
     
    Public Sub updateFooter(pathdoc As String)
        Dim WordApp As Word.Application
        Dim WordDoc As Word.Document
     
        Dim myShape As Shape
        Dim PicRange As Range
     
        Set WordApp = CreateObject("Word.Application")
        Set WordDoc = WordApp.Documents.Open("template.doc")
     
        WordApp.Visible = True
     
        Set myShape = WordDoc.Sections(1).Footers(wdHeaderFooterPrimary).Shapes.AddPicture(FileName:="2\logo_iag.png")
     
        With myShape
            .Left = -20
            .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
            .Top = -5
            .RelativeVerticalPosition = wdRelativeVerticalPositionPage
            .Width = 80
        End With
     
        WordDoc.Save
        WordDoc.Close
     
        WordApp.Quit
     
        Set WordDoc = Nothing
        Set WordApp = Nothing
    End Sub
    Je mets résolu même si j'aurais aimer connaitre une solution pour un copy/past d'un header en gardant la mise en page

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

Discussions similaires

  1. Copy & Paste d'Excel à Word, error 5342
    Par puresprit dans le forum VB.NET
    Réponses: 3
    Dernier message: 02/05/2008, 23h03
  2. Word Event copy/paste
    Par elnfrancois dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/10/2007, 10h29
  3. [VBA-E] Probleme avec l'activate d'un classeur ouvert pour un copy paste
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/08/2006, 22h31
  4. [VBA-E] Probleme COPY PASTE d'une feuille à une autre
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2006, 17h56
  5. [VBA] word automation copy/paste
    Par Lysis dans le forum VBA Word
    Réponses: 2
    Dernier message: 16/09/2005, 12h45

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