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

Access Discussion :

Comment faire reconnaitre un fichier .chm


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 122
    Points
    122
    Par défaut Comment faire reconnaitre un fichier .chm
    Bonjour,
    mon titre n'est peut être pas assez clair mais voilà mon problème.
    Je viens de finir ma base ACCESS et je souhaiterais lui ajouter un fichier d'aide au format .chm créer avec HTML Help Workshop.

    Je souhaite fournir une aide sur les menus, les formulaires enfin le maximum.
    Mais je ne sais pas comment faire.

    NOTA: le fichier d'aide est en cours de réalisation, et ce n'est pas la construction de celui-ci qui me pose problème.

    Merci

  2. #2
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    bonjour
    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
     
    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()
        CHelp.Show ("C:\Program files\DossierDeMonAppli\Aide.chm")
    End Function
    Et puis tu appelles la fonction AppelAide à partir de ton menu personalisé par ex.
    "C:\Program files\DossierDeMonAppli\Aide.chm" est bien entendu le nom complet de ton fichier d'aide.
    Me rappelle plus où j'ai piqué ça.
    @+
    EDIT: j'oublais; tu mettras tout ça dans un module standard

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Tuto

    Le tuto ne t'aide pas ?

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 122
    Points
    122
    Par défaut
    Le tuto m'a un peu aider mais je rame.
    Ton exemple a le mérite d'être court mais la aussi je rame quand à sa mise en oeuvre.
    Aurais tu une bdd exemple à me fournir?

  5. #5
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    je te donnerai la BD exemple demain; je quitte maintenant
    @+

  6. #6
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    bonjour
    1/La voici la BD exemple; j'espère qu'elle t'aidera.
    2/tu crées 2 modules:
    un premier nommé CHelp, que voici:
    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
     
    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", Dossier) = True Then
            Dossier = Dossier & "\" & "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
    le second nommé MaBarreDeMenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Option Compare Database
    Option Explicit
    Function MaBarreDeMenu()
        With CommandBars.ActiveMenuBar
    '        .Visible = True
            .Protection = msoBarNoMove
        End With
    '    CommandBars.ActiveMenuBar.Controls("Paramètres").Enabled = False
    '    CommandBars.ActiveMenuBar.Controls("Maintenance").Enabled = True
    End Function
    3/ dans ça:
    Dossier = Dossier & "\" & "Aide.chm"
    remplace Aide.chm par le nom de ton fichier d'aide
    4/ Ouvre CHelp et Place le curseur dans la fonction AppelAide, puis appui sur F5; ton fichier d'aide devrait s'ouvrir.
    5/ La reference Microsoft Office xx doit etre activé; (xx=11 pour moi car access2003 pour moi)
    @+
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar bd1.rar (15,1 Ko, 118 affichages)

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 122
    Points
    122
    Par défaut
    Merci KEITA , pour ton aide mais je crois avoir trouvé plus simple.
    Je dis plus simple parce que je veux éviter de mettre des références supplémentaires.
    5/ La reference Microsoft Office xx doit etre activé; (xx=11 pour moi car access2003 pour moi)
    En effet, mon application doit être déployé sur un réseau administré et je veux resté autonome, c'est à dire ne pas faire appel aux administrateurs lors de l'installation.

    Le code que j'ai mis en place proviens de ce site:
    http://officesystem.access.free.fr/apihtmlhelp.htm
    J'en profite pour en remercier aussi l'auteur.
    Voici le code au niveau module que j'ai un peu modifié (mise en remarque des suppressions)
    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
    Option Compare Database
    Option Explicit
     
    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
     
    Const HH_DISPLAY_TOPIC = &H0
    Const HH_HELP_CONTEXT = &HF
    Dim FormHelpId As Long
    Dim FormHelpFile As String
    Dim curForm As Form
    Dim hwndHelp As Long
     
    Public Function Help_Show(Optional HelpFileName As String = "", _
        Optional MycontextID As Long = 10)
        'Set curForm = Screen.ActiveForm
     
        HelpFileName = cheminhelp
     
        If HelpFileName <> "" Then
            FormHelpFile = HelpFileName
        End If
     
        FormHelpId = MycontextID
     
        'If curForm.HelpFile <> "" Then
            'FormHelpFile = curForm.HelpFile
        'End If
     
        'If Not IsNull(curForm.ActiveControl.Properties("HelpcontextId")) Then
            'If curForm.ActiveControl.Properties("HelpcontextId") > 0 Then
                'FormHelpId = curForm.ActiveControl.Properties("HelpcontextId")
            'End If
        'End If
     
        Select Case MycontextID
            Case Is = 0
                hwndHelp = HtmlHelp(Application.hWndAccessApp, HelpFileName, _
                    HH_DISPLAY_TOPIC, MycontextID)
            Case Else
                hwndHelp = HtmlHelp(Application.hWndAccessApp, HelpFileName, _
                    HH_HELP_CONTEXT, MycontextID)
        End Select
     
    End Function
     
    Public Function cheminhelp()
        cheminhelp = CheminBase & "\" & "fsp.chm"
    End Function
    Ensuite au niveau des formulaires voici le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Commande2_Click()
     
     
         Call Help_Show(, 10)
     
    End Sub

    Pour les débutants
    help_show: correspond à l'appel de la fonction
    (,10) : à l'ouverture de la parenthèse je n'indique pas le chemin du fichier d'aide (optionnel), le chiffre 10 correspond à l'entrée de mon fichier .h qui correspond à l'aide que je veux lire.

    dans la barre de menu j'ai un menu aide qui est activé par le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function AppelAide()
        Call Help_Show(, 10)
    End Function
    C'est à cause de cette fonction que j'ai supprimer les références au formulaire dans le code cité plus haut.


    Voilà tout cela fonctionne sauf que je n'arrive pas à programmer un bouton {F1} par exemple. J'ai essayé avec une macro autoexec mais marche pas.
    Si quelqu'un peut m'aider.

    Mon autre souci en dehors de ce contexte, c'est la création de lien dans les pages d'aide.
    J'utilise WORD comme éditeur. Je crée mes liens entre les pages à partir de WORD (il font référence à des fichiers .doc).
    Quand je les enregistre au format HTML bien sur ils sont rompus.
    Il y a quelque chose qui m'échappe.
    Si quelqu'un peut m'aider.

    Pour la création du fichier d'aide j'utilise HTML Help Workshop et le tuto cité plus haut.

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 122
    Points
    122
    Par défaut
    Bonjour
    étant arrivé à mes fins de ce topic je le clos avec mes remerciements à ceux qui ont bien voulu m'aider.

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 07/10/2009, 16h13
  2. comment faire ouvrir un fichier par menu et par un Button
    Par takfa2008 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/05/2009, 21h09
  3. comment faire cacher un fichier?
    Par aefmaaradji84 dans le forum C++/CLI
    Réponses: 6
    Dernier message: 13/09/2007, 00h11
  4. Comment faire reconnaître un 2ème disque dur ?
    Par Jean_Benoit dans le forum Matériel
    Réponses: 2
    Dernier message: 27/11/2006, 13h27
  5. Comment faire jouer un fichier musical
    Par emyblue dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/11/2006, 22h59

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