Cette ligne ex=E9cute bien Foxit, mais se fiche royalement de ma
variable "Fichier", qui contient le chemin et le nom du fichier.
Pensant que ce sont les espaces dans le nom qui posaient probl=E8me,
j'ai test=E9 avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de
trouver la solution !!!), je suis preneur !
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
Pour l'instant, je m'en tire en créant un lien hypertexte, mais voilà, Microsoft est très jaloux et n'aime pas qu'on utilise autre chose qu'IE pour cette opération..... Ce qui oblige à rétablir IE comme navigateur par défaut (IE EST un défaut !!)
@+
On 2 fév, 09:42, ThierryP <petithory.thie...@gmail.com> wrote:
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec
foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma
variable "Fichier", qui contient le chemin et le nom du fichier.
Pensant que ce sont les espaces dans le nom qui posaient problème,
j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de
trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
Pour l'instant, je m'en tire en créant un lien hypertexte, mais voilà,
Microsoft est très jaloux et n'aime pas qu'on utilise autre chose
qu'IE pour cette opération.....
Ce qui oblige à rétablir IE comme navigateur par défaut (IE EST un
défaut !!)
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
Pour l'instant, je m'en tire en créant un lien hypertexte, mais voilà, Microsoft est très jaloux et n'aime pas qu'on utilise autre chose qu'IE pour cette opération..... Ce qui oblige à rétablir IE comme navigateur par défaut (IE EST un défaut !!)
@+
MichD
Bonjour,
Un exemple de syntaxe avec Shell :
Au besoin, tu peux être obligé de saisir le chemin de l'exécutable au complet!
'-------------------------------- Sub test() Dim Fichier As String Fichier = """C:UsersDMDocumentsMon Fichier.doc""" Shell "winword.exe " & Fichier, 1 End Sub '--------------------------------
MichD ------------------------------------------ "ThierryP" a écrit dans le message de groupe de discussion :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
Bonjour,
Un exemple de syntaxe avec Shell :
Au besoin, tu peux être obligé de saisir le chemin de l'exécutable au complet!
'--------------------------------
Sub test()
Dim Fichier As String
Fichier = """C:UsersDMDocumentsMon Fichier.doc"""
Shell "winword.exe " & Fichier, 1
End Sub
'--------------------------------
MichD
------------------------------------------
"ThierryP" a écrit dans le message de groupe de discussion :
3aacb436-2c6a-494f-abe8-5a92f4185c71@do4g2000vbb.googlegroups.com...
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec
foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma
variable "Fichier", qui contient le chemin et le nom du fichier.
Pensant que ce sont les espaces dans le nom qui posaient problème,
j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de
trouver la solution !!!), je suis preneur !
Au besoin, tu peux être obligé de saisir le chemin de l'exécutable au complet!
'-------------------------------- Sub test() Dim Fichier As String Fichier = """C:UsersDMDocumentsMon Fichier.doc""" Shell "winword.exe " & Fichier, 1 End Sub '--------------------------------
MichD ------------------------------------------ "ThierryP" a écrit dans le message de groupe de discussion :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
bcar
A lire ce que tu écris je me dis que c'est le fait que tu ais ""...Reader.exe"" & Fichier... je pense qu'en mettant ""...Reader.exe "" & Fichier... un espace est nécessaire entre le nom de ton executable et le fichier que tu veux ouvrir
Sinon pour faire les choses jusqu'au bout (et même si ce n'est pas la question), le mieux serait d'utiliser le programme par défaut pour ouvrir le document que tu veux ouvrir
il faut donc declarer la function : Private Declare Function FindExecutable Lib "shell32.dll" _ Alias "FindExecutableA" (ByVal lpFile As String, _ ByVal lpDirectory As String, _ ByVal lpResult As String) As Long
écrire la fonction :
' ------------------------------------------------------------------- ' -- Retrourne le chemin de l'executable (par défaut) désigné ' -- pour ouvrir le type de fichier passé en paramètre ' -- [IN] filename : type de fichier dont on veur trouver ' -- l'application pour l'ouvrir ' -- [RETURN] le chemin de l'executable ' -- ("" si aucun executable n'a été trouvé) ' ------------------------------------------------------------------- Private Function getOpenener(ByVal filename As String) As String Dim fileappli As String * 250 Dim result As Integer Dim i As Integer
getOpenener = "" result = FindExecutable(filename, vbNullString, fileappli) If result > 32 Then i = InStr(1, fileappli, Chr(0), vbBinaryCompare) - 1 getOpenener = """" & Left$(fileappli, i) & """" End If End Function
et utiliser la fonction shell de la maniere suivante
dim filename as string filename = "monpdf.pdf" Call Shell(getOpenener(filename) & " """ & filename & """")
Le 02/02/2012 09:42, ThierryP a écrit :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
A lire ce que tu écris je me dis que c'est le fait que
tu ais ""...Reader.exe"" & Fichier...
je pense qu'en mettant ""...Reader.exe "" & Fichier...
un espace est nécessaire entre le nom de ton executable et le fichier
que tu veux ouvrir
Sinon pour faire les choses jusqu'au bout
(et même si ce n'est pas la question),
le mieux serait d'utiliser le programme par défaut pour ouvrir le
document que tu veux ouvrir
il faut donc declarer la function :
Private Declare Function FindExecutable Lib "shell32.dll" _
Alias "FindExecutableA" (ByVal lpFile As String, _
ByVal lpDirectory As String, _
ByVal lpResult As String) As Long
écrire la fonction :
' -------------------------------------------------------------------
' -- Retrourne le chemin de l'executable (par défaut) désigné
' -- pour ouvrir le type de fichier passé en paramètre
' -- [IN] filename : type de fichier dont on veur trouver
' -- l'application pour l'ouvrir
' -- [RETURN] le chemin de l'executable
' -- ("" si aucun executable n'a été trouvé)
' -------------------------------------------------------------------
Private Function getOpenener(ByVal filename As String) As String
Dim fileappli As String * 250
Dim result As Integer
Dim i As Integer
getOpenener = ""
result = FindExecutable(filename, vbNullString, fileappli)
If result > 32 Then
i = InStr(1, fileappli, Chr(0), vbBinaryCompare) - 1
getOpenener = """" & Left$(fileappli, i) & """"
End If
End Function
et utiliser la fonction shell de la maniere suivante
dim filename as string
filename = "monpdf.pdf"
Call Shell(getOpenener(filename) & " """ & filename & """")
Le 02/02/2012 09:42, ThierryP a écrit :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec
foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma
variable "Fichier", qui contient le chemin et le nom du fichier.
Pensant que ce sont les espaces dans le nom qui posaient problème,
j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de
trouver la solution !!!), je suis preneur !
A lire ce que tu écris je me dis que c'est le fait que tu ais ""...Reader.exe"" & Fichier... je pense qu'en mettant ""...Reader.exe "" & Fichier... un espace est nécessaire entre le nom de ton executable et le fichier que tu veux ouvrir
Sinon pour faire les choses jusqu'au bout (et même si ce n'est pas la question), le mieux serait d'utiliser le programme par défaut pour ouvrir le document que tu veux ouvrir
il faut donc declarer la function : Private Declare Function FindExecutable Lib "shell32.dll" _ Alias "FindExecutableA" (ByVal lpFile As String, _ ByVal lpDirectory As String, _ ByVal lpResult As String) As Long
écrire la fonction :
' ------------------------------------------------------------------- ' -- Retrourne le chemin de l'executable (par défaut) désigné ' -- pour ouvrir le type de fichier passé en paramètre ' -- [IN] filename : type de fichier dont on veur trouver ' -- l'application pour l'ouvrir ' -- [RETURN] le chemin de l'executable ' -- ("" si aucun executable n'a été trouvé) ' ------------------------------------------------------------------- Private Function getOpenener(ByVal filename As String) As String Dim fileappli As String * 250 Dim result As Integer Dim i As Integer
getOpenener = "" result = FindExecutable(filename, vbNullString, fileappli) If result > 32 Then i = InStr(1, fileappli, Chr(0), vbBinaryCompare) - 1 getOpenener = """" & Left$(fileappli, i) & """" End If End Function
et utiliser la fonction shell de la maniere suivante
dim filename as string filename = "monpdf.pdf" Call Shell(getOpenener(filename) & " """ & filename & """")
Le 02/02/2012 09:42, ThierryP a écrit :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
Maude Este
Bonsour®
"ThierryP" a écrit
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
copier le code ci-dessous dans un module standard. VBA se débrouille pour trouver le programme par défaut pour ouvrir le fichier avec l'extension correspondante défini dans windows si Foxit est défini pour ouvrir .pdf alors foxit sera utilisé si l'extension est .htm alors windows utilise le browser par defaut etc... '========================================= Option Explicit
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 Const SW_SHOWNORMAL = 1
Sub TestRead() 'NomFichier) Dim nomfichier As String Dim Reponse As Variant '------ utiliser l'une des trois syntaxes ci-dessous 'nomfichier = "C:UsersGeeDeeDocumentsroudeltas.pdf" 'nomfichier= [B4] nomfichier = "http://a.yfrog.com/img535/6424/af447rapport23janv2012.pdf"
Reponse = ShellExecute(1, vbNullString, nomfichier, vbNullString, "C:", SW_SHOWNORMAL) '---- on peut ici mettre un test de Reponse en cas d'erreur (voir aide API shellexecute dans VB ou MSDN) End Sub
Bonsour®
"ThierryP" a écrit
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec
foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma
variable "Fichier", qui contient le chemin et le nom du fichier.
Pensant que ce sont les espaces dans le nom qui posaient problème,
j'ai testé avec un nom simple..... pas mieux.
copier le code ci-dessous dans un module standard.
VBA se débrouille pour trouver le programme par défaut pour ouvrir le fichier
avec l'extension correspondante défini dans windows
si Foxit est défini pour ouvrir .pdf alors foxit sera utilisé
si l'extension est .htm alors windows utilise le browser par defaut
etc...
'========================================= Option Explicit
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
Const SW_SHOWNORMAL = 1
Sub TestRead() 'NomFichier)
Dim nomfichier As String
Dim Reponse As Variant
'------ utiliser l'une des trois syntaxes ci-dessous
'nomfichier = "C:UsersGeeDeeDocumentsroudeltas.pdf"
'nomfichier= [B4]
nomfichier =
"http://a.yfrog.com/img535/6424/af447rapport23janv2012.pdf"
Reponse = ShellExecute(1, vbNullString, nomfichier, vbNullString,
"C:", SW_SHOWNORMAL)
'---- on peut ici mettre un test de Reponse en cas d'erreur (voir aide API
shellexecute dans VB ou MSDN)
End Sub
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
copier le code ci-dessous dans un module standard. VBA se débrouille pour trouver le programme par défaut pour ouvrir le fichier avec l'extension correspondante défini dans windows si Foxit est défini pour ouvrir .pdf alors foxit sera utilisé si l'extension est .htm alors windows utilise le browser par defaut etc... '========================================= Option Explicit
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 Const SW_SHOWNORMAL = 1
Sub TestRead() 'NomFichier) Dim nomfichier As String Dim Reponse As Variant '------ utiliser l'une des trois syntaxes ci-dessous 'nomfichier = "C:UsersGeeDeeDocumentsroudeltas.pdf" 'nomfichier= [B4] nomfichier = "http://a.yfrog.com/img535/6424/af447rapport23janv2012.pdf"
Reponse = ShellExecute(1, vbNullString, nomfichier, vbNullString, "C:", SW_SHOWNORMAL) '---- on peut ici mettre un test de Reponse en cas d'erreur (voir aide API shellexecute dans VB ou MSDN) End Sub
ThierryP
Bonsoir Denis,
Il semble que ma réponse se soit perdue quelque part dans les serveurs de Google.....
Donc, un grand merci pour ta réponse (rapide et efficace comme toujours !!) ! Il semble que le problème vienne plus de Foxit, qui a du mal à prendre les paramètres que je lui passe. Donc même ta syntaxe ne ne lui plaît pas !
Merci !!
ThierryP
On 2 fév, 11:39, "MichD" wrote:
Bonjour,
Un exemple de syntaxe avec Shell :
Au besoin, tu peux être obligé de saisir le chemin de l'exécutable au complet!
'-------------------------------- Sub test() Dim Fichier As String Fichier = """C:UsersDMDocumentsMon Fichier.doc""" Shell "winword.exe " & Fichier, 1 End Sub '--------------------------------
MichD ------------------------------------------ "ThierryP" a écrit dans le message de groupe de discussion :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
Bonsoir Denis,
Il semble que ma réponse se soit perdue quelque part dans les serveurs
de Google.....
Donc, un grand merci pour ta réponse (rapide et efficace comme
toujours !!) !
Il semble que le problème vienne plus de Foxit, qui a du mal à prendre
les paramètres que je lui passe. Donc même ta syntaxe ne ne lui plaît
pas !
Merci !!
ThierryP
On 2 fév, 11:39, "MichD" <michde...@hotmail.com> wrote:
Bonjour,
Un exemple de syntaxe avec Shell :
Au besoin, tu peux être obligé de saisir le chemin de l'exécutable au complet!
'--------------------------------
Sub test()
Dim Fichier As String
Fichier = """C:UsersDMDocumentsMon Fichier.doc"""
Shell "winword.exe " & Fichier, 1
End Sub
'--------------------------------
MichD
------------------------------------------
"ThierryP" a écrit dans le message de groupe de discussion :
3aacb436-2c6a-494f-abe8-5a92f4185...@do4g2000vbb.googlegroups.com...
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec
foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma
variable "Fichier", qui contient le chemin et le nom du fichier.
Pensant que ce sont les espaces dans le nom qui posaient problème,
j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de
trouver la solution !!!), je suis preneur !
Il semble que ma réponse se soit perdue quelque part dans les serveurs de Google.....
Donc, un grand merci pour ta réponse (rapide et efficace comme toujours !!) ! Il semble que le problème vienne plus de Foxit, qui a du mal à prendre les paramètres que je lui passe. Donc même ta syntaxe ne ne lui plaît pas !
Merci !!
ThierryP
On 2 fév, 11:39, "MichD" wrote:
Bonjour,
Un exemple de syntaxe avec Shell :
Au besoin, tu peux être obligé de saisir le chemin de l'exécutable au complet!
'-------------------------------- Sub test() Dim Fichier As String Fichier = """C:UsersDMDocumentsMon Fichier.doc""" Shell "winword.exe " & Fichier, 1 End Sub '--------------------------------
MichD ------------------------------------------ "ThierryP" a écrit dans le message de groupe de discussion :
Bonjour tout le monde,
Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec foxit reader. Pour l'instant, j'en suis là :
Cette ligne exécute bien Foxit, mais se fiche royalement de ma variable "Fichier", qui contient le chemin et le nom du fichier. Pensant que ce sont les espaces dans le nom qui posaient problème, j'ai testé avec un nom simple..... pas mieux.
Si quelqu'un a eu l'occasion de se pencher sur ce cas, (et surtout de trouver la solution !!!), je suis preneur !
Merci d'avance ;-)
ThierryP
Bonjoir ;o)) (Expression également sous copyright,... mais je ne sais plus par qui)
Egalement fidèle au post(e) !!! Je vais tester ça ce week-end à têt e reposée (-10°C annoncés, bon prétexte pour ne pas décoller du PC !!)
Merci et bon week-end
On 2 fév, 15:36, "Maude Este" wrote:
Bonsour®
"ThierryP" a écrit
> Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec > foxit reader. Pour l'instant, j'en suis là : > A = Shell("""C:Program FilesFoxit SoftwareFoxit ReaderFoxit > Reader.exe"" & Fichier & """, vbMaximizedFocus) > Cette ligne exécute bien Foxit, mais se fiche royalement de ma > variable "Fichier", qui contient le chemin et le nom du fichier. > Pensant que ce sont les espaces dans le nom qui posaient problème, > j'ai testé avec un nom simple..... pas mieux.
copier le code ci-dessous dans un module standard. VBA se débrouille pour trouver le programme par défaut pour ouvrir le fichier avec l'extension correspondante défini dans windows si Foxit est défini pour ouvrir .pdf alors foxit sera utilisé si l'extension est .htm alors windows utilise le browser par defaut etc... '======================== ================== Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (By Val hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Lo ng) As Long Const SW_SHOWNORMAL = 1
Sub TestRead() 'NomFichier) Dim nomfichier As String Dim Reponse As Variant '------ utiliser l'une des trois syntaxes ci-dessous 'nomfichier = "C:UsersGeeDeeDocumentsroudeltas.pdf" 'nomfichier= [B4] nomfichier = "http://a.yfrog.com/img535/6424/af447rapport23janv2012.pdf"
Reponse = ShellExecute(1, vbNullString, nomfichier, vbNullString, "C:", SW_SHOWNORMAL) '---- on peut ici mettre un test de Reponse en cas d'erreur (voir aide API shellexecute dans VB ou MSDN) End Sub
Bonjoir ;o)) (Expression également sous copyright,... mais je ne sais
plus par qui)
Egalement fidèle au post(e) !!! Je vais tester ça ce week-end à têt e
reposée (-10°C annoncés, bon prétexte pour ne pas décoller du PC !!)
Merci et bon week-end
On 2 fév, 15:36, "Maude Este" <nom...@live.fr.invalid> wrote:
Bonsour®
"ThierryP" a écrit
> Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec
> foxit reader. Pour l'instant, j'en suis là :
> A = Shell("""C:Program FilesFoxit SoftwareFoxit ReaderFoxit
> Reader.exe"" & Fichier & """, vbMaximizedFocus)
> Cette ligne exécute bien Foxit, mais se fiche royalement de ma
> variable "Fichier", qui contient le chemin et le nom du fichier.
> Pensant que ce sont les espaces dans le nom qui posaient problème,
> j'ai testé avec un nom simple..... pas mieux.
copier le code ci-dessous dans un module standard.
VBA se débrouille pour trouver le programme par défaut pour ouvrir le fichier
avec l'extension correspondante défini dans windows
si Foxit est défini pour ouvrir .pdf alors foxit sera utilisé
si l'extension est .htm alors windows utilise le browser par defaut
etc...
'======================== ==================
Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (By Val
hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal
lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Lo ng) As
Long
Const SW_SHOWNORMAL = 1
Sub TestRead() 'NomFichier)
Dim nomfichier As String
Dim Reponse As Variant
'------ utiliser l'une des trois syntaxes ci-dessous
'nomfichier = "C:UsersGeeDeeDocumentsroudeltas.pdf"
'nomfichier= [B4]
nomfichier =
"http://a.yfrog.com/img535/6424/af447rapport23janv2012.pdf"
Reponse = ShellExecute(1, vbNullString, nomfichier, vbNullString,
"C:", SW_SHOWNORMAL)
'---- on peut ici mettre un test de Reponse en cas d'erreur (voir aide API
shellexecute dans VB ou MSDN)
End Sub
Bonjoir ;o)) (Expression également sous copyright,... mais je ne sais plus par qui)
Egalement fidèle au post(e) !!! Je vais tester ça ce week-end à têt e reposée (-10°C annoncés, bon prétexte pour ne pas décoller du PC !!)
Merci et bon week-end
On 2 fév, 15:36, "Maude Este" wrote:
Bonsour®
"ThierryP" a écrit
> Je me bats pour trouver la syntaxe d'un shell pour ouvrir un pdf avec > foxit reader. Pour l'instant, j'en suis là : > A = Shell("""C:Program FilesFoxit SoftwareFoxit ReaderFoxit > Reader.exe"" & Fichier & """, vbMaximizedFocus) > Cette ligne exécute bien Foxit, mais se fiche royalement de ma > variable "Fichier", qui contient le chemin et le nom du fichier. > Pensant que ce sont les espaces dans le nom qui posaient problème, > j'ai testé avec un nom simple..... pas mieux.
copier le code ci-dessous dans un module standard. VBA se débrouille pour trouver le programme par défaut pour ouvrir le fichier avec l'extension correspondante défini dans windows si Foxit est défini pour ouvrir .pdf alors foxit sera utilisé si l'extension est .htm alors windows utilise le browser par defaut etc... '======================== ================== Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (By Val hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Lo ng) As Long Const SW_SHOWNORMAL = 1
Sub TestRead() 'NomFichier) Dim nomfichier As String Dim Reponse As Variant '------ utiliser l'une des trois syntaxes ci-dessous 'nomfichier = "C:UsersGeeDeeDocumentsroudeltas.pdf" 'nomfichier= [B4] nomfichier = "http://a.yfrog.com/img535/6424/af447rapport23janv2012.pdf"
Reponse = ShellExecute(1, vbNullString, nomfichier, vbNullString, "C:", SW_SHOWNORMAL) '---- on peut ici mettre un test de Reponse en cas d'erreur (voir aide API shellexecute dans VB ou MSDN) End Sub