vbaでpdfのしおりとジャンプ先を複数階層の全て取得したいです
vbaでjsoで、pdfに複数階層のしおりが設定されている場合、
ルート直下のしおりとジャンプ先を取得する事ができますが、
さらにその下の階層のしおりとジャンプ先の取得方法がわかりません。
openとparentの使い方もわかりません。
宜しくお願い致します。
(参考にしたサイト:これをcallbynameじゃなく改造してみました。)
https://www.ka-net.org/blog/?p=7244
vbaでjsoで、pdfに複数階層のしおりが設定されている場合、
ルート直下のしおりとジャンプ先を取得する事ができますが、
さらにその下の階層のしおりとジャンプ先の取得方法がわかりません。
openとparentの使い方もわかりません。
宜しくお願い致します。
(参考にしたサイト:これをcallbynameじゃなく改造してみました。)
https://www.ka-net.org/blog/?p=7244
今晩は、今日でお休みが終わりだったので、完成(修正)できて良かったです。
他の人のVBAの参考になれば良いです。
前回のconfig.jsとVBAの両方とも少し修正して動くようになりました。
CONFIG.JS
var co = "";
function Dbook(doc)
{
//AcrobatDC_js_api_reference p667
//In a function defined in one of the folder-level JavaScripts files, it is undefined.
//Calling functions should pass the Doc to any function at this level that needs it.
//
co="";
DumpBookmark(doc,doc.bookmarkRoot, 0);
return co;
}
function DumpBookmark(doc,bkm, nLevel)
{
for (var i = 0; i < nLevel; i++) ;
bkm.execute()
co = co + nLevel + "|" + bkm.name + "|" + doc.pageNum + "\n";
if (bkm.children != null)
for (var i = 0; i < bkm.children.length; i++)
{
DumpBookmark(doc,bkm.children[i], nLevel + 1);
}
}
VBAが
Sub Button1_Click()
'http://khkonsulting.com/2009/03/acrobat-javascript-and-vb-walk-into-a-bar/
Dim r As String
Dim r2 As String
Set gApp = CreateObject("AcroExch.App")
Set avdoc = CreateObject("AcroExch.AVDoc")
iret = avdoc.Open("C:\Users\Y2\Desktop\VBA\BMtest.pdf", "")
gApp.Show 'アプリケーション表示
Set avpv = avdoc.GetAVPageView
Set jso = avdoc.GetPDDoc.GetJSObject
r = jso.Dbook(jso)
'https://community.adobe.com/t5/acrobat-sdk/how-to-check-if-a-pdf-page-has-no-annotations-like-comments-or-fill-and-sign/td-p/10473377?page=1
Debug.Print (r)
End Sub
です。
JSのfolder-levelのthisの扱いと、そのVBAからの与え方が、ハマって、ずっと修正してました・・・
Ten Aさんにも指摘されましたが、質問や投稿のやり方が杜撰だったと思います。
煮詰まって、ボロボロになって、少しでも光が当たったら、喜んでました・・・
もう少し、大人な質問・投稿に注意しますので、また宜しくお願いします。
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.