Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Aide contextuelle CHM

2 réponses
Avatar
Morceau Jean-Louis
J'ai réalisé un fichier ".chm" avec HTML Help Workshop pour servir d'aide
contextuelle à une UserForm située dans un modèle Word.

Si je clique directement sur le fichier ".chm" il fonctionne correctement.
Si je presse F1 dans la UserForm un message me dit que ce n'est pas un
fichier d'aide Windows ou qu'il est invalide ?

Les contextID sont définis et le fichier d'aide déclaré dans les propriétés
du projet.
Quelqu'un connaît-il le problème ? J'ai du mal avec l'aide en anglais du
Help WorkShop.

Merci

2 réponses

Avatar
Hervé
Salut Jean Louis,
Fais un test avec ceci :
le fichier d'aide doit se trouver dans le même dossier.
A mettre dans le module de ta Form et à adapter avec API "HtmlHelp" :

Private Declare Function HtmlHelp _
Lib "hhctrl.ocx" Alias "HtmlHelpA" ( _
ByVal Descripteur As Long, _
ByVal AdresseFichier As String, _
ByVal Commande As Long, _
ByVal Identifiant As Long) As Long

Private Const HH_DISPLAY_TOPIC = &H0
Private Const HH_HELP_CONTEXT = &HF

Private Sub AfficherAide( _
FichierAide As String, _
Optional TypeFenetre As String, _
Optional IDContexte)

If Dir(FichierAide) = "" Then
MsgBox "Le fichier d'aide est introuvable", _
vbCritical + vbOKOnly, _
"FICHIER D'AIDE MANQUANT."
Exit Sub
End If

'si un type de fenêtre personnalisée est défini,
'construit le chemin
If Len(TypeFenetre) Then

FichierAide = Trim(FichierAide) & ">" & Trim(TypeFenetre)

End If

'si aucun IdContexte a été passé,
'ouvre L 'aide sur la page d'accueil
If IsMissing(IDContexte) Then
Call HtmlHelp(0, FichierAide, HH_DISPLAY_TOPIC, ByVal 0&)
Else
Call HtmlHelp(0, FichierAide, HH_HELP_CONTEXT, IDContexte)
End If

End Sub

Private Sub CmdAide_Click()
AfficherAide Application.ActiveDocument.Path & "Aide.chm"
End Sub

Private Sub TextBox1_KeyDown( _
ByVal KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)

If KeyCode = 112 Then 'F1
AfficherAide Application.ActiveDocument.Path & "Aide.chm", _
"MaFenetre", _
10000
End If

End Sub

Hervé.

"Morceau Jean-Louis" a écrit dans le message news:
blop88$1e26$
J'ai réalisé un fichier ".chm" avec HTML Help Workshop pour servir d'aide
contextuelle à une UserForm située dans un modèle Word.

Si je clique directement sur le fichier ".chm" il fonctionne correctement.
Si je presse F1 dans la UserForm un message me dit que ce n'est pas un
fichier d'aide Windows ou qu'il est invalide ?

Les contextID sont définis et le fichier d'aide déclaré dans les


propriétés
du projet.
Quelqu'un connaît-il le problème ? J'ai du mal avec l'aide en anglais du
Help WorkShop.

Merci




Avatar
Morceau Jean-Louis
Salut Hervé

Merci. Ton code fonctionne parfaitement.

J'avais compris que les aides .chm n'étaient pas parfaitement supportées
hormis par VB6 et je m'était résolu à ressortir le HELP WORKSHOP. Cela aurai
été dommage car ce nouveau système d'aide est plus facile à mettre au point.

J-L




Hervé a écrit dans le message :

Salut Jean Louis,
Fais un test avec ceci :
le fichier d'aide doit se trouver dans le même dossier.
A mettre dans le module de ta Form et à adapter avec API "HtmlHelp" :