office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

Access調(diào)用CHM格式的幫助文件(綁定到ACCESS中)

2002-06-22 15:58:00
田野-Office交流網(wǎng)
原創(chuàng)
6328
是否可以把CHM格式的幫助文件綁定到ACCESS中,比如,單擊一按鈕,或者菜單,就打開幫助文件.請指教!

zhuyiwen
羅斯文中用的 .HLP 幫助文件,開發(fā)版代碼庫中有調(diào)用 .CHM 的完整代碼。

tmtony
現(xiàn)抄現(xiàn)賣啦
Function ShowHelpAPI() As Boolean
    
    ' This procedure is used by the Show Me button on various Developer
    ' Solutions toolbars. It uses the WinHelp API function so that the
    ' Show Me Help button will provide context-sensitive Help regardless
    ' of the current state of the object. Make sure that the Help file is
    ' in the same directory as the Developer Solutions database.
    
    Dim lnghWnd As Long, strHelpFile As String, lngContext As Long
    Dim lngRetVal As Long, obj As Object
    
    On Error Resume Next
    Const conHelpContext = &H1
    Set obj = Screen.ActiveForm
    
    If Err = 2475 Then
        ' Active object is not a form.
        ' Reset Err and test for Report object.
        Err = 0
        Set obj = Screen.ActiveReport
            If Err = 2476 Then
                ' Current object is not a form or a report.
                MsgBox "Select a form or report before you ask for help."
                ShowHelpAPI = False
                Exit Function
            End If
    End If
    
    With obj
        ' Get the current object's hWnd, HelpFile, and HelpContextID properties.
        lnghWnd = .hWnd
        strHelpFile = .HelpFile
        lngContext = .HelpContextId
    End With
    
    lngRetVal = WinHelp(lnghWnd, strHelpFile, conHelpContext, lngContext)
    ShowHelpAPI = True
End Function


zhuyiwen

Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal Hwnd As Long, _
       ByVal lpHelpFile As String, ByVal wCommand As Long, _
       ByVal dwData As Any) 

Function ShowHelpAPI() As Boolean
    
    ' This procedure is used by the Show Me button on various Developer
    ' Solutions toolbars. It uses the WinHelp API function so that the
    ' Show Me Help button will provide context-sensitive Help regardless
    ' of the current state of the object. Make sure that the Help file is
    ' in the same directory as the Developer Solutions database.
    
    Dim lnghWnd As Long, strHelpFile As String, lngContext As Long
    Dim lngRetVal As Long, obj As Object
    
    On Error Resume Next
    Const conHelpContext = &H1
    Set obj = Screen.ActiveForm
    
    If Err = 2475 Then
        ' Active object is not a form.
        ' Reset Err and test for Report object.
        Err = 0
        Set obj = Screen.ActiveReport
            If Err = 2476 Then
                ' Current object is not a form or a report.
                MsgBox "Select a form or report before you ask for help."
                ShowHelpAPI = False
                Exit Function
            End If
    End If
    
    With obj
        ' Get the current object's hWnd, HelpFile, and HelpContextID properties.
        lnghWnd = .hWnd
        strHelpFile = .HelpFile
        lngContext = .HelpContextId
    End With
    
    lngRetVal = WinHelp(lnghWnd, strHelpFile, conHelpContext, lngContext)
    ShowHelpAPI = True
End Function

這是開發(fā)版代碼庫中的范例,使用.HLP。

zhuyiwen
TMTONY比我快!

tmtony
沒你的提示,我一時還找不到:), 再說, 你的正確些啦,我還沒加定義啦

zhuyiwen 
Sub AddHelpMenu()
    Dim cbrBar          As CommandBar
    Dim ctlCBarControl  As CommandBarControl
    
    ' Set a reference to the Help menu.
    Set cbrBar = CommandBars!Help
    
    ' If the My Help command already exists, delete it.
    For Each ctlCBarControl In cbrBar.Controls
        If ctlCBarControl.Caption = "&My Help" Then
            cbrBar.Controls("My Help").Delete
        End If
    Next
    
    ' Create a new CommandBarControl object on the Help menu
    ' and add a reference to it.
    Set ctlCBarControl = cbrBar.Controls.Add(Type:=msoControlButton)
    
    ' Set properties of the new command to display context-sensitive
    ' pop-up help. Set OnAction to call DisplayHelp procedure to display
    ' a help topic when clicked.
    With ctlCBarControl
        .Caption = "&My Help"
        .BeginGroup = True
        .FaceId = 0
        .OnAction = "DisplayHelpXL"
        .HelpFile = "sample.chm"
        .HelpContextID = 1000
        .Visible = True
    End With
End Sub



Sub DisplayHelpXL()
    Application.Help Currentproject.Path & "\sample.chm", 2001
End Sub
 
Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
    (ByVal hwndCaller As Long, _
    ByVal pszFile As String, _
    ByVal uCommand As HH_COMMAND, _
    dwData As Any) As Long
  
zhuyiwen
田野,夠不夠?

你怎么請我吃飯?[em26]

田野
夠,夠,我 GO,GO,開溜?。海?br />
binbow_z
用SHELL調(diào)用HH.exe文件打開.chm文件

田野
binbow_Z,您的方法很好,再問一下,HH.EXE有沒有定位的參數(shù),就是說打開chm文件時根據(jù)不同情況定位于某一位置。

 
(開發(fā)文檔_幫助制作-相關(guān)文章技巧鏈接):
如何制作CHM幫助文件及使用
在VB中調(diào)用CHM 幫助的幾種方法
分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動訪問