我試圖使用VBA將HTML另存爲PDF。使用VBA將Wesite打印爲PDF
我不知道如何檢查默認打印機將其更改爲Microsoft Print to PDF,然後返回到舊打印機。
以下是我的代碼:我在Google上搜索某些內容,然後在第一個Google搜索頁上輸入鏈接,然後我想將搜索結果打印爲PDF。
Sub Main()
Dim search As String
Dim save_path As String
Dim number As Integer
number = 5
save_path = ""
Dim query As String
query = InputBox("Enter here your search", "Google Search")
search = query
search = Replace(search, " ", "+")
PDFFolderSelection save_path, search
Debug.Print save_path, search
Google_Search search, save_path, number
End Sub
Sub Google_Search(search As String, save_path As String, number As Integer)
Dim IE As InternetExplorerMedium
Set IE = CreateObject("InternetExplorer.Application")
Dim HTMLDoc As MSHTML.HTMLDocument
IE.Navigate "http://google.com/#q=" & search
IE.Visible = True
Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop
Set HTMLDoc = IE.Document
Dim RCS As MSHTML.IHTMLElementCollection
Dim RC As MSHTML.IHTMLElement
Set RCS = HTMLDoc.getElementsByClassName("rc")
Dim Atags As MSHTML.IHTMLElementCollection
Dim Atag As MSHTML.IHTMLElement
Dim URLs As New Collection
Dim URL As MSHTML.IHTMLElement
Set URLs = Nothing
For Each RC In RCS
Dim RS As MSHTML.IHTMLElementCollection
Dim R As MSHTML.IHTMLElement
Set RS = RC.getElementsByClassName("r")
For Each R In RS
Set Atags = R.getElementsByTagName("a")
For Each Atag In Atags
URLs.Add Atag
Next Atag
Next R
Next RC
For Each URL In URLs
Dim IEs As InternetExplorerMedium
Set IEs = CreateObject("InternetExplorer.Application")
str_text = Replace(URL.getAttribute("href"), "", "")
str_text = Replace(str_text, "", "")
'Debug.Print str_text
IEs.Navigate str_text
IEs.Visible = True
Do While IEs.ReadyState <> READYSTATE_COMPLETE Or IEs.Busy
Loop
IEs.Quit
Set IEs = Nothing
Next URL
IE.Quit
Set IE = Nothing
End Sub
使用谷歌找到了如何檢查默認打印機,以及如何去改變它 – jsotola
我試圖找到解決方案,但我還沒有找到任何這就是爲什麼我問在堆棧 – linke95