OVH Cloud OVH Cloud

Lancer un fichier *.chm

14 réponses
Avatar
Codial
Bonjour,

Quelle est la syntaxe pour activer un fichier d'aide chm sous Access à
partir de la touche F1 et d'un bouton?

D'avance merci

Codial

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

avec F1 j'ai toujours eu des surprises depuis le volet office et je n'ai
jamais pris le temps d'approfondir.
pour le bouton, tu utilises l'api openfileextend que tu trouves sur la page
http://officesystem.access.free.fr/apiopenfileextend.htm et tu lances:
OpenFileExtend "c:monfichier.chm", Maximized, OpExecute


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:
OC$
Bonjour,

Quelle est la syntaxe pour activer un fichier d'aide chm sous Access à
partir de la touche F1 et d'un bouton?

D'avance merci

Codial





Avatar
Codial
Bonsoir Raymond,

le problème c'est que je suis sous encore sous Access 97, comment je peux
transposer sous Access 97 ?
Cordialement

Codial

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

avec F1 j'ai toujours eu des surprises depuis le volet office et je n'ai
jamais pris le temps d'approfondir.
pour le bouton, tu utilises l'api openfileextend que tu trouves sur la
page http://officesystem.access.free.fr/apiopenfileextend.htm et tu
lances:
OpenFileExtend "c:monfichier.chm", Maximized, OpExecute


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:
OC$
Bonjour,

Quelle est la syntaxe pour activer un fichier d'aide chm sous Access à
partir de la touche F1 et d'un bouton?

D'avance merci

Codial









Avatar
Raymond [mvp]
tu passes quand à 2003 ?

avec ça tu devrais y arriver:

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


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 Integer = 2 _
, Optional Operation As Integer = 1 _
) As Variant

Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, _
IIf(Operation = 2, "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



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonsoir Raymond,

le problème c'est que je suis sous encore sous Access 97, comment je peux
transposer sous Access 97 ?
Cordialement

Codial


Avatar
Codial
ça marche!

mais comment je peux faire pour maximiser l'aide ?

Perso je suis en 2000 mais il faut que je développe en 97, Grrrrrr !!!

Je crois que je vais leurs livrer une appli 2000 avec runtime lol !!!

Passer à 2003 ?

En fait j'en ai envie et à ce propos comment je peux faire pour passer de
2000 à 2003 ?

Amicalement

Codial



"Raymond [mvp]" a écrit dans le message de
news:
tu passes quand à 2003 ?

avec ça tu devrais y arriver:

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


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 Integer = 2 _
, Optional Operation As Integer = 1 _
) As Variant

Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, _
IIf(Operation = 2, "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



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonsoir Raymond,

le problème c'est que je suis sous encore sous Access 97, comment je peux
transposer sous Access 97 ?
Cordialement

Codial







Avatar
Codial
Bonsoir,

Bouge pas, j'ai trouvé pour maximizer l'aide!!!

Codial


"Raymond [mvp]" a écrit dans le message de
news:
tu passes quand à 2003 ?

avec ça tu devrais y arriver:

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


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 Integer = 2 _
, Optional Operation As Integer = 1 _
) As Variant

Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, _
IIf(Operation = 2, "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



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonsoir Raymond,

le problème c'est que je suis sous encore sous Access 97, comment je peux
transposer sous Access 97 ?
Cordialement

Codial







Avatar
Codial
Re,

En fait j'avais testé ça:

Dim retVal
retVal = Shell("hh.exe " & CurrentDBDir() & "Ref_Mat.chm", 1)

et ça marche!

Codial


"Raymond [mvp]" a écrit dans le message de
news:
tu passes quand à 2003 ?

avec ça tu devrais y arriver:

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


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 Integer = 2 _
, Optional Operation As Integer = 1 _
) As Variant

Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, _
IIf(Operation = 2, "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



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonsoir Raymond,

le problème c'est que je suis sous encore sous Access 97, comment je peux
transposer sous Access 97 ?
Cordialement

Codial







Avatar
Codial
Je reviens sur mon problème!

Pourquoi quand sur un formulaire je mets sur HelpFile mon nom de fichier hcm
j'ai un message d'erreur quand j'appuie sur F1 ?

Cordialement

Codial



"Raymond [mvp]" a écrit dans le message de
news:
tu passes quand à 2003 ?

avec ça tu devrais y arriver:

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


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 Integer = 2 _
, Optional Operation As Integer = 1 _
) As Variant

Dim lRet As Long
Dim varTaskID As Variant
Dim stRet As String
lRet = ShellExec(hWndAccessApp, _
IIf(Operation = 2, "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



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Bonsoir Raymond,

le problème c'est que je suis sous encore sous Access 97, comment je peux
transposer sous Access 97 ?
Cordialement

Codial







Avatar
Raymond [mvp]
indiques-tu le HelpContextId ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Je reviens sur mon problème!

Pourquoi quand sur un formulaire je mets sur HelpFile mon nom de fichier
hcm j'ai un message d'erreur quand j'appuie sur F1 ?

Cordialement

Codial


Avatar
Codial
Oui aussi,

En fait le message c'est "le fichier c:bbbbb.chm n'est pas un fichier
d'Aide Windows ou le fichier est endommagé !!!

Codial


"Raymond [mvp]" a écrit dans le message de
news:
indiques-tu le HelpContextId ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:

Je reviens sur mon problème!

Pourquoi quand sur un formulaire je mets sur HelpFile mon nom de fichier
hcm j'ai un message d'erreur quand j'appuie sur F1 ?

Cordialement

Codial







Avatar
Raymond [mvp]
hh.exe ne peut pas exécuter un chm mais un hlp seulement, me semble-t-il.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Codial" a écrit dans le message de news:
%
Oui aussi,

En fait le message c'est "le fichier c:bbbbb.chm n'est pas un fichier
d'Aide Windows ou le fichier est endommagé !!!



1 2