自用代碼——print PDF
以下是使用VBA從網(wǎng)站下載并保存PDF的代碼示例:
vb復(fù)制代碼
Sub ExportWebPageToPDF() ? ?Dim IE As Object 'InternetExplorer.Application
? ?Dim Shell As Object 'WScript.Shell
? ?Dim objFSO As Object 'Scripting.FileSystemObject
? ?Dim strFolderPath As String
? ?Dim cell As Range ? ?
? ?Set IE = CreateObject("InternetExplorer.Application") ? ?Set Shell = CreateObject("WScript.Shell") ? ?Set objFSO = CreateObject("Scripting.FileSystemObject") ? ?
? ?'設(shè)定保存PDF的文件夾路徑
? ?strFolderPath = "C:\PDFs\" '需要將此路徑替換為目標(biāo)文件夾路徑,文件夾必須事先存在
? ?
? ?'啟動IE瀏覽器,并設(shè)定IE窗口大小和位置
? ?IE.Visible = True
? ?IE.Height = 600
? ?IE.Width = 800
? ?IE.Left = 0
? ?IE.Top = 0
? ?
? ?For Each cell In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row) ? ? ? ?'打開網(wǎng)頁,等待頁面加載完畢
? ? ? ?IE.navigate cell.Value ? ? ? ?Do While IE.ReadyState <> 4 Or IE.Busy: DoEvents: Loop
? ? ? ?
? ? ? ?'獲取網(wǎng)頁標(biāo)題,作為保存PDF的文件名
? ? ? ?strFileName = Replace(cell.Text, "/", "_") & ".pdf"
? ? ? ?
? ? ? ?'在IE瀏覽器中按下Ctrl+P快捷鍵打印該頁面,選擇“Microsoft Print to PDF”打印機,并設(shè)置保存位置和文件名
? ? ? ?Shell.SendKeys "^p", True
? ? ? ?Application.Wait Now + TimeValue("00:00:02")
? ? ? ?Shell.SendKeys "%m", True
? ? ? ?Application.Wait Now + TimeValue("00:00:02")
? ? ? ?Shell.SendKeys strFolderPath & strFileName, True
? ? ? ?Application.Wait Now + TimeValue("00:00:02")
? ? ? ?Shell.SendKeys "{ENTER}", True
? ? ? ?
? ? ? ?'等待一段時間讓打印操作完成,并關(guān)閉IE瀏覽器
? ? ? ?Application.Wait Now + TimeValue("00:00:05")
? ? ? ?IE.Quit ? ? ? ?Set IE = CreateObject("InternetExplorer.Application") ? ?Next cell ? ?
? ?'釋放內(nèi)存
? ?Set objFSO = Nothing
? ?Set Shell = Nothing
? ?Set IE = Nothing
? ?
? ?MsgBox "PDF保存完成!"End Sub
使用方法:
打開Excel,新建一個工作表并在其中的A列中填入需要下載為PDF的網(wǎng)頁URL。(注意:所給出的鏈接必須指向可以直接下載為PDF格式的頁面。)
按下Alt + F11快捷鍵打開Visual Basic編輯器。
在左側(cè)窗口中雙擊“這個工作簿”(或任意一個需要操作的工作表),在右側(cè)窗口中粘貼上述代碼。
修改代碼開頭的strFolderPath變量,將其設(shè)置為要保存PDF的文件夾路徑(該文件夾必須已經(jīng)存在)。
保存文件,返回Excel界面。
在Excel的工具欄中,點擊“開發(fā)人員”選項卡,再依次點擊“Visual Basic”、“View”、“Immediate Window”。在彈出的窗口底部的命令行輸入ExportWebPageToPDF并回車即可運行代碼。該代碼將依次打開A列中的每個網(wǎng)頁,并將打開的頁面保存為PDF格式到C盤指定文件夾中。
注意事項:
該代碼在執(zhí)行過程中會打開和關(guān)閉多個IE瀏覽器窗口,這可能給您在使用電腦時帶來一些不便。請謹慎操作。
此代碼僅限于從可以直接下載為PDF格式的頁面進行下載,并且您已經(jīng)獲得權(quán)限訪問該鏈接的情況下使用。對于需要登陸網(wǎng)站或授權(quán)下載的PDF文檔,該代碼將不起作用。
標(biāo)簽: