Bonjour,
Je me suis inspiré de ce code trouvé sur le site de Raymond :
http://officesystem.access.free.fr/msofiledialog.htm
A partir de là, je voudrais pouvoir ouvrir n'importe quel fichier se trouvant
dans le répertoire, que ce soit un document Word, un tableur Excel, voire une
image JPEG ...
Mais j'ai pas trouvé le truc !
Pouvez-vous m'aider ?
Merci
Bonjour,
Je me suis inspiré de ce code trouvé sur le site de Raymond :
http://officesystem.access.free.fr/msofiledialog.htm
A partir de là, je voudrais pouvoir ouvrir n'importe quel fichier se trouvant
dans le répertoire, que ce soit un document Word, un tableur Excel, voire une
image JPEG ...
Mais j'ai pas trouvé le truc !
Pouvez-vous m'aider ?
Merci
Bonjour,
Je me suis inspiré de ce code trouvé sur le site de Raymond :
http://officesystem.access.free.fr/msofiledialog.htm
A partir de là, je voudrais pouvoir ouvrir n'importe quel fichier se trouvant
dans le répertoire, que ce soit un document Word, un tableur Excel, voire une
image JPEG ...
Mais j'ai pas trouvé le truc !
Pouvez-vous m'aider ?
Merci
Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son
extension.
Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son
extension.
Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son
extension.
"ze Titi" a écrit dans le message de news:Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son extension.
Merci, mais j'ai rien compris !
Ou dois-je mettre l'appel de la fonction ?
Comment et ou inclure ce code par rapport à l'autre ?
Pouvez-vous m'éclairer un peu ?
Merci.
"ze Titi" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le message de news:
mn.22797d74b0fd5e72.64280@tiscali.fr...
Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son extension.
Merci, mais j'ai rien compris !
Ou dois-je mettre l'appel de la fonction ?
Comment et ou inclure ce code par rapport à l'autre ?
Pouvez-vous m'éclairer un peu ?
Merci.
"ze Titi" a écrit dans le message de news:Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son extension.
Merci, mais j'ai rien compris !
Ou dois-je mettre l'appel de la fonction ?
Comment et ou inclure ce code par rapport à l'autre ?
Pouvez-vous m'éclairer un peu ?
Merci.
Hello dadpub !
Colle le code de la page dans un module. L'appel de la fonction se fait
comme décrit sur cette même page. Tu lui passes en paramètre ce que tu as
récupéré avec l'autre fonction.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :"ze Titi" a écrit dans le message de
news:Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son
extension.
Merci, mais j'ai rien compris !
Ou dois-je mettre l'appel de la fonction ?
Comment et ou inclure ce code par rapport à l'autre ?
Pouvez-vous m'éclairer un peu ?
Merci.
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Hello dadpub !
Colle le code de la page dans un module. L'appel de la fonction se fait
comme décrit sur cette même page. Tu lui passes en paramètre ce que tu as
récupéré avec l'autre fonction.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
"ze Titi" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le message de
news: mn.22797d74b0fd5e72.64280@tiscali.fr...
Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son
extension.
Merci, mais j'ai rien compris !
Ou dois-je mettre l'appel de la fonction ?
Comment et ou inclure ce code par rapport à l'autre ?
Pouvez-vous m'éclairer un peu ?
Merci.
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Hello dadpub !
Colle le code de la page dans un module. L'appel de la fonction se fait
comme décrit sur cette même page. Tu lui passes en paramètre ce que tu as
récupéré avec l'autre fonction.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :"ze Titi" a écrit dans le message de
news:Bonjour dadpub
Toujours sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm
qui te permet d'ouvrir n'importe quel fichier en fonction de son
extension.
Merci, mais j'ai rien compris !
Ou dois-je mettre l'appel de la fonction ?
Comment et ou inclure ce code par rapport à l'autre ?
Pouvez-vous m'éclairer un peu ?
Merci.
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Bonjour.
Ce qui veut dire que la valeur récupérée dans MonItem comporte une erreur,
telle qu'une , ou un ; etc....
vérifier les valeurs de MonItem lorsque tu entres dans la procédure.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/
"dadpub" a écrit dans le message de news:
%23s6%Bonjour,
Le mieux est de montrer le code que j'ai glané sur votre site :
'===================Début Code========================= >> Option Compare Database
Option Explicit
Private Declare Function ShellExec 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
Public Enum TypeOpen
Hide = 0
Normal = 1
Minimized = 2
Maximized = 3
Restore = 9
End Enum
Public Enum OP
OpExecute = 1
OpPrint = 2
End Enum
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function OpenFileExtend(FileName As String, Optional Window As TypeOpen >> Minimized, Optional Operation As OP = OpExecute) As Variant
Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, IIf(Operation = OpPrint, "print",
"open"), FileName, vbNullString, vbNullString, Window)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL "
& FileName, 1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : FileName non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de FileName inconnu"
Case Else:
End Select
End If
OpenFileExtend = lRet & IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Function ChoixDoc() As String
DoEvents
Dim Dialogue As FileDialog
Dim MonItem As String
Set Dialogue = FileDialog(msoFileDialogOpen)
With Dialogue
.AllowMultiSelect = False
.ButtonName = "Ouvrir ce fichier"
.InitialFileName = "C:bib" & Forms!fprincipal!NomP &
Forms!fprincipal!Prenom & Forms!fprincipal!CODENP & "*.*"
.Filters.Clear
.Filters.Add "Tous les types", "*.*"
.Filters.Add "Documents au format Rich Text", "*.rtf"
.Filters.Add "Documents Word", "*.doc"
.InitialView = msoFileDialogViewList
.Title = "Choisissez votre document..."
If .Show Then
MonItem = Dialogue.SelectedItems.Item(1)
'==================début de
BUG============================================== >> OpenFileExtend (MonItem,Maximized,OpExecute) ' ça
marche avec OpenFileExtend (MonItem)
'===================fin de
BUG=============================================== >> Dim Réponse As Variant
Réponse = OpenFileExtend(MonItem, Maximized, OpExecute)
If Not Réponse = True Then
MsgBox " Y'a cette erreur : " & Réponse, vbCritical, "Module
ChoixDoc"
End If
End If
End With
End Function
"=============Fin Code================================= >> @ +
Merci.
Bonjour.
Ce qui veut dire que la valeur récupérée dans MonItem comporte une erreur,
telle qu'une , ou un ; etc....
vérifier les valeurs de MonItem lorsque tu entres dans la procédure.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/
"dadpub" <FO.dadpub@gmail.com.FO> a écrit dans le message de news:
%23s6%239d0dHHA.3616@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le mieux est de montrer le code que j'ai glané sur votre site :
'===================Début Code========================= >> Option Compare Database
Option Explicit
Private Declare Function ShellExec 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
Public Enum TypeOpen
Hide = 0
Normal = 1
Minimized = 2
Maximized = 3
Restore = 9
End Enum
Public Enum OP
OpExecute = 1
OpPrint = 2
End Enum
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function OpenFileExtend(FileName As String, Optional Window As TypeOpen >> Minimized, Optional Operation As OP = OpExecute) As Variant
Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, IIf(Operation = OpPrint, "print",
"open"), FileName, vbNullString, vbNullString, Window)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL "
& FileName, 1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : FileName non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de FileName inconnu"
Case Else:
End Select
End If
OpenFileExtend = lRet & IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Function ChoixDoc() As String
DoEvents
Dim Dialogue As FileDialog
Dim MonItem As String
Set Dialogue = FileDialog(msoFileDialogOpen)
With Dialogue
.AllowMultiSelect = False
.ButtonName = "Ouvrir ce fichier"
.InitialFileName = "C:bib" & Forms!fprincipal!NomP &
Forms!fprincipal!Prenom & Forms!fprincipal!CODENP & "*.*"
.Filters.Clear
.Filters.Add "Tous les types", "*.*"
.Filters.Add "Documents au format Rich Text", "*.rtf"
.Filters.Add "Documents Word", "*.doc"
.InitialView = msoFileDialogViewList
.Title = "Choisissez votre document..."
If .Show Then
MonItem = Dialogue.SelectedItems.Item(1)
'==================début de
BUG============================================== >> OpenFileExtend (MonItem,Maximized,OpExecute) ' ça
marche avec OpenFileExtend (MonItem)
'===================fin de
BUG=============================================== >> Dim Réponse As Variant
Réponse = OpenFileExtend(MonItem, Maximized, OpExecute)
If Not Réponse = True Then
MsgBox " Y'a cette erreur : " & Réponse, vbCritical, "Module
ChoixDoc"
End If
End If
End With
End Function
"=============Fin Code================================= >> @ +
Merci.
Bonjour.
Ce qui veut dire que la valeur récupérée dans MonItem comporte une erreur,
telle qu'une , ou un ; etc....
vérifier les valeurs de MonItem lorsque tu entres dans la procédure.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/
"dadpub" a écrit dans le message de news:
%23s6%Bonjour,
Le mieux est de montrer le code que j'ai glané sur votre site :
'===================Début Code========================= >> Option Compare Database
Option Explicit
Private Declare Function ShellExec 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
Public Enum TypeOpen
Hide = 0
Normal = 1
Minimized = 2
Maximized = 3
Restore = 9
End Enum
Public Enum OP
OpExecute = 1
OpPrint = 2
End Enum
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function OpenFileExtend(FileName As String, Optional Window As TypeOpen >> Minimized, Optional Operation As OP = OpExecute) As Variant
Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, IIf(Operation = OpPrint, "print",
"open"), FileName, vbNullString, vbNullString, Window)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL "
& FileName, 1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : FileName non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de FileName inconnu"
Case Else:
End Select
End If
OpenFileExtend = lRet & IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Function ChoixDoc() As String
DoEvents
Dim Dialogue As FileDialog
Dim MonItem As String
Set Dialogue = FileDialog(msoFileDialogOpen)
With Dialogue
.AllowMultiSelect = False
.ButtonName = "Ouvrir ce fichier"
.InitialFileName = "C:bib" & Forms!fprincipal!NomP &
Forms!fprincipal!Prenom & Forms!fprincipal!CODENP & "*.*"
.Filters.Clear
.Filters.Add "Tous les types", "*.*"
.Filters.Add "Documents au format Rich Text", "*.rtf"
.Filters.Add "Documents Word", "*.doc"
.InitialView = msoFileDialogViewList
.Title = "Choisissez votre document..."
If .Show Then
MonItem = Dialogue.SelectedItems.Item(1)
'==================début de
BUG============================================== >> OpenFileExtend (MonItem,Maximized,OpExecute) ' ça
marche avec OpenFileExtend (MonItem)
'===================fin de
BUG=============================================== >> Dim Réponse As Variant
Réponse = OpenFileExtend(MonItem, Maximized, OpExecute)
If Not Réponse = True Then
MsgBox " Y'a cette erreur : " & Réponse, vbCritical, "Module
ChoixDoc"
End If
End If
End With
End Function
"=============Fin Code================================= >> @ +
Merci.
Hello Raymond !
Ou alors tout simplement, comme tu le précisais dans ton poste précédent,
retirer les parenthèses autour des paramètres puisqu'il utilise la
fonction sans test de retour. Mais peut-être me fourvois-je...
En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :Bonjour.
Ce qui veut dire que la valeur récupérée dans MonItem comporte une
erreur, telle qu'une , ou un ; etc....
vérifier les valeurs de MonItem lorsque tu entres dans la procédure.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/
"dadpub" a écrit dans le message de news:
%23s6%Bonjour,
Le mieux est de montrer le code que j'ai glané sur votre site :
'===================Début Code========================= >>> Option Compare Database
Option Explicit
Private Declare Function ShellExec 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
Public Enum TypeOpen
Hide = 0
Normal = 1
Minimized = 2
Maximized = 3
Restore = 9
End Enum
Public Enum OP
OpExecute = 1
OpPrint = 2
End Enum
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function OpenFileExtend(FileName As String, Optional Window As TypeOpenMinimized, Optional Operation As OP = OpExecute) As Variant
Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, IIf(Operation = OpPrint, "print",
"open"), FileName, vbNullString, vbNullString, Window)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL
"
& FileName, 1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : FileName non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de FileName inconnu"
Case Else:
End Select
End If
OpenFileExtend = lRet & IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Function ChoixDoc() As String
DoEvents
Dim Dialogue As FileDialog
Dim MonItem As String
Set Dialogue = FileDialog(msoFileDialogOpen)
With Dialogue
.AllowMultiSelect = False
.ButtonName = "Ouvrir ce fichier"
.InitialFileName = "C:bib" & Forms!fprincipal!NomP &
Forms!fprincipal!Prenom & Forms!fprincipal!CODENP & "*.*"
.Filters.Clear
.Filters.Add "Tous les types", "*.*"
.Filters.Add "Documents au format Rich Text", "*.rtf"
.Filters.Add "Documents Word", "*.doc"
.InitialView = msoFileDialogViewList
.Title = "Choisissez votre document..."
If .Show Then
MonItem = Dialogue.SelectedItems.Item(1)
'==================début de
BUG============================================== >>> OpenFileExtend (MonItem,Maximized,OpExecute) ' ça
marche avec OpenFileExtend (MonItem)
'===================fin de
BUG=============================================== >>> Dim Réponse As Variant
Réponse = OpenFileExtend(MonItem, Maximized, OpExecute)
If Not Réponse = True Then
MsgBox " Y'a cette erreur : " & Réponse, vbCritical, "Module
ChoixDoc"
End If
End If
End With
End Function
"=============Fin Code================================= >>> @ +
Merci.
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Hello Raymond !
Ou alors tout simplement, comme tu le précisais dans ton poste précédent,
retirer les parenthèses autour des paramètres puisqu'il utilise la
fonction sans test de retour. Mais peut-être me fourvois-je...
En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :
Bonjour.
Ce qui veut dire que la valeur récupérée dans MonItem comporte une
erreur, telle qu'une , ou un ; etc....
vérifier les valeurs de MonItem lorsque tu entres dans la procédure.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/
"dadpub" <FO.dadpub@gmail.com.FO> a écrit dans le message de news:
%23s6%239d0dHHA.3616@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le mieux est de montrer le code que j'ai glané sur votre site :
'===================Début Code========================= >>> Option Compare Database
Option Explicit
Private Declare Function ShellExec 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
Public Enum TypeOpen
Hide = 0
Normal = 1
Minimized = 2
Maximized = 3
Restore = 9
End Enum
Public Enum OP
OpExecute = 1
OpPrint = 2
End Enum
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function OpenFileExtend(FileName As String, Optional Window As TypeOpen
Minimized, Optional Operation As OP = OpExecute) As Variant
Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, IIf(Operation = OpPrint, "print",
"open"), FileName, vbNullString, vbNullString, Window)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL
"
& FileName, 1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : FileName non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de FileName inconnu"
Case Else:
End Select
End If
OpenFileExtend = lRet & IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Function ChoixDoc() As String
DoEvents
Dim Dialogue As FileDialog
Dim MonItem As String
Set Dialogue = FileDialog(msoFileDialogOpen)
With Dialogue
.AllowMultiSelect = False
.ButtonName = "Ouvrir ce fichier"
.InitialFileName = "C:bib" & Forms!fprincipal!NomP &
Forms!fprincipal!Prenom & Forms!fprincipal!CODENP & "*.*"
.Filters.Clear
.Filters.Add "Tous les types", "*.*"
.Filters.Add "Documents au format Rich Text", "*.rtf"
.Filters.Add "Documents Word", "*.doc"
.InitialView = msoFileDialogViewList
.Title = "Choisissez votre document..."
If .Show Then
MonItem = Dialogue.SelectedItems.Item(1)
'==================début de
BUG============================================== >>> OpenFileExtend (MonItem,Maximized,OpExecute) ' ça
marche avec OpenFileExtend (MonItem)
'===================fin de
BUG=============================================== >>> Dim Réponse As Variant
Réponse = OpenFileExtend(MonItem, Maximized, OpExecute)
If Not Réponse = True Then
MsgBox " Y'a cette erreur : " & Réponse, vbCritical, "Module
ChoixDoc"
End If
End If
End With
End Function
"=============Fin Code================================= >>> @ +
Merci.
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Hello Raymond !
Ou alors tout simplement, comme tu le précisais dans ton poste précédent,
retirer les parenthèses autour des paramètres puisqu'il utilise la
fonction sans test de retour. Mais peut-être me fourvois-je...
En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :Bonjour.
Ce qui veut dire que la valeur récupérée dans MonItem comporte une
erreur, telle qu'une , ou un ; etc....
vérifier les valeurs de MonItem lorsque tu entres dans la procédure.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.mpfa.info/
Pour les amoureux de l'Ardèche et de Joyeuse:
http://cppj.free.fr/
"dadpub" a écrit dans le message de news:
%23s6%Bonjour,
Le mieux est de montrer le code que j'ai glané sur votre site :
'===================Début Code========================= >>> Option Compare Database
Option Explicit
Private Declare Function ShellExec 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
Public Enum TypeOpen
Hide = 0
Normal = 1
Minimized = 2
Maximized = 3
Restore = 9
End Enum
Public Enum OP
OpExecute = 1
OpPrint = 2
End Enum
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function OpenFileExtend(FileName As String, Optional Window As TypeOpenMinimized, Optional Operation As OP = OpExecute) As Variant
Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, IIf(Operation = OpPrint, "print",
"open"), FileName, vbNullString, vbNullString, Window)
If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL
"
& FileName, 1)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Erreur: Pas assez de mémoire pour exécuter"
Case ERROR_FILE_NOT_FOUND:
stRet = "Erreur : FileName non trouvé"
Case ERROR_PATH_NOT_FOUND:
stRet = "Erreur : chemin non trouvé"
Case ERROR_BAD_FORMAT:
stRet = "Erreur : Type de FileName inconnu"
Case Else:
End Select
End If
OpenFileExtend = lRet & IIf(stRet = "", vbNullString, ", " & stRet)
End Function
Function ChoixDoc() As String
DoEvents
Dim Dialogue As FileDialog
Dim MonItem As String
Set Dialogue = FileDialog(msoFileDialogOpen)
With Dialogue
.AllowMultiSelect = False
.ButtonName = "Ouvrir ce fichier"
.InitialFileName = "C:bib" & Forms!fprincipal!NomP &
Forms!fprincipal!Prenom & Forms!fprincipal!CODENP & "*.*"
.Filters.Clear
.Filters.Add "Tous les types", "*.*"
.Filters.Add "Documents au format Rich Text", "*.rtf"
.Filters.Add "Documents Word", "*.doc"
.InitialView = msoFileDialogViewList
.Title = "Choisissez votre document..."
If .Show Then
MonItem = Dialogue.SelectedItems.Item(1)
'==================début de
BUG============================================== >>> OpenFileExtend (MonItem,Maximized,OpExecute) ' ça
marche avec OpenFileExtend (MonItem)
'===================fin de
BUG=============================================== >>> Dim Réponse As Variant
Réponse = OpenFileExtend(MonItem, Maximized, OpExecute)
If Not Réponse = True Then
MsgBox " Y'a cette erreur : " & Réponse, vbCritical, "Module
ChoixDoc"
End If
End If
End With
End Function
"=============Fin Code================================= >>> @ +
Merci.
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info