0

2つの列を持つExcelがあります。1つはPDFファイルの相対パス用で、もう1つは開きたい番号ページの列です。

1台のコンピューターでは、Excelが正常に機能します。行をダブルクリックすると、Excelでfoxit Readerを呼び出して、ドキュメントを開きます。

しかし、私はこのエクセルが機能しない他のコンピュータを持っています。エラー5:無効なプロシージャ呼び出しまたは引数が表示されます。

1台のコンピューターで問題なく動作する方法、問題はVBAコードではなく、もう1台のコンピューターにあると思いますが、何が問題になるのかわかりません。

このエラーの原因はどれですか?

どちらのコンピューターでも、Excel 2007を使用しており、プロンプトが表示されたらマクロを有効にしました。正常に動作するコンピューターでは、Windows 7 x64を使用し、他のコンピューターでは、Windows7x86を使用しています。

ありがとう。

4

1 に答える 1

0

さて、問題はファイルのパスにあるようです。そこでは、問題を解決するためにダブルクォートを使用する必要があります。私の場合、3つの文字列変数があります。

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.

次に、commnadを作成します。

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

最後にコマンドを実行します

Shell command, vbMaximizedFocus

数字のページでは、二重引用符を使用する必要はありません。

一部のコンピューターでは、ファイルのパス、おそらく空白スペースに問題がある可能性があるため、二重引用符を使用すると問題が解決するようです。

私の経験では、この問題はすべてのコンピューターで常に発生するわけではありませんが、より一般的であるため、このソリューションを使用することをお勧めします。

于 2012-06-07T06:14:09.010 に答える