2010-08-22 38 views
1

我有一個應用程序管理硬盤上的多個雜誌PDF文件。我需要將PDF文件打開到特定頁面。我可以從我自己的軟件中調用vbscript,所以我正在尋找一些vbscript代碼片段來打開一個加載了特定頁面的PDF。我是一名做跨平臺軟件的mac開發人員,windows並不是我的標準軟件。在特定頁面使用vbscript打開pdf

從Adobe的文檔,我檢查了使用系統調用來打開一個URL,如:

http://myserver/mypdf#page=3

工作正常,但嘗試使用類似的URL中包含虛擬文件協議:

文件:// path/to/mypdf#page = 2

不起作用。弄清楚之後,我決定我應該嘗試一些VB腳本調用某些COM或ActiveX或他們現在在窗口上使用的任何東西,但我不知道該怎麼做。

感謝您的任何幫助。

+0

您是否嘗試在單獨的進程中使用系統的默認PDF閱讀器打開PDF,例如Acrobat,或作爲您自己的過程中的框架(使用ActiveX/COM)?如果它是一個單獨的進程,那麼我希望有一個可供您使用的進程的命令行參數,但每個閱讀器可能會有所不同。 – Rup 2010-08-22 14:51:32

+0

我試圖用系統默認的PDF閱讀器打開PDF,它通常是雜技演員。 – 2010-08-22 14:53:36

回答

3

您可以使用 「頁面= ...」 Acrobat Reader軟件的參數,如:

Sub OpenPdf(filename, page) 
    Set wshShell = WScript.CreateObject("WSCript.shell") 
    wshShell.Run """%ProgramFiles%\Adobe\Reader 9.0\Reader\AcroRd32.exe"" /A ""page=" & _ 
     page & """ " & fileName 
End Sub 

OpenPdf "c:\temp\myfile.pdf", 20 
+0

感謝您的快速回復。而不是硬編碼到Reader 9.0的路徑(我實際上不能確定是否安裝了該版本)是否有方法來查詢已安裝的Reader路徑? – 2010-08-23 14:15:29

+0

您可以讀取註冊表項'HKEY_CLASSES_ROOT \ Applications \ AcroRD32.exe \ shell \ Read \ command',並從註冊表項的標準值中提取AcroRd32.exe的路徑。 http://www.activexperts.com/activmonitor/windowsmanagement/scripts/operatingsystem/registry/#RSDWORDRV.htm解釋瞭如何使用VBScript讀取註冊表。 – 2010-08-23 15:22:33

0

嘗試使用AcroExch.AVPageView.Goto()方法

,避免路徑Adobe可執行文件