0

我有一个包含两列的excel,一列是pdf文件的相对路径,另一列是我要打开的数字页。

在一台计算机上,excel 工作正常,当我连续双击时,excel 调用 foxit 阅读器并打开文档。

但是,我有其他计算机无法使用此 excel。我收到错误 5:无效的过程调用或参数。

它如何在一台没有问题的计算机上工作,我认为问题出在另一台计算机上,而不是 VBA 代码中,但我不知道可能是什么问题。

哪个可能是导致此错误的原因?

在两台计算机中,我都使用 excel 2007,并在提示时启用了宏。在运行良好的计算机中,我使用的是 windows 7 x64,而在另一台计算机中,我使用的是 windows 7 x86。

谢谢。

4

1 回答 1

0

好吧,问题似乎出在文件的路径上,我需要在其中使用双引号来解决问题。就我而言,我有三个字符串变量:

pathReader: the path to the foxit
pathDocument: the path to the pdf document
numberPage: has /A page=x where x is the number page that I have in the cell.

然后我创建一个命令:

command = """" & pathReader & """" & " " & """" & pathDocument & """" & " " & numberPage

最后我执行命令

Shell command, vbMaximizedFocus

带数字的页不需要使用双引号。

似乎在某些计算机中,文件路径可能存在问题,可能是空格问题,因此使用双引号可以解决问题。

根据我的经验,这个问题并不总是在所有计算机中发生,但最好使用这个解决方案,因为它更通用。

于 2012-06-07T06:14:09.010 回答