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 :

[VB6] Utiliser les "Related Documents" via le code


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 29
    Points
    29
    Par défaut [VB6] Utiliser les "Related Documents" via le code
    Bonjour à tous,

    Je développe un petit outil où à un moment donné les utilisateurs devront fournir des diverses informations.
    Ces informations seront copiées dans un template d'Excel par la suite.
    Ce template est situé quelque part sur le PC et mon outil ne fait que le démarrer pour y copier les informations fournies préalablement.

    Vous l'aurez donc compris, je dois fournir 2 fichiers à mes utilisateurs : l'outil (.exe) et mon template Excel (.xlt).

    Tout marche très bien, mais ce que je voudrais bien, c'est pouvoir inclure le template dans mon outil.
    En effet, si par mégarde ils modifient le template... ça met le bazar, c'est pour cela que je ne voudrai leur donner qu'un seul fichier (.exe) qu'ils peuvent placer où ils veulent et sans risque de modifier le précieux template, lol.

    J'ai l'impression que c'est possible via les "Related Documents". Correct ou pas ?

    Je suis parvenu à inclure le template dans mon projet via Project\ Add File. J'ai bien le folder "Related Documents" qui est apparu avec mon template .xlt.
    Si je double-clique dessus, Excel démarre tout va bien.

    Mais comment je fais pour lancer ce template, inclus dans le projet, depuis un boutton de commande par exemple ?

    Si vous pouviez m'orienter svp ?

    Merci bien

    Henri

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Essayes avec
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
     sNomTemplate = App.Path & "\" & "Related Documents" &  "\" & "template.xlt"
    N'oubliez pas le tag et

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Salut callo,

    Merci pour ton idée, mais alors je devrai quand même envoyer 2 fichiers à mes utilisateurs puisque ta suggestion envoie vers le template situé dans l'explorateur windows, si je ne m'abuse. Or mes utilisateurs ne pourront pas venir chercher le template sur mon ordi (vu que l'objectif c'est de ne le fournir que l'exe)

    Quand je disais que j'avais le template dans le folder Related Documents de mon projet, je voulais dire au sein même de VB6, comme VaxoP sur ce forum : http://www.vbforums.com/showthread.p...o-your-project


    Ce sur quoi je m'interroge c'est comment démarrer le template à partir du projet lui-même et pas depuis mon explorateur Windows.
    Maintenant ce n'est peut-être pas par ce moyen que j'y arriverai ? Moi c'est par là que je suis parti, mais il y a surement un autre moyen si ce n'est pas le bon. Merci

    Je ne sais pas si j'suis clair...

  4. #4
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Si on suppose que tu inclus le template.xlt dans ton exe avant de créer ton programme d'installation (avec InnoSetup ou l'outil de déploiement intégré à visual studio 6):
    - alors ton application serait installé dans le dossier Program Files. L'utilisateur ne pourra donc pas modifier le fichier puisqu'il n'a pas les droits d'écriture sur ce dossier.
    - donc tu peux facilement lancer ton template via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sNomTemplate = App.Path & "\" & "template.xlt"
    ou quelque chose de ce genre. ça dépend de comment tu as structuré ton projet.
    N'oubliez pas le tag et

  5. #5
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    En fait, avec
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim sNomTemplate as String = App.Path & "\" & "template.xlt"
    tu récupère le chemin vers ton template. Tu peux donc lancer le template via la commande Shell ou ShellExecute.

    EDIT: je crois que Shell s'utilise pour des exécutables genre exe, bat, .... Pour ouvrir des fichier xls, doc, ppt et autres, c'est la commande Open qu'il faut utiliser. Donc
    Code vb6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Open sNomTemplate
    'ou bien directement par 
    Open App.Path & "\template.xlt"
    pour lancer ton template.
    N'oubliez pas le tag et

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Hey Callo,

    J'ai compris, et ça marche parfaitement
    Désolé du long temps de réponse.

    Merci beaucoup pour ton aide, tu es formidable

    Voici le code qui m'a permis de faire exactement ce que je désirais grâce à ton intervention :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim oXLout As Excel.Application
    Dim oWBout As Excel.Workbook
    Set oXLout = CreateObject("Excel.Application")
    Set oWBout = oXLout.Workbooks.Open(App.Path & "\template.xlt")
    oXLout.Visible = True
    Henri

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/10/2008, 10h18
  2. [VB6] Utiliser les PopUpMenu
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 29/06/2006, 08h09
  3. [VB6] utiliser les fcts (replace,SubString,..) d'sql
    Par chagala dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 07/05/2006, 10h36

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