我将不得不为我正在处理的项目编写许多 vba 模块,并且更愿意将 SciTe 用于 Office 中的内置编辑器。
SciTe 允许您将按 F1 的效果重定向到以所选文本作为参数的任意命令。无论如何使用此功能来搜索相关的 .chm 文件?
我猜不是,因为 vba 的帮助分布在多个文件中,但我希望有人能证明我错了......
如果有人可以建议一种方法来找出特定库帮助所在的 chm 文件,我特别感兴趣,只需从函数的完全分隔名称中即可。
另一种方法是使用 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 的更多信息的网站:
使用 HH 命令行和其他站点链接的提示
HH.EXE 的备用/补充程序,用于处理 CHM 文件
主要文件(无论如何对于 Office 2003)都保存在 中Program Files\OFFICE11\1033
,但访问其中的页面可能有点棘手,因为多年来,由于安全问题,Microsoft 逐渐不得不掌握深入研究 CHM 文件的能力。
这个页面(下载)有一些关于链接到 CHM 中特定页面的可能仍然可能的信息
话虽如此,我不认为这个文件是当今大多数用户显示的默认帮助,但它已经足够接近,大部分时间只缺少 Office 2007 拉皮条。联机帮助似乎设置为默认值,除非您在 Office 安装期间专门禁用它。我认为这些 URL 对 SEO 不太友好,因此无法猜到。我想你可以从骗子那里借用一个偷偷摸摸的把戏,然后制作指向 Google 顶部链接的 URL,即:Range。
编辑:谷歌缓存链接?
深受 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 的人都可以提出更优雅的解决方案吗?