2010-12-06 62 views
1

我正在使用OutputTo創建報告,但是我的報告包含樣式和格式設置的VBA代碼,並且當我使用OutputTo函數時,它忽略了我的report-vba代碼。使用「OutputTo」創建具有VBA代碼的報告

我的代碼:

DoCmd.OutputTo acOutputReport, "Report Name", acFormatSNP, "File Path", False 

你知道什麼辦法來自動創建將執行報表,VBA代碼報告?

謝謝。

回答

0

我最終刪除了用於樣式和編輯的VBA代碼。

0

如果您希望輸出看起來與在Access中查看的報告完全一樣,PDF可能是最好的選擇(感謝iDevelop)。但是,根據您的Access版本,您可能無法使用OutputTo創建PDF,它只能在2007版本中使用。另一種方法是構建自己的html輸出,這可能非常漂亮。

+0

我正在使用快照格式,我的代碼是: DoCmd.OutputTo acOutputReport,「ReportName」,acFormatSNP,「FilePath」,錯誤 – Aducci 2010-12-06 00:24:28

0

GD Aducci,

我有同樣的問題,在報告中移除VBA解決的問題。

雖然考慮我的更迭我想知道什麼可能是問題的解決方案......

你要知道這是一個想法,而不是試圖一段代碼。

這裏所說:

如果你「標誌」在報告的格式和樣式VBA代碼的結果,使之成爲一個布爾變量,你就可以品嚐/從你的執行代碼檢索的變量。即您將能夠檢索文檔的「呈現狀態」。

然後,您可以通過檢查所有標誌是否爲'真'來延遲'輸出至'例程的實際執行,如果所有標誌都返回爲真,那麼格式和樣式應該完成,因此導出爲PDF將是可選的,如果他們不會回到'真正的',那麼'OutputTo'例程應該被延遲得更遠。

看來,'OutputTo'只是繼續執行,而沒有實際確認文檔渲染是否已經真正完成,因此忽略(和衝突)文檔中存在的任何VBA編碼。所以唯一的選擇是在將呈現文檔呈現給'OutputTo'命令之前檢查是否所有代碼都已經執行了?

也許代碼'OutputTo'作爲函數,並從呈現的文檔引用它...?

正如我所說,我沒有編碼它 - 但 - 它可能是解決方案?

乾杯!