GPT代碼——Acrobat保存為xlsx
Sub ConvertPDFToXLSX()
? ? Dim AcroXApp As Acrobat.CAcroApp
? ? Dim AcroXAVDoc As Acrobat.CAcroAVDoc
? ? Dim AcroXPDDoc As Acrobat.CAcroPDDoc
? ? Dim saveFolder As String
? ? Dim wb As Workbook
? ? Dim ws As Worksheet
? ? Dim i As Long
? ? Dim LastRow As Long
? ??
? ? ' 選擇保存地址
? ? saveFolder = "C:\"
? ??
? ? Set AcroXApp = CreateObject("AcroExch.App")
? ??
? ? Set wb = Workbooks.Add(-4167) ' -4167 等價于 xlWBATWorksheet, 新建工作簿只包含一個工作表
? ? Set ws = wb.Sheets(1)
? ? ws.Range("A1").Value = "PDF 文件路徑"
? ? ws.Range("B1").Value = "XLSX 文件路徑"
? ??
? ? With ws
? ? ? ? ' 在第二個單元格開始錄入需要轉(zhuǎn)換的 PDF 文件路徑
? ? ? ? For Each cell In Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
? ? ? ? ? ? .Cells(cell.Row, 1) = cell.Value
? ? ? ? ? ??
? ? ? ? ? ? ' 打開并轉(zhuǎn)換 PDF 文件為 Excel 格式
? ? ? ? ? ? If Right(cell.Value, 4) = ".pdf" Then
? ? ? ? ? ? ? ? Set AcroXAVDoc = CreateObject("AcroExch.AVDoc")
? ? ? ? ? ? ? ? Set AcroXPDDoc = CreateObject("AcroExch.PDDoc")
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? If AcroXAVDoc.Open(.Cells(cell.Row, 1)) Then
? ? ? ? ? ? ? ? ? ? AcroXPDDoc.Open AcroXAVDoc.GetPDDoc
? ? ? ? ? ? ? ? ? ? AcroXPDDoc.Save 1, saveFolder & "\" & Replace(Right(.Cells(cell.Row, 1), Len(.Cells(cell.Row, 1)) - InStrRev(.Cells(cell.Row, 1), "\")), "pdf", "xlsx")
? ? ? ? ? ? ? ? ? ? .Cells(cell.Row, 2) = saveFolder & "\" & Replace(Right(.Cells(cell.Row, 1), Len(.Cells(cell.Row, 1)) - InStrRev(.Cells(cell.Row, 1), "\")), "pdf", "xlsx")
? ? ? ? ? ? ? ? End If
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? AcroXAVDoc.Close True
? ? ? ? ? ? ? ? AcroXApp.Exit
? ? ? ? ? ? End If
? ? ? ? Next
? ? End With
? ??
? ? wb.SaveAs Filename:=saveFolder & "\PDFToXLSX.xlsx"
? ? wb.Close False
End Sub
運行這個 VBA 宏后,你需要在 Excel 的 A 列中填寫 PDF 文件的路徑。宏將遍歷每個單元格并使用 Adobe Acrobat 將其打開,然后另存為一個 XLSX 文件并將其保存到 C 盤中,并把文件保存路徑添加到 B 列對應(yīng)行的單元格。請確保在運行此代碼之前已經(jīng)安裝了 Adobe Acrobat。