ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 49651|回复: 25

[求助] VBA如何批量获取PDF文件中的内容

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-2-16 14:50 | 显示全部楼层 |阅读模式
急需获取一批PDF文件中的某固定位置的内容,不知VBA是否能实现?请高手赐教,万分感谢!

TA的精华主题

TA的得分主题

发表于 2013-2-16 16:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个。。。太难了!因为不知道pdf中是文字还是图片。
你可以用solid converter  pdf之类的工具,先将pdf转换为word或excel,再进行操作。

excel2013可以直接打开pdf文件,可以阅读但不能编辑,你可以试试。我估计够呛

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-16 17:31 | 显示全部楼层
lxw6 发表于 2013-2-16 16:07
这个。。。太难了!因为不知道pdf中是文字还是图片。
你可以用solid converter  pdf之类的工具,先将pdf转 ...

要取的内容是文字字符,有没有办法自动转化读取字符呢?

TA的精华主题

TA的得分主题

发表于 2013-2-16 18:04 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-2-16 19:07 | 显示全部楼层
我通常是将PDF当txt 读入内存,然后根据内容读出相关信息

TA的精华主题

TA的得分主题

发表于 2013-2-17 11:39 | 显示全部楼层
http://club.excelhome.net/thread-910424-1-1.html
这个可以在Excel中浏览PDF,也可以查询PDF内容,
但是目前好像是不支持汉语内容查询!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-17 17:12 | 显示全部楼层
smartsoft 发表于 2013-2-16 19:07
我通常是将PDF当txt 读入内存,然后根据内容读出相关信息

具体可以用VBA实现么?我现在想用VBA写个macro批量读取PDF文件,不知是否可行?

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-17 17:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
opiona 发表于 2013-2-17 11:39
http://club.excelhome.net/thread-910424-1-1.html
这个可以在Excel中浏览PDF,也可以查询PDF内容,
但是 ...

谢谢,好像这个只是浏览内容啊。我现在是要读取PDF里面的字符。

TA的精华主题

TA的得分主题

发表于 2013-2-19 18:46 | 显示全部楼层
  1. Private Sub SearchNext_Click() '//查找下一个
  2.     PDFViewOCX.FindNextText
  3. End Sub

  4. Private Sub SearchPrevious_Click()
  5.     PDFViewOCX.FindPreviousText '//查找上一个
  6. End Sub



  7. Private Sub SetSearchText_Click()
  8.     PDFViewOCX.SetFindText SearchText.Text '//查找字符串,好像不支持汉语
  9. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2013-2-19 18:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 opiona 于 2013-2-26 19:18 编辑


附件内是VB内的实例,和代码

PDF控件是正式版了,有注册码了
但是要求PDF是能编辑的那种,不要是扫描的!
PDFView注册控件.part1.rar (500 KB, 下载次数: 1055)
PDFView注册控件.part2.rar (500 KB, 下载次数: 1131)
PDFView注册控件.part3.rar (500 KB, 下载次数: 1216)
PDFView注册控件.part4.rar (500 KB, 下载次数: 1247)
PDFView注册控件.part5.rar (500 KB, 下载次数: 1577)
PDFView注册控件.part6.rar (58.89 KB, 下载次数: 1134)

  1. Dim nViewMode As Integer
  2. Private Sub ActualSize_Click()
  3.   PDFViewOCX.ZoomActualPage
  4. End Sub

  5. Private Sub FitPage_Click()
  6.   PDFViewOCX.ZoomFitPage
  7. End Sub

  8. Private Sub FitWidth_Click()
  9.   PDFViewOCX.ZoomFitWidth
  10. End Sub

  11. Private Sub Form_Load()
  12. PDFViewOCX.SetRegCode "VERYPDF-PDFVIEWEROCX-08102820"   '完美使用注册码
  13. End Sub

  14. Private Sub NextPage_Click()
  15.   PDFViewOCX.ViewNextPage
  16. End Sub

  17. Private Sub Open_Click()
  18.   On Error GoTo EH
  19.   CommonDialog1.CancelError = True
  20.   CommonDialog1.Filter = "PDF Files (*.pdf)|*.pdf|"
  21.   CommonDialog1.ShowOpen
  22.   PDFViewOCX.OpenPDF CommonDialog1.FileName, "", ""
  23.   nViewMode = 0
  24. EH:

  25. End Sub

  26. Private Sub PreviousPage_Click()
  27.   PDFViewOCX.ViewPreviousPage
  28. End Sub


  29. Private Sub RotateLeft_Click()
  30.     PDFViewOCX.RotateViewLeft
  31. End Sub

  32. Private Sub RotateRight_Click()
  33.     PDFViewOCX.RotateViewRight
  34. End Sub

  35. Private Sub SearchNext_Click()
  36.     PDFViewOCX.FindNextText
  37. End Sub

  38. Private Sub SearchPrevious_Click()
  39.     PDFViewOCX.FindPreviousText
  40. End Sub

  41. Private Sub SetSearchText_Click()
  42.     PDFViewOCX.SetFindText SearchText.Text
  43. End Sub

  44. Private Sub ViewMode_Click()
  45.     If nViewMode = 0 Then
  46.         PDFViewOCX.ViewModeSinglePage
  47.     ElseIf nViewMode = 1 Then
  48.         PDFViewOCX.ViewModeFacing
  49.     ElseIf nViewMode = 2 Then
  50.         PDFViewOCX.ViewModeContinuous
  51.     ElseIf nViewMode = 3 Then
  52.         PDFViewOCX.ViewModeContinuousFacing
  53.     End If
  54.     nViewMode = nViewMode + 1
  55.     If nViewMode >= 4 Then
  56.         nViewMode = 0
  57.     End If
  58.   
  59. End Sub

  60. Private Sub ZoomRatio_Click()
  61.   PDFViewOCX.Zoom 100
  62. End Sub

  63. Private Sub ZoomIn_Click()
  64.   PDFViewOCX.ZoomIn
  65. End Sub

  66. Private Sub ZoomOut_Click()
  67.   PDFViewOCX.ZoomOut
  68. End Sub
复制代码

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 13:06 , Processed in 0.048870 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表