shellexecute

Le
Michel
Bonjour à tous,

Je souhaite dans un userform recuperer le nom de fichier d'une texbox pour
lancer l'application par défaut du nom de fichier.
J'ai saisi dans le userform :
Private 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

Private Sub ouvrir_serie_Click()
Dim fich
fichier = \serveurmes documents & résultat.TextBox1
ShellExecute 0, "open", fich, "", "", 0
End Sub
--

Si le résultat de la textbox est un fichier jpg, pdf,dwgça fonctionne
mais par contre si c'est un fichier excel, ça ne fonctionne pas : je peux
quitter le classeur mais je ne peux pas quitter excel qui mouline
toujours

J'ai baissé le niveau de sécurité des macros, j'ai cherché sur le site
http://support.microsoft.com/kb/238245/fr et suite à cette recherche, j'ai
modifié la valeur fsShowCmd de 0 à 9 sans résultat

Quelqu'un a-t-il une idée

Merci d'avance

Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
papou
Le #4975321
Bonjour Michel
Tu ajoutes un test sur le nom de fichier et s'il s'agit d'une extension XLS
tu ne lances pas la commande ShellExecute mais plutôt un Workbooks.Open
filename:=fichier
Par exemple:
If right(nomfichier)= ".xs" Then
Workbooks.Open filename:=fichier
Else
ShellExecute 0, "open", fichier, "", "", 0
End If

Petite remarque :
pour le nom de fichier tu déclares dim fich, mais ensuite tu affectes un
autre nom :
fichier = \serveurmes documents & résultat.TextBox1


Cordialement
Pascal

"Michel" %
Bonjour à tous,

Je souhaite dans un userform recuperer le nom de fichier d'une texbox pour
lancer l'application par défaut du nom de fichier.
J'ai saisi dans le userform :
Private 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
------------------------------------------------
Private Sub ouvrir_serie_Click()
Dim fich
fichier = \serveurmes documents & résultat.TextBox1
ShellExecute 0, "open", fich, "", "", 0
End Sub
--------------------------------------------------

Si le résultat de la textbox est un fichier jpg, pdf,dwg...ça fonctionne
mais par contre si c'est un fichier excel, ça ne fonctionne pas : je peux
quitter le classeur mais je ne peux pas quitter excel qui mouline
toujours...

J'ai baissé le niveau de sécurité des macros, j'ai cherché sur le site
http://support.microsoft.com/kb/238245/fr et suite à cette recherche, j'ai
modifié la valeur fsShowCmd de 0 à 9 sans résultat

Quelqu'un a-t-il une idée

Merci d'avance

Michel




Michel
Le #4975221
Merci Papou,

C'est tellement évident que je me demande pourquoi je entêtais avec un
shellexecute.

Encore Merci!!!


"papou" %230w$ZH%
Bonjour Michel
Tu ajoutes un test sur le nom de fichier et s'il s'agit d'une extension
XLS tu ne lances pas la commande ShellExecute mais plutôt un
Workbooks.Open filename:=fichier
Par exemple:
If right(nomfichier)= ".xs" Then
Workbooks.Open filename:=fichier
Else
ShellExecute 0, "open", fichier, "", "", 0
End If

Petite remarque :
pour le nom de fichier tu déclares dim fich, mais ensuite tu affectes un
autre nom :
fichier = \serveurmes documents & résultat.TextBox1


Cordialement
Pascal

"Michel" %
Bonjour à tous,

Je souhaite dans un userform recuperer le nom de fichier d'une texbox
pour lancer l'application par défaut du nom de fichier.
J'ai saisi dans le userform :
Private 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
------------------------------------------------
Private Sub ouvrir_serie_Click()
Dim fich
fichier = \serveurmes documents & résultat.TextBox1
ShellExecute 0, "open", fich, "", "", 0
End Sub
--------------------------------------------------

Si le résultat de la textbox est un fichier jpg, pdf,dwg...ça fonctionne
mais par contre si c'est un fichier excel, ça ne fonctionne pas : je peux
quitter le classeur mais je ne peux pas quitter excel qui mouline
toujours...

J'ai baissé le niveau de sécurité des macros, j'ai cherché sur le site
http://support.microsoft.com/kb/238245/fr et suite à cette recherche,
j'ai modifié la valeur fsShowCmd de 0 à 9 sans résultat

Quelqu'un a-t-il une idée

Merci d'avance

Michel








Publicité
Poster une réponse
Anonyme