IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

fichier d'aide en .chm et ID context


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut fichier d'aide en .chm et ID context
    bonjour,

    malgré les nombreux post et le forum je n'arrive pas à faire en sorte d'ouvrir mon fichier d'aide en . chm à la rubrique correspondante.

    j'ai édité mon fichier d'aide avec HelpNDoc. il affiche bien l'ID context de chaque page que j'ai remis dans l'onglet propriété "context aide" du formulaire ou du controle (bouton) que j'utilise pour ouvrir l'aide.

    voici le module que j'utilise pour lancer l'aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Option Compare Database
     
    Option Explicit
     
    Private Const HH_DISPLAY_TOPIC = &H0
    Private Const HH_HELP_CONTEXT = &HF
     
    Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
        (ByVal hwndCaller As Long, _
        ByVal pszFile As String, _
        ByVal uCommand As Long, _
        ByVal dwData As Long) As Long
    Public Sub Show(NewFile As String, Optional WindowPane As String, Optional ContextID)
    Dim Fichier As String
        Fichier = NewFile
     
        If Len(WindowPane) Then
            Fichier = Trim(Fichier) & ">" & Trim(WindowPane)
        End If
     
        If IsMissing(ContextID) Then
            Call HtmlHelp(0, Fichier, HH_DISPLAY_TOPIC, ByVal 0&)
        Else
            Call HtmlHelp(0, Fichier, HH_HELP_CONTEXT, ContextID)
        End If
    End Sub
    Public Function AppelAide()
        Dim Dossier As String
        Dossier = CurrentProject.Path
        If FileExists("Aide.chm", "C:\Program Files\gestion SEGPA demo") = True Then
            Dossier = "C:\Program Files\gestion SEGPA demo" & "\" & "Aide.chm"
            Chelp.Show (Dossier)
            Else
                MsgBox "le fichier d'aide spécifié n'a pas été trouvé", vbCritical, "Mon application"
        End If
    End Function
     
    Public Function FileExists(Fichier$, Optional Dossier) As Boolean
        With Application.FileSearch
            .FileName = Fichier
            If IsMissing(Dossier) = False Then
                .LookIn = Dossier
            Else
                .LookIn = CurDir()
            End If
            .SearchSubFolders = False
            .Execute
            If .FoundFiles.Count > 0 Then
                FileExists = True
            Else
                FileExists = False
            End If
        End With
    End Function
    je l'ance l'aide avec la commande
    peut etre ai je mal compris le code.... et il manquerai quelquechose ??

    enfin ca fait un moment que je parcours le forum et d'autres sites mais je n'ai rien trouvé pour le moment

    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    Je n'ai pas compris quel était exactement ton souci.
    Dans la fonction AppelAide() cette ligne est suspecte
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
            Chelp.Show (Dossier)
    Essaie
    A+

  3. #3
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut
    merci pour ta réponse je vais essayer ton idée

    mon problème c'est que j'aimerais que mon fichier d'aide s'ouvre sur une page particulière en fonction de l'endroit où on l'appelle (je sais pas si je suis tres clair....)


    formulaire d'accueil........> aide sur l'accueil

    formulaire stage.............> aide sur le stage

    un dessin vaut mieux qu'un long discours...

    merci pour vos idées.

  4. #4
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut
    a priori ca ne change rien l'un ou l'aure marche aussi bien....

  5. #5
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonsoir,

    a priori ca ne change rien l'un ou l'aure marche aussi bien....
    Mais quel est ton soucis alors ?

    Domi2

  6. #6
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut
    Je n'ai pas de problème pour lancer le fichier d'aide


    J'ai un probleme pour paramétrer l'ouverture de l'aide à un endroit precis.

    Je ne veux pas que l'aide s'ouvre sur la page d'accueil si je suis sur la page des stages....

  7. #7
    Membre éclairé

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 601
    Par défaut
    la solution

    créer un module nommé Chelp

    dans lequel vous coller ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Option Compare Database
     
    Option Explicit
     
    Private Const HH_DISPLAY_TOPIC = &H0
    Private Const HH_HELP_CONTEXT = &HF
     
    Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
        (ByVal hwndCaller As Long, _
        ByVal pszFile As String, _
        ByVal uCommand As Long, _
        ByVal dwData As Long) As Long
    Public Sub Show(NewFile As String, Optional WindowPane As String, Optional contextID)
    Dim Fichier As String
        Fichier = NewFile
     
        If Len(WindowPane) Then
            Fichier = Trim(Fichier) & ">" & Trim(WindowPane)
        End If
     
        If IsMissing(contextID) Then
            Call HtmlHelp(0, Fichier, HH_DISPLAY_TOPIC, ByVal 0&)
        Else
            Call HtmlHelp(0, Fichier, HH_HELP_CONTEXT, contextID)
        End If
    End Sub
    Public Function AppelAide()
        Dim Dossier As String
        Dim lgcontext As Long
     
        lngcontext = Screen.ActiveForm.Properties("HelpcontextId")
     
        Dossier = CurrentProject.Path
        If FileExists("Aide.chm", "C:\Program Files\gestion SEGPA demo") = True Then
            Dossier = "C:\Program Files\gestion SEGPA demo" & "\" & "Aide.chm"
            Chelp.Show (Dossier), , lngcontext
            Else
                MsgBox "le fichier d'aide spécifié n'a pas été trouvé", vbCritical, "Mon application"
        End If
    End Function
     
    Public Function FileExists(Fichier$, Optional Dossier) As Boolean
        With Application.FileSearch
            .FileName = Fichier
            If IsMissing(Dossier) = False Then
                .LookIn = Dossier
            Else
                .LookIn = CurDir()
            End If
            .SearchSubFolders = False
            .Execute
            If .FoundFiles.Count > 0 Then
                FileExists = True
            Else
                FileExists = False
            End If
        End With
    End Function
    Pensez à changer le nom et l'adresse du fichier selon vos paramètres dans ces 2 lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     If FileExists("Aide.chm", "C:\Program Files\gestion SEGPA demo") = True Then
            Dossier = "C:\Program Files\gestion SEGPA demo" & "\" & "Aide.chm"

    créer une macro autokeys
    avec nom de macro : {F1} (la colonne nom de macro n'est pas forcément affichée par défaut....)
    action: executer code
    code: appelaide

    vous pouvez aussi rajouter des boutons sur vos formulaires avec ce code:
    Pour que le fichier d'aide s'ouvre à l'endroit voulu vous devez renseigner dans les propriétés du formulaire, dans l'onglet autre, la propriété context aide en fonction de l'idcontext de votre fichier d'aide.

    le nom du fichier d'aide n'est pas obligatoire puisqu'il est défini dans le premier module

    Voila je crois que c'est tout

    pour créer votre fichier d'aide je vous conseille helpNdoc..... gratuit pour une utilisation perso

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] attribué un fichier d'aide perso .chm à une base ACCESS
    Par Marlen dans le forum VBA Access
    Réponses: 17
    Dernier message: 03/07/2012, 17h17
  2. Tutoriel "Créer un Fichier d'aide de type .chm"
    Par Claude l'ancien dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2006, 09h46
  3. Réponses: 11
    Dernier message: 04/01/2006, 17h32
  4. Lire et décoder un fichier d'aide CHM
    Par bob2553 dans le forum Outils
    Réponses: 6
    Dernier message: 22/06/2005, 19h21
  5. Réponses: 3
    Dernier message: 09/06/2005, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo