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 :

Ouvrir un fichier avec un programme particulier


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut Ouvrir un fichier avec un programme particulier
    Bonjour,

    Mes fichiers .txt s'ouvrent par défaut avec Word.
    Dans mon appli je voudrais pouvoir spécifiquement ouvrir un fichier .txt mais avec Notepad (sans changer le fait que Word reste le programme par défaut).
    J'ai regardé un peu partout mais je n'ai rien trouvé pour cela. Je suis pourtant certain de l'avoir déjà lu quelque part ...
    Merci par avance pour votre aide

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 187
    Points
    17 187
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell("C:\Windows\notepad.exe Lecteur/CheminDossier/NomDuFichier", vbNormalFocus)
    Adapter le chemin ou est installé notepad ainsi que le chemin et nom du fichier à ouvrir.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Je savais que c'était possible.
    Merci beaucoup Progelect (notre sauveur)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    Je vais me faire huer.
    Mais comment retrouver le chemin où est installé notepad ?
    Il doit bien y avoir une commande avec Shell mais laquelle ?
    Merci

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 187
    Points
    17 187
    Par défaut
    Salut

    Nom : OuBLocNote.jpg
Affichages : 221
Taille : 267,6 Ko
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Merci ProgElect,

    Tu as raison de me taper sur la tête mais ce que je voudrais c'est obtenir l'emplacement de Notepad.exe par du code.
    Car quand mon appli sera compilée en .exe on ne pourra plus 'définir manuellement' l'emplacement de Notepad.exe
    Merci

  7. #7
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par MarcVB6 Voir le message
    on ne pourra plus 'définir manuellement' l'emplacement de Notepad.exe
    Merci
    Tu peux mettre le chemin d'accès à NotePad.exe dans un fichier .INI ou dans la base de registre (chemin modifiable dans un menu de ton programme dans une rubrique "Préférence")

    Mais, en général, c'est dans C:\Windows\notepad.exe . Vérifié pour W10 (32 et 64) , W7 et XP chez moi

    Par exemple, dans le logiciel VideoPad (au zazzzard!), le choix est donné à l'utilisateur dans le sous-menu "Options" du menu "Préférence" pour spécifier un dossier pour stocker des fichiers temporaires

    Nom : _Option.JPG
