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

WinDev Discussion :

LanceAppli => chemin absolu de Word ?


Sujet :

WinDev

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut LanceAppli => chemin absolu de Word ?
    Bonjour,
    tout est dans le titre. Je cherche comment faire pour, dans la fonction LanceAppli(), pouvoir lui indiquer le chemin absolu de Word (entre autres). Je dois être stupide mais ça fait un bon moment que je cherche et je ne trouve pas de solution. Et le problème c'est que :
    1/ Word n'est pas installé au même endroit en fonction des versions
    2/ LanceAppli veut un chemin absolu.

    Si vous pouviez me dépanner, je vous en serais très reconnaissant.

  2. #2
    Membre régulier Avatar de DonkeyPuncher
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2013
    Messages : 56
    Points : 113
    Points
    113
    Par défaut
    Hello,

    Avec Word et office en général le chemin absolu est de la forme :

    C:\Program Files\Microsoft Office\OfficeX\WINWORD.EXE

    Avec X le numéro de la version.

    Tu peux donc à la place du X mettre un entier que tu changes selon la version que tu veux utiliser, comme cela (ici pour 14) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nVersion est un entier = 14
    LanceAppli("C:\Program Files\Microsoft Office\Office"+nVersion+"\WINWORD.EXE")
    Après tu peux même faire saisir si besoin le numéro de version, ou faire une boucle, un SI pour tester laquelle est la bonne etc ...

  3. #3
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Bonjour,

    Je ne sais plus si la fonction LanceAppliAssociée existe en W7.5 si elle existe tu peux essayé ça

    LanceAppliAssociée("Winword.exe")

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    Merci à tous les deux
    1/ DonkeyPuncher
    Oui, dans le cas de Microsoft Office ça semble logique mais pour une autre appli je ne sais pas si le chemin serait unique et je ne vois pas comment je pourrai coder une fonction qui me retrouve le chemin absolu comme on peux avoir avec du php par exemple.

    2/ mail.spam
    Oui, avant j'utilisais LanceAppliAssociée() mais cette fonction n'est pas bloquante et comme sur mon appli je génère de 1 à 28 documents Word de taille très différentes qui vont chercher des infos dans un .ini, je ne peux pas me permettre de mettre un timer unique. Soit mon timer serait beaucoup trop long pour un Word très court, soit il risque d'être trop court pour un Word de plusieurs pages.
    Il semblerait que PcSoft dans LanceAppliAssociée() trouve bien le chemin absolu ....mais comment font-ils ??

    Si vous avez d'autres idées..................je suis preneur.
    Merci encore

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    On ne sait jamais mais tu peux essayé de faire des recherches à partir de la base de registre.

    EDIT :

    Par les objets OLE j'ai trouvé une solution.
    Il faudra la tester un peu mais chez moi ça marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    OLEWord est un objet OLE dynamique
    sPath est une chaîne
    OLEWord = allouer un objet OLE "Word.Application"
    sPath = OLEWord>>path
    libérer OLEWord
     
    LanceAppli(ComplèteRep(sPath)+"Winword.exe")

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    Bon sang! je suis très très c......!
    elle existe la fonction ; c'est fExtraitChemin()
    il suffit de mettre le nom de l'exe et le paramètre ; comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomChemin est une chaîne =fExtraitChemin("winword.exe",fRépertoire)
    et cela me renvoie bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\Microsoft Office\Office14\WINWORD.EXE
    merci de votre aide

  7. #7
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Bonjour,

    Chez moi (Winows 7 64 bits) ça ne me retourne rien.
    si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NomChemin est une chaîne =fExtraitChemin("winword.exe",fDisque+fRépertoire+fFichier+fExtension)
    Trace(NomChemin)
    j'obtiens
    winword.exe

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    il est vrai que je suis sous xp.
    et j'ai pas les suivants w7 w8 donc je ne peux pas vérifier.
    et m...e!
    je pensais avoir résolu mon problème................
    merci encore

  9. #9
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Et avec mon code OLE (voir plus haut) ça ne marche pas?

  10. #10
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Quand je reproduit ton code j'obtiens rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sNomChemin est une chaîne =fExtraitChemin("winword.exe",fRépertoire)
    Info(sNomChemin)
    Quand je reproduit celui de Sylvain, comme lui j'obtiens "winword.exe"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NomChemin est une chaîne =fExtraitChemin("winword.exe",fDisque+fRépertoire+fFichier+fExtension)
    Info(NomChemin)
    donc je ne pense pas que tu as solutionné ton problème hélas...

    j'aurai tendance à penser comme Sylvain que la solution se trouve dans la base de registre...

    EDIT :

    il y a une contribution sur le sujet
    http://www.developpez.net/forums/d11...nsion-fichier/

    je n'ai pas tester, mais si ça peut t'aider...

  11. #11
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Citation Envoyé par mail.spam Voir le message
    Par les objets OLE j'ai trouvé une solution.
    Il faudra la tester un peu mais chez moi ça marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    OLEWord est un objet OLE dynamique
    sPath est une chaîne
    OLEWord = allouer un objet OLE "Word.Application"
    sPath = OLEWord>>path
    libérer OLEWord
     
    LanceAppli(ComplèteRep(sPath)+"Winword.exe")
    Est-ce que quelqu'un peux me dire si ça marche?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    désolé, je dois m'absenter , je reprendrai demain

  13. #13
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par mail.spam Voir le message
    Est-ce que quelqu'un peux me dire si ça marche?
    J'ai testé Sylvain et ça marche, ça ouvre bien word

Discussions similaires

  1. [PDE] chemin absolu
    Par khokho dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 23/08/2005, 11h41
  2. [Info]chemin absolu du projet courant
    Par slyos72 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 30/05/2005, 10h06
  3. [langage] chemin absolu d un fichier
    Par nono1782 dans le forum Langage
    Réponses: 4
    Dernier message: 20/07/2004, 14h02
  4. [langage] Création de dossier en chemin absolu
    Par Jibees dans le forum Langage
    Réponses: 4
    Dernier message: 25/04/2003, 10h57

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