
以下代码先设置一个待查找字符串,用findtext方法查找,然后用createchild方法插入书签。代码的运行环境为Win81,Word2010 VBA,Acrobat Pro DC,在本机测试成功。
使用到的主要方法为AVDocFindText和BookMarkcreateChild。
AVDocFindText有4个参数:
szText,要查找的字符串
bCaseSensitive,是否区分大小写,正数为区分,0为不区分
bWholeWordsOnly,是否匹配整个单词,正数为匹配,0为不匹配
bReset,查找开始的位置,正数则从第一页开始,0则从当前页开始
BookMarkcreateChild有3个参数
cName,用户在导航面板中看到的书签的名称。
cExpr,单击书签时要执行的表达式,为JavaScript
nIndex,(可选)在书签的子数组中,创建新子书签的基于0的索引。默认值为0。
Sub Pdf添加书签()
'为某书添加书签
Dim App As New AcrobatAcroApp
Dim PDoc As New AcrobatAcroPDDoc, AVDoc As New AcrobatAcroAVDoc
Dim Jso As Object
Dim BMark As Object '不能声明为AcrobatAcroPDBookmark,否则createchild方法不可用。
Dim PFile As String, WordTF As String, PageNum As Long
PFile = "F:\指定文件pdf" '要插入书签的pdf文件
WordTF = "要查找的"
If PDocOpen(PFile) Then
Set Jso = PDocGetJSObject
Set AVDoc = PDocOpenAVDoc("") '获得一个可见文档
JsobookmarkrootRemove '移除原有的所有书签
End If
If AVDocFindText(WordTF, 0, 0, 1) Then '从第一页开始,如果找到了字符串WordTF一次
PageNum = AVDocGetAVPageViewGetPageNum '获得当前页码
Set BMark = Jsobookmarkroot '设置书签根对象
BMarkcreateChild WordTF, "thispageNum=" & PageNum, 0 '创建一个书签
PDocSave 1, PFile
End If
PDocClose
AppCloseAllDocs
AppHide
AppExit
Set AVDoc = Nothing
Set PDoc = Nothing
Set App = Nothing
Set BMark = Nothing
Set Jso = Nothing
End Sub
你把你的那个word文件和需要输出到excel的模板文件打包,写清楚到底需要把哪些内容填充到excel,最好做一个模拟结果,然后上传到你的网盘,把文件共享一下,地址发我,我下载你的附件之后,这个代码就好写了,光靠你在这里描述,一头雾水,代码就不好写了
以上就是关于如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件全部的内容,包括:如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件、用vba实现word 读取特殊位置内容、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)