0

我将不得不为我正在处理的项目编写许多 vba 模块,并且更愿意将 SciTe 用于 Office 中的内置编辑器。

SciTe 允许您将按 F1 的效果重定向到以所选文本作为参数的任意命令。无论如何使用此功能来搜索相关的 .chm 文件?

我猜不是,因为 vba 的帮助分布在多个文件中,但我希望有人能证明我错了......

如果有人可以建议一种方法来找出特定库帮助所在的 chm 文件,我特别感兴趣,只需从函数的完全分隔名称中即可。

4

3 回答 3

2

另一种方法是使用 HTML 帮助命令行程序 HH.EXE 来显示特定页面,或将特定 CHM 反编译为 HTML 文件。

在命令窗口中转到 Lunatik 提到的文件夹并输入以下命令:

hh -decompile html vbaac10.chm
                      ^^
# ac is for Access; use xl for Excel, wd for Word, etc

这将在其下方创建一个“html”文件夹,并在其中填充用于创建 CHM 文件的大部分文件。生成的 HTML 文件可以直接在您的浏览器中打开,尽管它们不会在 CHM 文件中找到它们的相关样式表或脚本。样式表和脚本确实会被提取出来,因此您也可以使用它们。

另请查看 1033 文件夹中的 XML 文件,例如 VB_ACTOC.XML - 这是 Access VBA 帮助的目录。它包含帮助文件中每个项目的标签和 URL 的主题节点:

<topic>
  <label>CheckBox Object</label>
  <url>mk:@MSITStore:vbaac10.chm::/html/acobjCheckBox.htm</url>
</topic>

mk:etc... url 可以放在 HH 命令行上以在常规 HTML 帮助窗口中打开该主题。此外,它还显示源 CHM 文件名,以及反编译时文件的相对路径。

hh mk:@MSITStore:vbaac10.chm::/html/acobjCheckBox.htm

根据这些文件,您可以编写一个脚本来按关键字查找/grep 文件并在浏览器中显示它们,或者您可以将文件重新设计为某种数据库或其他查找功能,以使用 SciTe 基于命令的帮助系统。

一些提供有关使用 HH.EXE 的更多信息的网站:

  • HTMLHelp 命令行

    使用 HH 命令行和其他站点链接的提示

  • KeyHH 1.1

    HH.EXE 的备用/补充程序,用于处理 CHM 文件

于 2009-07-08T19:09:39.687 回答
1

主要文件(无论如何对于 Office 2003)都保存在 中Program Files\OFFICE11\1033,但访问其中的页面可能有点棘手,因为多年来,由于安全问题,Microsoft 逐渐不得不掌握深入研究 CHM 文件的能力。 这个页面下载)有一些关于链接到 CHM 中特定页面的可能仍然可能的信息

话虽如此,我不认为这个文件是当今大多数用户显示的默认帮助,但它已经足够接近,大部分时间只缺少 Office 2007 拉皮条。联机帮助似乎设置为默认值,除非您在 Office 安装期间专门禁用它。我认为这些 URL 对 SEO 不太友好,因此无法猜到。我想你可以从骗子那里借用一个偷偷摸摸的把戏,然后制作指向 Google 顶部链接的 URL,即:Range

编辑:谷歌缓存链接?

于 2009-05-21T10:34:31.047 回答
1

深受 Lunatik 回答的启发,并补充说:

command.help.$(file.patterns.vb)=http://www.google.co.uk/search?hl=en&newwindow=1&q=site%3Amsdn.microsoft.com+%222003+VBA%22+$(CurrentWord)
command.help.subsystem.$(file.patterns.vb)=2

我的 vb.properties 文件给了我一个合理的解决方法(加载一个谷歌搜索结果页面,搜索条件为:

site:msdn.microsoft.com "2003 VBA" $(CurrentWord)

显然不能保证它会把我带到一个有用的页面,但是 VBA 编辑器中的内联帮助在那个页面上也不是那么可靠......

任何更了解 SciTe 的人都可以提出更优雅的解决方案吗?

于 2009-05-21T11:00:06.393 回答