2012-07-03 96 views
3

我正在使用MS Access 2003,並且每天早上有7份不同的報告要發送,而我目前通過將每個報告打印到XPS文件來手動執行此操作。每個報告的默認打印機已被設置爲XPS文件,我想這樣的代碼:使用VBA將MS Access報告打印到.xps文件

DoCmd.OpenReport ("rptDaily_1of7") 
DoCmd.PrintOut acPrintAll,1,,acHigh,1 

當我使用,但它打開一個另存爲框,但.TIF是在「保存的唯一選擇作爲類型「字段。即使它不是,理想情況下我想將文件路徑和名稱作爲參數發送,並讓它處理整個過程(這樣我可以使用循環通過按下按鈕生成全部七個文件)。我希望有另一個命令可以用來做到這一點,或者可能是另一種方法。請注意,這不是我的機器,我沒有管理權限來安裝其他任何東西(如PDF生成器等)。

+0

打印數千每天報道這可能是相關的:http://support.microsoft.com/kb/938813/en-us – Fionnuala

回答

2

您可以使用ReportToPDF by Stephen Lebans將報告創建爲PDF文件。

這可以很容易地自動化(有一個MDB與下載示例代碼),你不必安裝任何東西。
它帶有兩個DLL,您需要將它們放入與MDB/MDE相同的文件夾中,就是這樣。無需安裝/ DLL註冊,只需將MDB/MDE分發給兩個DLL即可。

我們正在使用這個工作從Access 2003中

+0

這看起來很棒,基督徒 - 謝謝!不幸的是,我正在一臺客戶機上工作,我無法獲取文件,所以我還沒有能夠測試它。我正在獲得批准將dll移動到該機器上,所以我會讓你知道它是如何發生的。我很感激。 – rryanp

+0

如何將新版本的應用分發給機器?你不能只用**你的應用程序發佈dll **嗎?我就是這樣做的。請記住,沒有註冊或類似的東西。將文件複製到您的應用程序所在的文件夾就足夠了 –

+0

我正在連接到網絡的筆記本電腦上構建數據庫,但無法訪問互聯網或獲取筆記本電腦的電子郵件附件。我能夠獲得批准的DLL,並且我將它們放在與MDB文件相同的文件夾中,但是在「ConvertReportToPDF」上出現「Sub或Function not defined」錯誤。我還沒有開始排除故障,但是如果您有任何建議,請告訴我。謝謝! – rryanp