Rechercher : dans
Par :

Lancer un fichier non exe en vba excel.

Dernière réponse le 17 avr 2006 à 08:29:09 Tsetse71, le 23 nov 2005 à 14:33:30 
 Signaler ce message aux modérateurs

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

1

inf, le 23 nov 2005 à 15:23:14

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

Répondre à inf

2

Tsetse71, le 24 nov 2005 à 12:47:02

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-

Répondre à Tsetse71

3

 mennix, le 17 avr 2006 à 08:29:09
  • +1

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)

Répondre à mennix
Collection CommentÇaMarche.net