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 Access Discussion :

Ouvrir un document Word ou autre en VBA [AC-2007]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Ouvrir un document Word ou autre en VBA
    Bonjour,
    J'ai créé une base de données qui ouvre un document word nommé "Electricité.doc" (c'est une lettre de motivation), qui sera copié dans le presse papier et en suite collé dans le corps du Courriel.

    En pieces jointes, la base de données récupère via le code VBA un fichier nommé "CV.pdf" et l'ajoutera dans mon Courriel.

    De ce côté là, pas de problème, j'arrive à créer et envoyer le courriel au patron sélectionné ou bien à tous ceux de la catégorie "Electricité".

    Mais mon problème viens quand je veux partager ma création, c'est à dire :
    Créer un zip contenant : 1. ma base de données - 2. un dossier CV et 3. un dossier Lettre de motivation.

    Et là ça coince, car les personnes qui utilisent cette base de données sur leur PC, ne peuvent pas envoyer le Courriel, car le chemin utilisé en VBA n'est pas "multipersonnel" oui j'invente le mot lol :

    Pour le fichier word :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DocWord = GetObject("C:\Users\Gaetan\Desktop\Recherche Emplois\Lettres de Motivation\Electricité.doc")
    et pour le fichier .pdf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMessage.Attachments.Add "C:\Users\Gaetan\Desktop\Recherche Emplois\CV\CV Gaetan.pdf"
    Vous comprenez que ce chemin ne sera pas valable sur une autre machine qui ne porte pas mon prénom.

    Alors, comment faire en sorte que ma base de données soit utilisée par tous, car c'est amusant de créer sur Access, mais encore plus si on peut faire profiter les autres

    En vous remerciant par avance...

    Gaëtan

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x = Environ("username")
    Set DocWord = GetObject("C:\Users\" & x & "\Desktop\Recherche Emplois\Lettres de Motivation\Electricité.doc")

  3. #3
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut Compatibilité autres postes
    Bonjour.
    Il n'est pas forcément assuré que tous les gens à qui tu diffuseras ta base disposent de la même arborescence locale ("c:\users" pourrait tout à fait être par exemple "c:\documents and settings").
    Peut-être devrais-tu préférer un chemin relatif par rapport à l'emplacement de ta base Access, cela permet de s'affranchir des "chemins en dur" qui finissent généralement par poser problème.
    Si ta base et tes répertoires se trouvent tous sous "\Recherche Emploi", tu peux utiliser la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DocWord = GetObject(CurrentProject.path & "\Lettres de Motivation\Electricité.doc")
    Cordialement.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour LE VIEUX et GillesDeVuif,

    Désolé de pas avoir répondu plutôt mais très occupé entre temps, mais je vous remercie de m’avoir accordé de votre temps.

    Je viens de voir vos conseils et je vais essayer dès matin, je vous donnerais le résultat dans quelque minutes, si on ne vient pas déranger ma pause café lol.

    Cordialement,

  5. #5
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut
    Bonjour.

    Selon moi, on peut aussi creer une table contenant un champ dans lequel on saisie le chemin (C:\......).
    Chaque utilisateur, en fonction de l'endroit ou il veux mettre son fichier word ou PDF, modifie la valeur dans la table Access.

    Le code VBA fait appel au chemin qui se trouve dans la table et il n'y a plus de probleme.

    Pour eviter que l'utilisateur ait a ouvrir manuellement la table, on peut creer un formulaire avec une zone de texte permettant a l'utilisateur de saisir ou de coller le chemin. Sur clic bouton, la valeur du champ texte du formulaire va remplacer la valeur existante dans la table.

    Le code serait le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    set tb=currrentdb.openrecordset("chemin",dbopendynaset)
    valeur =tb!chemin
    tb.close
    Set DocWord = GetObject( valeur & "\Lettres de Motivation\Electricité.doc")
    Cdlt

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Merci à vous deux
    Je testé les deux méthodes :

    LE VIEUX :

    x = Environ("username")
    Set DocWord = GetObject("C:\Users\" & x & "\Desktop\Recherche Emplois\Lettres de Motivation\Electricité.doc")

    Ce code marche très bien.

    GillesDeVuif :

    Set DocWord = GetObject(CurrentProject.path & "\Lettres de Motivation\Electricité.doc")

    Ce code marche aussi très bien et je vais le garder, car d’après ce que j’ai compris, dans que le fichier doc ou autre est dans le même dossier que la base de donnée, il le trouvera grâce à CurrentProject.path qui veux dire en gros » cherche pas trop loin mes dans le même dossier que moi »

    Je vous remercie pour faut conseils et donc c’est résolu, merci.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/03/2015, 23h11
  2. Ouvrir un Document Word (Autre méthode)
    Par Ditch dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/12/2010, 10h50
  3. Réponses: 3
    Dernier message: 16/08/2007, 17h03
  4. Ouvrir un document word ou excel en php
    Par Taz_8626 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/03/2006, 17h40
  5. [Access][VBA] Ouvrir un document word existant
    Par NicoNGRI dans le forum Access
    Réponses: 1
    Dernier message: 16/12/2005, 12h39

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