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

VBA Word Discussion :

Comment ouvrir word depuis macro excel ?


Sujet :

VBA Word

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut Comment ouvrir word depuis macro excel ?
    bonjour,

    j'ai crée une macro ou :

    1) je saisis le chemin du repertoire ou il y a plein des fichiers *.doc
    2) et je parcours le repertoire et les fichiers et je mets le nom des fichiers dans excel (boucle)

    jusqu'ici tout ce passe bien

    3) en suite je dois ouvrir le fichier word en cours (boucle 2) ) et recupere le nbpage du doc puis le fermer

    et la j'ai un erreur du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    user-defined type not defined
    voici le code de ma macro ( macro excel ) :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
     
    '======================================================'
    '= the user paste the paste of folder and push button ='
    '= the macro find doc file  in the folder             ='
    '= each name of file is listed in excel sheet         ='
    '=                                                    ='
    '======================================================'
     
    Option Explicit
     
    Public folderinput As String
    Public rep As String
    Public nbpage As Integer
     
    Public Sub btnlist_Click()
     
    Dim celex As String
    Dim i As Integer
     
    folderinput = txtfolder.Value
    Debug.Print folderinput
     
    i = 1
     
    'path folder to parse
    rep = Dir(folderinput & "\*.doc", vbDirectory)
     
    'loop while not end of folder et <>empty
    Do While (rep <> "")
     
        If (GetAttr(folderinput & "\" & rep)) <> vbDirectory Then
     
             Debug.Print rep
     
             celex = Left(Right(rep, 14), 10)
             Debug.Print celex
     
             If IsNumeric(Left(celex, 5)) Then
     
             Cells(i, 1).Value = celex
     
             Call OpenDocument
     
             Cells(i, 2).Value = nbpage
     
             i = i + 1
     
             End If
     
     
     
        End If
     
        'next file
        rep = Dir
     
    Loop
     
    MsgBox ("There is/are " & i & " files ")
     
     
    End Sub
     
     
    Sub OpenDocument()
    Dim appwd As Word.Application
    Dim wordfile As String
     
      wordfile = folderinput & "\" & rep
      Debug.Print wordfile
     
      Set appwd = CreateObject("Word.Application")
      With appwd
          .WordBasic.DisableAutoMacros 1 '0 pour activer
          .Visible = True
          .Documents.Open wordfile
          .Activate
     
      End With
     
      nbpage = ActiveDocument.Range.Information(wdActiveEndPageNumber)
      Debug.Print nbpage
     
      appwd.Documents.Close
     
    End Sub
    donc voici l'endroit ou il y a l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    Call OpenDocument
     
     
    puis ici :
     
    Dim appwd As Word.Application

    je ne sais pas pourquoi il y a une erreur , j'ai regardé dans la faq


    si une âme charitable pouvait m'aider

    merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tiens, regarde là, http://www.developpez.net/forums/sho...ght=Word+Excel SilkyRoad fournit plein de renseignements intéressants
    Sinon, regarde dans la faq ou fais une recherche sur le forum VBA, le sujet a été traité nnnnnnnnn fois

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut
    merci en fait , en regardant ton lien avec les posts

    j'ai remarqué que dans tools reference j'avais pas coché µsoft word

    ca fonctionne presque


    maintenant il reste bloqué à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     nbpage = ActiveDocument.Range.Information(wdActiveEndPageNumber)
      Debug.Print nbpage

    en fait ici : ActiveDocument c'est le doc word en cours que je veux spécifié et non le fichier excel


    comment le spécifié ?

    merci

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par FAQ
    Nécessite d'activer la référence "Microsoft Word xx.x Object Library".
    Manipuler WORD


    voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim wd as Word.Document 
    ....
     set wd =  .Documents.Open (wordfile)
    ....
    puis utilise wd en lieu et place de active document

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut
    ok ca fonctionne comme ca maintenant

    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
     
     
    Sub OpenDocument()
    Dim appwd As Word.Application
    Dim wordfile As String
     
      wordfile = folderinput & "\" & rep
      Debug.Print wordfile
     
      Set appwd = CreateObject("Word.Application")
      With appwd
          .WordBasic.DisableAutoMacros 1 '0 pour activer
          .Visible = True
          .Documents.Open wordfile
          .Activate
     
            nbpage = ActiveDocument.Range.Information(wdActiveEndPageNumber)
            Debug.Print nbpage
     
      End With
     
      appwd.Documents.Close
     
    End Sub

    merci

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

Discussions similaires

  1. [XL-2007] Récupération de CustomDocumentProperties Word depuis macro Excel
    Par Apo_fr dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/07/2014, 14h45
  2. [XL-2007] Affichage doc Word depuis macro Excel
    Par KekeStreet dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/11/2012, 11h52
  3. [AC-2010] Ouvrir .accdb depuis macro Excel
    Par Tytelle dans le forum VBA Access
    Réponses: 11
    Dernier message: 26/04/2012, 15h54
  4. Démarrer macro Word depuis macro Excel
    Par nashiboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/12/2009, 20h02
  5. Réponses: 1
    Dernier message: 26/01/2006, 17h04

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