【问题标题】:VBA Excel: Using/extracting data stored in CHM-fileVBA Excel:使用/提取存储在 CHM 文件中的数据
【发布时间】:2018-05-05 22:45:15
【问题描述】:

我正在尝试使用 VBA 从 chm-helpfile 中提取数据。 CHM 文件已下载,其中包含我想用作分析 vba 工具的标准的重要数据(例如下拉列表的可能值)。我想用可能的值提取这些表,并能够遵循文件中提到的超链接。 在我手动解压缩/提取 chm 文件后,我可以使用 htm 文件,但它需要手动操作,并且我无法自动执行解压缩操作。

有没有办法打开文件来使用这些数据?

【问题讨论】:

标签: vba excel chm


【解决方案1】:

假设你已经安装了hh.exe,你可以反编译如下:

hh.exe 的参数

-反编译文件夹chm

示例代码

设置自己的路径信息,而不是 D:\Project ...

 Public Sub HTMLHelp_Decompile()
 ' Arguments for hh.exe: -decompile folder chm
 On Error Resume Next
 Shell """hh.exe""" & _
       " -decompile D:\Project\Temp D:\Project\ddt.chm", vbNormalFocus
 If Err.Number <> 0 Then MsgBox Err.Number & " " & Err.Description, vbExclamation, "Decompiling failed"
 End Sub

【讨论】:

  • 谢谢!另外,当然你可以用" - decompile " &amp; sDestPath &amp; " " &amp; sFilePath替换" -decompile D:\Project\Temp D:\Project\ddt.chm",其中sDestPath = "D:\Project\Temp": sFilePath = "D:\Project\ddt.chm"
  • 欢迎;为了完成主题,您可以通过Shell 使用hhc.exe 再次编译,但将html 帮助项目文件(*.hhp) 作为唯一参数。您可以在 help-info.de 找到一些相关 VBA 的有用站点