dim昨日书签完全策略 每日书签日志
dim昨日书签完全攻略_昨日书单
很高兴有机会和大家一起谈论dim昨日书签完全攻略的话题。这个问题集合包含了一些常见和深入的问题,我将详细回答每一个问题,并分享我的见解和观点。
1.如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件?
如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件?
打开pdf文档,查找到指定字符串,然后插入书签
以下代码先设置一个待查找字符串,用findtext方法查找,然后用createchild方法插入书签。代码的运行环境为Win8.1,Word2010 VBA,Acrobat Pro DC,在本机测试成功。
使用到的主要方法为AVDoc.FindText和BookMark.createChild。
AVDoc.FindText有4个参数:
szText,要查找的字符串
bCaseSensitive,是否区分大小写,正数为区分,0为不区分
bWholeWordsOnly,是否匹配整个单词,正数为匹配,0为不匹配
bReset,查找开始的位置,正数则从第一页开始,0则从当前页开始
BookMark.createChild有3个参数
cName,用户在导航面板中看到的书签的名称。
cExpr,单击书签时要执行的表达式,为JavaScript
nIndex,(可选)在书签的子数组中,创建新子书签的基于0的索引。默认值为0。
Sub Pdf添加书签()
'为某书添加书签
Dim App As New Acrobat.AcroApp
Dim PDoc As New Acrobat.AcroPDDoc, AVDoc As New Acrobat.AcroAVDoc
Dim Jso As Object
Dim BMark As Object '不能声明为Acrobat.AcroPDBookmark,否则createchild方法不可用。
Dim PFile As String, WordTF As String, PageNum As Long
PFile = "F:\指定文件.pdf" '要插入书签的pdf文件
WordTF = "要查找的"
If PDoc.Open(PFile) Then
Set Jso = PDoc.GetJSObject
Set AVDoc = PDoc.OpenAVDoc("") ?'获得一个可见文档
Jso.bookmarkroot.Remove '移除原有的所有书签
End If
If AVDoc.FindText(WordTF, 0, 0, 1) Then '从第一页开始,如果找到了字符串WordTF一次
PageNum = AVDoc.GetAVPageView.GetPageNum '获得当前页码
Set BMark = Jso.bookmarkroot '设置书签根对象
BMark.createChild WordTF, "this.pageNum=" & PageNum, 0 '创建一个书签
PDoc.Save 1, PFile
End If
PDoc.Close
App.CloseAllDocs
App.Hide
App.Exit
Set AVDoc = Nothing
Set PDoc = Nothing
Set App = Nothing
Set BMark = Nothing
Set Jso = Nothing
End Sub
好了,关于“dim昨日书签完全攻略”的话题就到这里了。希望大家通过我的介绍对“dim昨日书签完全攻略”有更全面、深入的认识,并且能够在今后的实践中更好地运用所学知识。