在解決方案中,假設我們有一個名爲Table2的表。 我們還有一個幫助表(用於存儲過濾的表),它是Hiden並命名爲:Help。
Option Explicit
Sub print_to_pdf()
Dim sh As Long
Dim rg As Range
Dim Rng As Range
Dim rw As Range
Application.ScreenUpdating = False
For Each rw In Range("Table2[#All]").Rows
If rw.EntireRow.Hidden = False Then
If Rng Is Nothing Then Set Rng = rw
Set Rng = Union(rw, Rng)
End If
Next
Rng.Copy
With Sheets("help")
.Visible = True
sh = .Cells(Rows.Count, "A").End(xlUp).Row + 2
Set rg = Range("a3" & ":" & "a" & sh - 2)
.Activate
.Cells(sh, "A").Select
ActiveSheet.Paste
ActiveSheet.PageSetup.PrintArea = rg
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\rep.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
.Visible = False
End With
Application.ScreenUpdating = True
MsgBox "Your PDF Has been Created with Success!!", vbInformation
End Sub
您可以附加在幫助表,然後導出PDF數據。
編號:https://stackoverflow.com/questions/
-1這將是高度依賴於應用。也就是說,你需要發佈一些代碼來明確你現在正在做什麼,以及爲什麼它不起作用。一般來說,Excel會將任何你想要的東西導出到PDF中。如果你想導出多個「視圖」等,你將需要在一個地方得到所有的人,並做一個PDF導出。這通常涉及創建幫助表/工作簿。或者,您可以使用Excel創建多個PDF,並使用其他工具將其合併。使用Excel無法「附加到PDF」。 –
會嘗試使用幫助表/工作簿,但感覺這可能是密集的超過400條記錄。我找到了合併PDF的例子,所以我也會嘗試創建單獨的PDF並使用這種方法合併它們。我認爲第二種選擇可能會快得多,但根本不確定。有沒有什麼聰明的方法讓助手牀單/工作簿選項快速優化呢,拜倫?不知道什麼協議在這裏。我是否會在我的代碼發佈後發佈我的代碼,因爲我沒有任何代碼可以發佈。無論如何,我會建議我選擇什麼選項以及爲什麼。我正在使用Excel 2013,Adobe 10標準 – nelly2000
Re:400張表格,您可能會對Excel能夠處理的內容感到驚訝。我肯定會把它們放在一個新的/空白的工作手冊中,這樣你就不會污染你的源工作簿。我在一些相當密集的事情上使用了這種技術,並且它傾向於工作。可能值得進行測試,看看它是否會運行這麼多,然後如果速度太慢或無法運行,則優化它。更可能的是,它會運行得很好,你就會完成。 –