前提・実現したいこと
pdfのしおり(ブックマーク)をセルに反映させたい。その際、しおりの階層とページ数も取得したい。
発生している問題・エラーメッセージ
VBEのイミディエイトウィンドウにページ数やしおりを出力する方法は分かったが、セルに反映させる方法が分からない
ソースコード Public Sub Sample() Dim Acroapp As Object 'AcroApp Dim AcroAV As Object 'AcroAVDoc Dim pg As Object 'AcroAVPageView Dim js As Object Dim bm As Object Dim dlg As FileDialog Dim path As Variant 'ファイルパスの取得 Set dlg = Application.FileDialog(msoFileDialogFilePicker) If dlg.Show = False Then Exit Sub path = dlg.SelectedItems(1) Cells(3, 2) = path 'オブジェクトの作成(インスタンス化) Set Acroapp = CreateObject("AcroExch.App") Set AcroAV = CreateObject("AcroExch.AVDoc") If AcroAV.Open(path, "") = True Then 'アプリ起動 Acroapp.Show Set pg = AcroAV.GetAVPageView Set js = AcroAV.GetPDDoc.GetJSObject Set bm = js.bookmarkroot DumpBookmark bm, pg AcroAV.Close 1 Acroapp.Hide Acroapp.Exit End If Set Acroapp = Nothing Set AcroPD = Nothing Set AcroAV = Nothing End Sub Private Sub DumpBookmark(ByVal bm As Object, ByVal pg As Object) 'しおりの情報を出力 Dim cld As Variant, cld2 As Variant On Error Resume Next cld = bm.Children On Error GoTo 0 If IsEmpty(cld) = False Then For Each cld2 In cld 'しおり選択 cld2.Execute Debug.Print "名前:" & cld2.Name & vbTab & "ページ:" & pg.GetPageNum + 1 DumpBookmark cld2, pg Next End If End Sub ![しおり](09dc6de90bbe0e5f9963c6429f24b633.png) ![現状](3a2156ed6f07c8885de9348d6efc5534.png) ![目標](424c1969e6b956dbf4ef794139dfa5d1.png) ![結果](e5c90f7a4fdb02436a7731ca74226b04.png)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/15 23:31
2021/03/16 00:18
2021/03/16 01:01
2021/03/16 01:39
2021/03/16 02:37
2021/03/16 03:02
2021/03/16 04:14
2021/03/16 07:22
2021/03/16 07:22
2021/03/16 11:05
2021/03/16 11:30 編集