明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2421|回复: 7

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

[复制链接]
发表于 2009-3-19 10:13:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-3-19 17:52:01 编辑

用autolisp和DCL编写的程序可以引用CHM帮助文件。

不知道在VBA编写的程序中如何引用CHM帮助文件。

VB6.0的app.filepath在这里无法使用。

 楼主| 发表于 2009-3-19 17:51:00 | 显示全部楼层

没有人回答啊。

是不是这个问题太简单了吧。

我自己找吧。有没有人也想知道呢。

 楼主| 发表于 2009-3-20 11:33:00 | 显示全部楼层

用shell "hh.exe " "路径\帮助文件.chm"

可以打开。但不知怎样用这种方法使用上下文ID号。

在VBA里如何使用 sendkeys "{F1}",来调用帮助文件。

sendkeys"{F1}",这种办法可以用上下文ID号。

请高手帮助解决。多谢了。

 楼主| 发表于 2009-3-25 17:02:00 | 显示全部楼层

下面是使用commondialog控件的一段程序:

Private Sub Command2_Click()
   With CommonDialog1
      .HelpFile = App.Path & "\MakeCHM.chm"
      '进入“Help“文件的 Click Event 标题。
      '“.chm”文件的数字值是由“.HPJ”文件
      '的[MAP]部分决定的。只有当你用
      '“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

 楼主| 发表于 2009-3-25 17:04:00 | 显示全部楼层

 

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2009-3-25 17:08:00 | 显示全部楼层
按上面的做法是个很笨办法。需要多打开一对话框。但能够达到了目的,总比没有强一点。
 楼主| 发表于 2009-3-25 17:16:00 | 显示全部楼层

另外msgbox好像也有打开有上下文ID帮助文件的功能。但实际不能运行。看到这里,可以试一下,就会证明不行。

    MsgBox "按下帮助按钮打开相关主题帮助文件",,, Left(Application.Preferences.Files.TemplateDwgPath, 1) & ":\equipment\help\bdqpmt.chm", 2000

实际打开的对话框中,没有帮助按钮。

发表于 2009-3-26 06:55:00 | 显示全部楼层

app.helpfile=帮助文件全路径

再按F1或sendkeys "{F1}"

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 05:39 , Processed in 0.181555 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表