Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

shellexecute

2 réponses
Avatar
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 = \\serveur\mes 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

2 réponses

Avatar
papou
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" a écrit dans le message de news:
%
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




Avatar
Michel
Merci Papou,

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

Encore Merci!!!


"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
%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" a écrit dans le message de news:
%
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