Affichages : 211
Taille : 49,9 Ko

    PS : tu as aussi la possibilité de copier le fichier Notepad.exe d'origine et de le mettre dans le répertoire que tu veux lors de l'installation de ton logiciel sur une nouvelle machine

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Merci,
    Oui j'ai regardé dans XP et 10 et il est toujours au même endroit : C:\Windows\notepad.exe
    Le problème est si je donne mon EXE à une tierce personne.
    Je peux savoir facilement si notepad est toujours à cet endroit.
    Mais s"il n'y est pas ... Où peut-il être ?
    Evidemment le problème ne peut arriver que si la personne a déplacé notepad.
    Je pense qu'il doit bien exister une fonction toute simple qui permet de retrouver l'endroit de cet EXE comme de n'importe quel autre EXE d'ailleurs.
    Quand on double clic sur un fichier (exemple un JPG), il s'ouvre avec son appli .EXE associée ; Windows sait donc où se trouve cet EXE.

    J'ai cherché dans la base de registre où les chemins des EXE seraient inscrits. Mais je n'ai rien trouvé.
    J'ai trouvé des trucs sur Internet mais ce sont de vraies usines à gaz.
    Je pense que le plus simple est que si je vois que notepad n'est plus à cet endroit ( C:\Windows), j'affiche un message en demandant à la personne de déplacer notepad à cet endroit.
    C'est très culcul.

  9. #9
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par MarcVB6 Voir le message
    Mais s"il n'y est pas ... Où peut-il être ?
    Tu te compliques la vie pour rien .... Si tu veux dormir tranquille, tu copies NotePad.exe et tu le mets dans le répertoire où se trouve l'EXE de ton programme lors de l'installation de ton programme (avec les DLL , OCX dont ton programme a besoin)
    Evidemment le problème ne peut arriver que si la personne a déplacé notepad.
    Personne ne fait ça et il faut avoir les droits d'Administrateur

    Je pense que le plus simple est que si je vois que notepad n'est plus à cet endroit ( C:\Windows), j'affiche un message en demandant à la personne de déplacer notepad à cet endroit.
    Il faut avoir les droits d'Administrateur

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Oui tu as raison
    D'autant que je viens d'essayer la manip suivante : J'ai déplacé notepad.exe sur mon disque D: et je l'ai supprimé dans C:\Windows\
    Et bien lorsque j'ouvre un fichier TXT, notepad s'ouvre !! Incroyable non ?
    Je suis allé voir dans D: et notepad.exe y est bien et chose curieuse il est revenu tout seul dans C:\Windows\
    Une histoire de fou.

    J'aurais une question subsidiaire.
    J'ai utilisé l'astuce de ProgElct:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell("C:\Windows\notepad.exe Lecteur/CheminDossier/NomDuFichier", vbNormalFocus)
    Ça ne fonctionne qu'avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Retour
    Retour = Shell("C:\Windows\notepad.exe Lecteur/CheminDossier/NomDuFichier", vbNormalFocus)
    Mais j'aurais besoin de passer tout cela dans 2 Strings:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Programme as string: Dim Fichier as string
    Programme = "C:\Windows\notepad.exe"
    Fichier = "D:\MonFichier.txt"
    Ensuite je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Retour = Shell(Programme  Fichier , vbNormalFocus)
    J'ai un retour d'erreur :
    Compile error / Expected list separator or)
    J'ai essayé différentes possibilités mais rien n'y fait.
    Où est mon erreur ?
    Merci d'avance

  11. #11
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par MarcVB6 Voir le message
    D'autant que je viens d'essayer la manip suivante : J'ai déplacé notepad.exe sur mon disque D: et je l'ai supprimé dans C:\Windows\
    Et bien lorsque j'ouvre un fichier TXT, notepad s'ouvre !! Incroyable non ?
    Je suis allé voir dans D: et notepad.exe y est bien et chose curieuse il est revenu tout seul dans C:\Windows\
    Une histoire de fou.
    le fou, c'est toi de retirer un programme Windows !

    Ensuite je fais:
    Retour = Shell(Programme Fichier , vbNormalFocus)
    Et tu penses qu'en mettant deux variables chaines en suivant , elles se concatènent ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Retour = Shell(Programme & Fichier , vbNormalFocus)

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Je l'avais déplacé dans D:, il était facile à retrouver et à redéplacer dans c:\Windows.
    J'avais bien essayé cela dans mes recherches car ça me semblait logique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Retour = Shell(Programme & Fichier , vbNormalFocus)
    mais là j'avais un message d'erreur:
    Run-time error '5' Invalid procedure call or arguiment

  13. #13
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par MarcVB6 Voir le message
    Je l'avais déplacé dans D:, il était facile à retrouver et à redéplacer dans c:\Windows.
    On ne touche pas à ce qui est dans C:\windows

    Retour = Shell(Programme & Fichier , vbNormalFocus) mais là j'avais un message d'erreur: Run-time error '5' Invalid procedure call or arguiment
    avec le Programme & Fichier

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Oui c'est bien ce que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Retour = Shell(Programme & Fichier , vbNormalFocus)

  15. #15
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Programme et Fichier sont bien déclarés comme String ?

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Oui c'est bien ce que j'avais écrit dans un précédent post:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Programme as string: Dim Fichier as string
    Programme = "C:\Windows\notepad.exe"
    Fichier = "D:\MonFichier.txt"

  17. #17
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Teste ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Programme as string: Dim Fichier as string
    Programme = "C:\Windows\notepad.exe"
    Fichier = """D:\MonFichier.txt"""
    Retour = Shell(Programme & " " & Fichier)

  18. #18
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 187
    Points
    17 187
    Par défaut
    Salut

    Le doublage des " est important quand le chemin comporte un/des espaces, mais là c'est surtout l'espace à mettre entre les 2 paramètres de la commande Shell.

    DAUDET78 pour Retour = Shell(Programme & " " & Fichier)
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  19. #19
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Le doublage des " est important quand le chemin comporte un/des espaces,
    J'ai préféré mettre "Ceintures & Bretelles" .....

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Points : 53
    Points
    53
    Par défaut
    Ca fonctionne beaucoup mieux comme ça.
    Merci à tous les deux

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. ouvrir des fichiers avec des programmes externes
    Par julie_lab dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 25/10/2010, 06h05
  2. Réponses: 2
    Dernier message: 27/08/2009, 09h08
  3. Réponses: 0
    Dernier message: 17/05/2008, 09h06
  4. Réponses: 1
    Dernier message: 23/07/2007, 11h00
  5. Ouvrir un fichier avec son programme
    Par aliwassem dans le forum Delphi
    Réponses: 1
    Dernier message: 21/10/2006, 21h26

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