shenggp 发表于 2009-3-19 10:13:00

请教:怎样在用VBA所编的程序中引用chm帮助文件

用autolisp和DCL编写的程序可以引用CHM帮助文件。
不知道在VBA编写的程序中如何引用CHM帮助文件。
VB6.0的app.filepath在这里无法使用。

shenggp 发表于 2009-3-19 17:51:00

没有人回答啊。
是不是这个问题太简单了吧。
我自己找吧。有没有人也想知道呢。

shenggp 发表于 2009-3-20 11:33:00

用shell "hh.exe " "路径\帮助文件.chm"
可以打开。但不知怎样用这种方法使用上下文ID号。
在VBA里如何使用 sendkeys "{F1}",来调用帮助文件。
sendkeys"{F1}",这种办法可以用上下文ID号。
请高手帮助解决。多谢了。

shenggp 发表于 2009-3-25 17:02:00

下面是使用commondialog控件的一段程序:
Private Sub Command2_Click()
   With CommonDialog1
      .HelpFile = App.Path & "\MakeCHM.chm"
      '进入“Help“文件的 Click Event 标题。
      '“.chm”文件的数字值是由“.HPJ”文件
      '的部分决定的。只有当你用
      '“Microsoft Help Workshop“建立
      '自己的帮助文件时,
      '才可以编辑此数字值。
      .HelpContext = 200
      .HelpCommand = cdlHelpContext
      .ShowHelp
    End With
End Sub
但发现对CHM文件不起作用。只对HLP文件有效果。这是大多数教材、有关这方面书籍及VB6.0的MSDN帮助中介绍的方法。不知道什么原因,不能运行。
VB6.0、AutoCad VBA不是不支持调用有上下文ID的帮助文件。在AutoCad VBA中使用inputbox可以证明这一点:
Private Sub CommandHelp_Click()
    InputBox "按下帮助按钮打开相关主题帮助文件", , , , , Left(Application.Preferences.Files.TemplateDwgPath, 1) & ":\equipment\help\bdqpmt.chm", 2000

shenggp 发表于 2009-3-25 17:04:00











shenggp 发表于 2009-3-25 17:08:00

按上面的做法是个很笨办法。需要多打开一对话框。但能够达到了目的,总比没有强一点。

shenggp 发表于 2009-3-25 17:16:00

另外msgbox好像也有打开有上下文ID帮助文件的功能。但实际不能运行。看到这里,可以试一下,就会证明不行。
    MsgBox "按下帮助按钮打开相关主题帮助文件",,, Left(Application.Preferences.Files.TemplateDwgPath, 1) & ":\equipment\help\bdqpmt.chm", 2000
实际打开的对话框中,没有帮助按钮。

woaishuijia 发表于 2009-3-26 06:55:00

app.helpfile=帮助文件全路径
再按F1或sendkeys "{F1}"
页: [1]
查看完整版本: 请教:怎样在用VBA所编的程序中引用chm帮助文件