我正在制作一个 Excel 表,以帮助我轻松跟踪我的电子书和正在阅读的电子书。因此,我的 Excel 表包含书的名称和总页数、我已到达的当前页面以及我的进度百分比、状态和本地硬盘中的电子书链接。
我想要的是,当我点击书名(超链接)时,它会自动打开 PDF 文件的当前页面,例如,如果我正在阅读书 X,现在在第 110 页,我希望链接打开第 110 页的 X.PDF,在 HTML 编码中 X.PDF#page=3 100% 有效,但我想要一种超链接的方式并将值包含在某些 Excel 单元格中。
答案1
听起来像是 VBA 的东西。Ozgrid 以前处理过这个问题。这里: http://www.ozgrid.com/forum/showthread.php?t=29376 和这里: http://www.ozgrid.com/forum/showthread.php?t=65950&page=1
他们想出的代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.FollowHyperlink "test.pdf#page=" & Target.Row
End Sub
问题在于它不会打开特定页面。看来 Adobe Reader 仅在通过 Web 浏览器处理时才会对特定页面采用此语法。VBA 应该具有将此命令发送到 Web 浏览器的功能。
答案2
我找到了一个解决方案:首先,我们使用具有以下语法的 Shell 命令
Shell Acrobat_Path & " /A page=" & Current_Page & " " & SrcFile, vbNormalFocus
Current_Page 和 SrcFile 是 Excel 的单元格值
并将其分配给具有事件单击的按钮,例如
Sub Button1_Click()
...
End Sub