quand je tape \\serveur\d\test.doc directement sur la ligne de commande, il
ouvre word et le document test.doc
quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test
r = shell(\\serveur\d\test.doc)
end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian Hugoud
Vois avec l'api shellexecute
Christian
"Pierre" a écrit dans le message de news:
Bonjour,
J'ai un petit souci :
quand je tape serveurdtest.doc directement sur la ligne de commande, il ouvre word et le document test.doc quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test r = shell(serveurdtest.doc) end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
Merci.
Pierre.
Vois avec l'api shellexecute
Christian
"Pierre" <pierroozz@freesurf.fr> a écrit dans le message de news:
OXy6qLg3FHA.2432@TK2MSFTNGP10.phx.gbl...
Bonjour,
J'ai un petit souci :
quand je tape \serveurdtest.doc directement sur la ligne de commande,
il ouvre word et le document test.doc
quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test
r = shell(\serveurdtest.doc)
end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
quand je tape serveurdtest.doc directement sur la ligne de commande, il ouvre word et le document test.doc quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test r = shell(serveurdtest.doc) end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
Merci.
Pierre.
Jacques93
Bonjour Pierre, Pierre a écrit :
Bonjour,
J'ai un petit souci :
quand je tape serveurdtest.doc directement sur la ligne de commande, il ouvre word et le document test.doc quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test r = shell(serveurdtest.doc) end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
La fonction Shell de VB ne peut lancer qu'un programme executable, elle ne tient pas compte des associations entre extension de fichier (ici .doc) et application. Tu peux soit faire, en adaptant le chemin :
Soit utiliser l'API Shellexecute qui lancera l'application associée aux .doc :
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 Const SW_SHOWMAXIMIZED = 3
Private Sub Command1_Click() ShellExecute 0&, "open", "serveurdtest.doc", _ 0&, 0&, SW_SHOWMAXIMIZED End Sub
-- Cordialement,
Jacques.
Bonjour Pierre,
Pierre a écrit :
Bonjour,
J'ai un petit souci :
quand je tape \serveurdtest.doc directement sur la ligne de commande, il
ouvre word et le document test.doc
quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test
r = shell(\serveurdtest.doc)
end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
La fonction Shell de VB ne peut lancer qu'un programme executable, elle
ne tient pas compte des associations entre extension de fichier (ici
.doc) et application. Tu peux soit faire, en adaptant le chemin :
Soit utiliser l'API Shellexecute qui lancera l'application associée aux
.doc :
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 Const SW_SHOWMAXIMIZED = 3
Private Sub Command1_Click()
ShellExecute 0&, "open", "\serveurdtest.doc", _
0&, 0&, SW_SHOWMAXIMIZED
End Sub
quand je tape serveurdtest.doc directement sur la ligne de commande, il ouvre word et le document test.doc quaund je fais un appel à Shell à partir de VB, il ne marche pas :
sub test r = shell(serveurdtest.doc) end sub
renvoie l'erreur "invalid procedure call or argument".
Est-ce que "shell" ne s'éxecute pas dans l'environnement par défaut ?
La fonction Shell de VB ne peut lancer qu'un programme executable, elle ne tient pas compte des associations entre extension de fichier (ici .doc) et application. Tu peux soit faire, en adaptant le chemin :
Soit utiliser l'API Shellexecute qui lancera l'application associée aux .doc :
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 Const SW_SHOWMAXIMIZED = 3
Private Sub Command1_Click() ShellExecute 0&, "open", "serveurdtest.doc", _ 0&, 0&, SW_SHOWMAXIMIZED End Sub