我要导出到可过滤的excel文件中有大量PDF表单(具有相同的格式)。这些表格包含嵌入的图像。使用Adobe标准导出时,获得的.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
运行缓慢,如果缺少表单条目等,通常会导致错误。我愿意改进此代码,如果存在某种软件解决方案,则愿意放弃。
答案 0 :(得分:0)
使用VBA,您只能提取表单信息,而不能提取图像。在此处查看示例:https://github.com/pdftables/vba-pdftables-api/blob/master/pdftables.vba