2012-12-05 41 views
2

我試圖獲得使用PowerPoint Interop打印整個文檔時預期打印的頁數(範圍不適用)。PowerPoint打印頁數

更具體地講,我尋求獲得的打印預覽顯示因爲這考慮到了所有格式化選項)的頁數。

例如:我有一張48張幻燈片文檔,但打印時會生成56張圖像。

我目前正在調用Printout()方法,沒有參數。

+0

PowerPoint每張幻燈片打印一張。我不知道如何從48張幻燈片演示文稿中獲得56張圖片(表格,您的意思是?),除非您打印的筆記頁由於筆記文本過多而自動繼續,或者您正在幻燈片放映顯示56張幻燈片中的48張,因爲某些幻燈片是隱藏的。或者您可能看到的頁碼數量達到了56,但實際上只有48張正在打印? PPT允許用戶更改起始頁碼,因此如果將其設置爲1以外的值,您將得到與打印頁數不匹配的頁碼。 –

+0

@SteveRindsberg,基本上我想要獲得的是打印預覽中顯示的頁數(顯示它將打印56頁)。在代碼中,我應用了各種格式化設置,因此打印帶備註的半頁幻燈片和打印評論作爲單獨的頁面都可以以任何組合應用。 – Phoenixghost

回答

0

據我所知,沒有辦法直接找到你想要的號碼。打印由司機處理,所以vba可能不知道它。

一個麻煩的解決方案可能是暫時生成一個xps文件並對其頁面進行計數。不完全優雅。另一種方法是確定每張幻燈片以每張幻燈片爲基礎的頁數 - 將指標作爲每張幻燈片的屬性 - 並在第二步中通過在幻燈片上遞增來計算它們。您可能會覺得這很有趣:http://officeone.mvps.org/vba/ppt_tags.html

+0

打印是應用程序和驅動程序之間的對話。 VBA可以設置應用程序的打印參數,但不知道結果會是什麼。類似於XPS的想法(可能更簡單)將打印到設置爲文件的Postscript驅動程序。在文件的最後幾行中,您會看到一條PS評論:%% Pages:XX XX是您的答案。對於XPS文件,您必須打開它(它是一個zip)。無論你做什麼,都要小心將XPS驅動程序打印到文件中。我在兩個系統上做了這個,現在PPT不會在任何一個上打印到XPS。 –

+0

爲excels你可以得到的頁面的價值打印在api的Pagesetup部分..(工作簿的每個工作表)...要去挖掘他的XPS,看看是否產生了我在找什麼。 – Phoenixghost

+0

xps文件的想法是無法給我正確數量的頁面(應用格式化後),因爲它按原樣捕獲文件。 – Phoenixghost