Lancer un fichier non exe en vba excel.

Tsetse71 Messages postés 9 Statut Membre -  
 Le Djé -
Bonjour,

Petite question a 2 balles :
- comment ouvrir un fichier non exe en vba en sachant que la methode shell ne fonctionne pas elle me renvoie l'erreur : Argument ou appel de procédure incorrect.

Voici ma ligne de commande :

rc = Shell("C:\winnt\clock.avi", 1)

J'ai mis le fichier clock.avi pour exemple je pourrais le faire avec un .doc, .ppt, .zip.....

Pouvez vous m'aider ????
Merci a vous

3 réponses

  1. mennix Messages postés 2 Statut Membre 5
     
    il faut utiliser la fonction ShellExecute, je ne suis pas sur que excel la, donc il faut la chercher dans shell32.dll, la declarer en librairy.
    Cette fonction permet de lancer n'importe qu'elle appli, windows sera retrouver son le bon soft

    ds ta macro tu ecris:
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Public Const
    SW_SHOWNORMAL = 1

    et voila comment ca marche!;
    fName = "Index.html" 'Ou le nom du fichier que vous voulez ouvrir
    RetVal = ShellExecute(hwnd, "Open", fName, ByVal 0&, 0&, SW_Normal)
    5
    1. Le Djé
       
      Je déterre juste pour dire que la dernière solution est la plus efficace. Je précise que :
      Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long 
      Public Const 
      SW_SHOWNORMAL = 1

      doit se placer dans module.

      Merci !
      0
  2. inf
     
    Slt,

    en lancant l'appli associé, tu passe le fichier visé en paramètres.

    rc = Shell("C:\winnt\mplayer.exe C:\winnt\clock.avi", 1)

    inf
    1
  3. Tsetse71 Messages postés 9 Statut Membre
     
    Salut inf,

    Merci pour cette réponse, mais que faire quand on ne sais pas quelle programme va ouvrir le fichier Ex: Un zip peut etre ouvert par Winzip ou Izarc ... ou bien quand on ne connais pas le chemin d'installation du programme ?

    tsetse-
    0