Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1468 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Activer un fichier Word à partir d'une macro

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Activer un fichier Word à partir d'une macro

n°2220938
$temp
Posté le 27-02-2014 à 11:43:27  profilanswer
 

Bonjour,

 

Je suis dans un fichier1, et je dois ouvrir un fichier2 et le parcourir.

 

Voici mon code (présent dans une macro du fichier 1) :

Code :
  1. URL="C:\fichier2.doc"
  2. Dim WordApp As Object
  3. Dim WordDoc As Object
  4. Set WordApp = CreateObject("Word.Application" )
  5. Set WordDoc = WordApp.Documents.Open(URL)
  6. WordDoc.Activate
  7. WordDoc.Select
 

Ce code ne renvoie aucune erreur, mais il sélectionne le contenu du fichier1 et non du fichier2 :(
J'ai tenté plein de choses à base de Documents().Activate, mais sans aucun succès.

 

Pouvez-vous m'expliquer ce qui cloche ? :??:
Faut-il que je désactive le fichier1 avant, et si oui comment ?

Message cité 1 fois
Message édité par $temp le 27-02-2014 à 11:44:24
mood
Publicité
Posté le 27-02-2014 à 11:43:27  profilanswer
 

n°2220964
Marc L
Posté le 27-02-2014 à 14:33:24  profilanswer
 

 
            Bonjour.

$temp a écrit :

Je suis dans un fichier1, et je dois ouvrir un fichier2 et le parcourir.


            Oui mais depuis quelle application ?
 
            Le souci serait logique depuis Word car c'est vraiment dommage d'en ouvrir un second ‼
 

n°2220970
$temp
Posté le 27-02-2014 à 14:48:08  profilanswer
 

Aaaahhhh.... Je viens de comprendre que mon code demande à Word de rouvrir word en fait, d'où deux instances en même temps  [:sombrero67]
C'est ça ?

 

Mes recherches ont quasiment toutes été infructueuses. C'est le post d'un total débutant en macros qui a fini par me sauver (tout en me vexant un peu je l'avoue :o ). J'ai trouvé ça à l'instant.

 

J'ai juste mis du coup :

Code :
  1. ChangeFileOpenDirectory (chemin du fichier)
  2. Documents.Open FileName:= nomdufichier
 

Et donc ma macro fonctionne enfin.

 

Ca me contrarie légèrement, car j'aurais préféré que l'utilisateur saisisse tout d'un coup sur une seule ligne. Mais bon, là j'ai la flemme, donc il saisira les deux variables de lui même, j'ai mis deux TextBox.

 

Je n'avais pas envie de devoir galérer encore 1h pour trouver la formule Word permettant de trouver la première position du caractère "\" en partant de la droite pour faire le découpage de la chaine moi même. :o


Message édité par $temp le 27-02-2014 à 14:48:48
n°2220973
Marc L
Posté le 27-02-2014 à 14:58:46  profilanswer
 

 
            Pas besoin de changer de répertoire pour ouvrir un fichier !
 
            Sinon pour la chaine, c'est facile via les fonctions  Split  &  Ubound  …

n°2220975
$temp
Posté le 27-02-2014 à 15:14:59  profilanswer
 

Marc L a écrit :

Pas besoin de changer de répertoire pour ouvrir un fichier !


J'ouvre un fichier qui existe déjà, et potentiellement ailleurs, du coup ça ne m'a pas semblé bizarre...
 
Cela dit, quand mes deux fichiers sont au meme endroit (ie posés sur le bureau), j'ai une erreur si je mets juste la ligne

Code :
  1. Documents.Open FileName:= nomdufichier


Il me dit qu'il ne trouve pas mon fichier.

n°2220980
Marc L
Posté le 27-02-2014 à 15:31:37  profilanswer
 

 
            Normal car le chemin d'accès d'un fichier est composé du disque local, du répertoire et sous répertoires,
 
            puis du nom et enfin de son extension comme par exemple  D:\Clients\Courriers\Relance.doc  …
 

n°2220991
$temp
Posté le 27-02-2014 à 16:57:45  profilanswer
 

Du coup je ne comprends pas ce que signifie ton "Pas besoin de changer de répertoire pour ouvrir un fichier !".
 
Pour moi, je dois indiquer où se trouve mon fichier, c'est donc ce que fait mon code.
Je comprends ta réponse comme un : pas la peine de préciser, il part de l'endroit où est ton fichier d'origine (je pense un peu aux fameuses adresses relatives qu'on peut utiliser en HTML par exemple, avec des \..\dossier\sousdossier.
 
Or ça ne marche pas si je ne précise rien. Bref, je n'arrive pas à comprendre ta phrase (que j'ai citée au dessus).
 
M'enfin, peu importe, ça fonctionne.

n°2220992
Marc L
Posté le 27-02-2014 à 17:04:03  profilanswer
 

 
           La ligne  ChangeFileOpenDirectory  est inutile si l'accès au fichier est bien renseigné lors de l'ouverture …


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Activer un fichier Word à partir d'une macro

 

Sujets relatifs
Stockage d'un fichier dans l'exe et écriture sur HDD à la prem. exec.nuage de mots à partir de texte
Macro d'enregistrement WordMacro - Fonctions VBA
[HELP] modificateur de plusieur fichier texte[RESOLU] Créer un CSV à partir d'une chaîne en php
Comment génerer un fichier csv à partir d'une base de données?Macro pour sauver la feuille courante dans un nouveau classeur
Plus de sujets relatifs à : Activer un fichier Word à partir d'une macro


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR