stephvb62
Messages postés5Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention17 février 2009
-
16 févr. 2009 à 12:04
ICLM
Messages postés4Date d'inscriptionmardi 14 novembre 2000StatutMembreDernière intervention21 août 2010
-
21 août 2010 à 18:07
Bonjour,
je voudrais pouvoir ouvrir un fichier (de tout type, excel, word pdf....) avec mon programme vb.
j'utilise la commande Shell est avec je peux ouvrir excel, word mais pas PDF (et je voudrais pouvoir ouvrir du catia ou autocad)
j'ai trouvé que la classe FileSystemObject pouvait être une solution mais de ce que j'ai compris, je n'ouvrirai que des .txt avec.
Un grand merci à celui (ou celle) qui prendra le temps de me répondre
voila comment je fais jusqu'à maintenant:
Sub Ouvrir()
Dim typeofdoc As String
typeofdoc = FM_Search_Doc.TextBoxAddress.Text
If typeofdoc = "FOLDER" Then
Shell "explorer.exe """ & FM_Search_Doc.TextBoxAddress.value & """"
End If
If typeofdoc = "XLS" Then
Shell "EXCEL.EXE """ & FM_Search_Doc.TextBoxAddress.value & """"
End If
If typeofdoc = "DOC" Then
Shell "WINWORD.EXE """ & FM_Search_Doc.TextBoxAddress.value & """"
End If
shogun_60
Messages postés30Date d'inscriptionmardi 5 décembre 2006StatutMembreDernière intervention 6 mars 20091 16 févr. 2009 à 17:11
Salut,
Chez moi la commande shell fonctionne egalement avec les pdf, j'utilise cette méthode :
Shell(
"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe (ou chemin de ton exe selon ta version d'adobe) /p cheminCompletDuFichier (avec le nom de fichier et l'extension) ")
stephvb62
Messages postés5Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention17 février 2009 17 févr. 2009 à 08:39
Le pb c'est que mon programme doit tourner sur différente bécane, et comme mon windows est en anglais, que celui de ma collègue est en espagnol, (C:\Archivos de Programa) et qu'en plus on a soit acrobat reader 9 soit le 7.0 standard....et ce sur 40 machines.
Bref, merci pour la réponse, c'est au moins quelque chose qui marche
stephvb62
Messages postés5Date d'inscriptionmardi 3 février 2009StatutMembreDernière intervention17 février 2009 17 févr. 2009 à 08:52
Hola,
Je voulais éviter le shellExecute, qui me gén`re une erreur, mais le plus simple pour moi serait de régler cette erreur.
Le pb est au niveau du .hwnd (méthode ou data member not found), qui est inconnu de mon vb, pourtant j'ai déclaré la fonction comme ça:
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
Sub openfile()
ShellExecute Me.hwnd, "open", "chemindufichierrecuperedansunetextbox", "", App.Path, 1
End sub
DOIS JE ajouter une classe?
Muchas gracias para la ayuda
Vous n’avez pas trouvé la réponse que vous recherchez ?
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20136 17 févr. 2009 à 17:10
Bonjour,
Si tu es bien en vb 2005, la déclaration de cette API est un peu différente :
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As IntPtr, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Integer) As IntPtr
En 2005, tu as également la possibilite d'utiliser la class Process, et process.start(nomdufichieràexécuter)
L'expérience, c'est une connerie par jour, mais jamais la même..
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long