Office中国论坛/Access中国论坛

标题: [求助]高手请指点,CHM格式的帮助文件是否可绑定到ACCESS中? [打印本页]

作者: 田野    时间: 2002-6-22 15:58
标题: [求助]高手请指点,CHM格式的帮助文件是否可绑定到ACCESS中?
是否可以把CHM格式的帮助文件绑定到ACCESS中,比如,单击一按钮,或者菜单,就打开帮助文件.请指教!
(开发文档_帮助制作-相关文章技巧链接):
Access调用CHM格式的帮助文件(绑定到ACCESS中)


作者: huanghai    时间: 2002-6-22 16:15
MS本身有例子,看一看就知道了。
用超键接也应该可以,你试试看。
作者: 田野    时间: 2002-6-22 17:21
谢谢版主,要是再详细点说明,比如思路也介绍一下,就更好了。
作者: zhuyiwen    时间: 2002-6-23 01:20
罗斯文中用的 .HLP 帮助文件,开发版代码库中有调用 .CHM 的完整代码。
作者: tmtony    时间: 2002-6-23 08:56
现抄现卖啦
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    时间: 2002-6-23 08:56

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

这是开发版代码库中的范例,使用.HLP。
作者: zhuyiwen    时间: 2002-6-23 08:57
TMTONY比我快!
作者: tmtony    时间: 2002-6-23 09:04
没你的提示,我一时还找不到:), 再说, 你的正确些啦,我还没加定义啦
作者: zhuyiwen    时间: 2002-6-23 09:10
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
作者: zhuyiwen    时间: 2002-6-23 09:14
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    时间: 2002-6-23 09:17
田野,够不够?

你怎么请我吃饭?[em26]
作者: 田野    时间: 2002-6-23 09:47
够,够,我 GO,GO,开溜!:)
作者: binbow_z    时间: 2002-6-27 05:52
用SHELL调用HH.exe文件打开.chm文件
作者: 田野    时间: 2002-6-28 06:46
binbow_Z,您的方法很好,再问一下,HH.EXE有没有定位的参数,就是说打开chm文件时根据不同情况定位于某一位置。
作者: 田野    时间: 2002-6-28 06:49
binbow_Z,您的方法很好,再问一下,HH.EXE有没有定位的参数,就是说打开chm文件时根据不同情况定位于某一位置。
作者: williamtan    时间: 2002-11-17 23:52
标题: 我是用了那段代码,但出这样的一个错误!
弹出一个标题为“windows帮助”的窗口 内容为:内存不足,无法执行该任务。。“可我运行access自带的例子里的帮助没问题啊?这是怎么回事呢?
作者: hbhscwm    时间: 2007-8-31 15:56
在什么地方调用zhuyiwen的9#的Sub AddHelpMenu()?本人太菜了,请指点.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3