Vba 如何将智能PDF表单数据导出为没有图像的excel格式?

Vba 如何将智能PDF表单数据导出为没有图像的excel格式?,vba,csv,pdf,Vba,Csv,Pdf,我有大量PDF表单,它们的格式与我想要导出到可过滤excel文件的格式相同。这些表单包含贯穿始终的图像。使用adobe standard导出时,获得的.csv文件包含大量随机字符作为“图像数据”。因为我有这么多的pdf表格,我显然不想包括这一点。将文件导入excel时,由于图像数据的原因,会生成大量的随机字符列和行 我一直在用VBA编写一些代码,试图排除无意义的列,但我的代码太具体,速度太慢。我想要一个更有效的方法来做这件事 Sub OpenCSV() Application.ScreenUp

我有大量PDF表单,它们的格式与我想要导出到可过滤excel文件的格式相同。这些表单包含贯穿始终的图像。使用adobe standard导出时,获得的.csv文件包含大量随机字符作为“图像数据”。因为我有这么多的pdf表格,我显然不想包括这一点。将文件导入excel时,由于图像数据的原因,会生成大量的随机字符列和行

我一直在用VBA编写一些代码,试图排除无意义的列,但我的代码太具体,速度太慢。我想要一个更有效的方法来做这件事

Sub OpenCSV()

Application.ScreenUpdating = False

Dim FilePath As String, rownumber As Integer, j As Integer

'Select The File

FilePath = Application.GetOpenFilename("Text Files (*.csv),*.csv", , "Select CSV file")

Open FilePath For Input As #1

rownumber = 0

' Loop continues until End Of File

Do Until EOF(1)

Line Input #1, LineFromFile

'Make an array from the file

LineItems = Split(LineFromFile, ",")

j = 0
    For i = 0 To 314

' This If statement removes the images (only works if report is in exact same format)

If i <> 86 And i <> 87 And i <> 88 And i <> 89 Then

Cells(1, 1).Offset(rownumber, j).Value = LineItems(i)

j = j + 1

End If

Next i

rownumber = rownumber + 1
Loop

Close #1

End Sub

这运行缓慢,如果缺少表单条目等,通常会导致错误。我愿意改进此代码,如果存在某种软件解决方案,则放弃此代码。

使用VBA,您只能提取表单信息,而不能提取图像。请参见此处的示例: