TOP > IAC.BAS > avpDefaultOverviewType [...]
説明
PDFドキュメントを最初に表示する時の表示モード(PDPageMode)を指定する。
- 当設定はどの様な場所に結果が反映されるのかは不明です。
どなたか知っている方がいればコメントで教えて下さい。 - 定数(=6):avpDefaultOverviewType(戻り値:Boolean)
- Appオブジェクトにおける GetPreferenceEx と SetPreferenceEx メソッドの第1引数に使用される。
設定値
※iac.basより
- PDUseNone (=1) : ページのみ
- PDUseThumbs (=2) : ページパネルとページ
- PDUseBookmarks (=3) : しおりパネルとページ
- PDFullScreen (=4) : フルスクリーンモード
動作するバージョン
Version | Adobe Acrobat | 備考 |
---|---|---|
4 | - | Acrobat 4.0 ※Windows 98SE + Excel 2000 |
5 | OK | Acrobat 5.0.5 但しE1 |
6 | OK | Acrobat 6.0.3 Pro 但しE1 |
7 | OK | Acrobat 7.0.9 Pro Acrobat 7.1.4 Pro 但しE1 |
8 | OK | Acrobat 8.1.2 Pro 但しE1 |
9 | - | Acrobat 9.3.2 Extended |
10 | - | Acrobat X (10.1.8) Extended |
11 | - | Acrobat XI (11.0.04) Extended |
- OK = 動作する。
- NO = 動作しない。 戻り値が0を返す。
- E1 = 正常終了するが、どこに結果が反映されたか分からない。
- - = 未確認。
サンプル:ExcelのVBA
説明:
フルスクリーンモードで初期表示する。
- F8キーでステップ実行しながら動作確認する。
- 参照設定を事前にする。
001 Sub Test_App_GetPreferenceEx6()
002
003 Dim objAcroApp As New Acrobat.AcroApp
004 Dim bRet As Boolean
005 With objAcroApp
006
007 '特定のAcrobatアプリケーション環境設定値を取得する。
008 bRet = .GetPreferenceEx(avpDefaultOverviewType)
009 Debug.Print _
010 "GetPreferenceEx(avpDefaultOverviewType)=(" & _
011 .GetPreferenceEx(avpDefaultOverviewType) & ")"
012
013 '「フルスクリーンモード」に切り替える。
014 bRet = .SetPreferenceEx(avpDefaultOverviewType, _
015 PDFullScreen)
016 Debug.Print "bRet=" & bRet
017
018 End With
019 Set objAcroApp = Nothing
020
021 End Sub
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
実行結果
GetPreferenceEx(avpDefaultOverviewType)=(1)
bRet=True
補足
- iac.basの内容を参照。
- IAC.BASにある定数の説明一覧を参照。
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 5.0.5 + Office 2003 + MicrosoftUpdate - WindowsXP Pro(+ SP3) +
Acrobat 6.0.3 Pro + Office 2003 + MicrosoftUpdate - WindowsXP Pro(+ SP3) +
Acrobat 7.1.4 Pro + Office 2003 + MicrosoftUpdate - WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate - Windows 7 64bit Home (+ SP1) +
Acrobat 8.3.1 Pro + Office 2007 + MicrosoftUpdate
< 戻る >
IAC.bas の一部を抜粋
'* PDPageMode — Variable for how the file opens
' – bookmarks, thumbnails, full screen, none *’
'Leave the view mode as it is.
Public Const PDDontCare = 0
'Display the document, but neither bookmarks nor
' thumbnail images.
Public Const PDUseNone = 1
'Display the document and thumbnail images.
Public Const PDUseThumbs = 2
'Display the document and bookmarks.
Public Const PDUseBookmarks = 3
'Display the document in full screen mode.
Public Const PDFullScreen = 4
< 戻る >
いつもいろいろ参考にさせてもらってます。
vbaまったくの初心者ですが、いろいろ使えそうなコードをコピペしては楽しんでます。
ACROBAT PREFERENCE : AVPDEFAULTOVERVIEWTYPEが
どこに反映されるかですが、文書のプロパティの「開き方」タブではないでしょうか?
(ご周知でしたらすいません。)
ただ、設定値が「レイアウトと倍率」「ウィンドウオプション」の2つにまたがっているような気がします。(使ってるのはAcrobat11standardです)
ちょうどこの箇所を業務で使っててめんどくさいので何とかしてほしいと思ってました!
これからもがんばってください!!
ももも さん
はじめまして。
(かなり記憶が薄れていますが)
取り急ぎ、現時点で出来る返答をさせて頂きます。
このページで紹介している内容はAcrobatアプリ本体の「表示」動作であって、PDFファイルの文書プロパティ「開き方」タブを変更する為のモノでは無い、・・はずです。 この文書プロパティ「開き方」タブに関する変更の質問は過去にも多数受けました
が、解決策は無いです。正確には見つけられなかった、です。但し、条件付きでの裏ワザは有ります。詳細は時間が出来た次回にして。
手順はザッとですが、
① 該当する文書プロパティ「開き方」タブを持ったダミーPDFを事前に用意しておく。1ページだけのPDFで十分です。
② ①のPDFに目的のPDFを全ページ追加(InsertPages)します。
③ ①のPDFから不要なダミーページ(1ページ)を削除(DeletePages)します。
④ ①をSetTitleでタイトルを変更。⑤ ①を別名で保存(Save)します。すると①の文書プロパティ「開き方」タブを持ったPDFが出来る。
はずです。テストしてませんが、追加したPDFの「しおり」は消えてしまうというデメリットが出ると予想しています。それとAcrobatには一連の処理を自動的に行うバッチ処理と言う機能が有ります。これには目的の文書プロパティを変更する機能が入ってますが、残念なことにこのバッチ処理を起動するVBAのプログラミング・命令が提供されていません。つまり手動でしか起動できません。AutoItと言う別の自動化ソフトを使ったサンプルは用意してますが、かなり難しいです。※このサンプルはAcrobat XI(11)の画面には未対応でした(汗
今日はココまで。
ももも さんへ
30分で作ったサンプルです。
前のコメント内容とは一部が異なりますが、やりたい事は同じです。
詳細は各メソッドのページを参照して下さい。
Sub AcroExch_PDDoc_InsertPages()
Dim AcroPDDocNew As New Acrobat.AcroPDDoc
Dim AcroPDDocAdd As New Acrobat.AcroPDDoc
Dim lRet As Long
Dim lGetNumPages As Long
Dim sPath As String
Const CON_PATH = "I:\Adobe PDF\"
'事前に文書プロパティ「開き方」タブの変更済みPDF用意する
'このPDF(test-A-1.pdf)に変更したいPDF全体をコピーする
'文書プロパティが変更されているPDFを開く
sPath = CON_PATH & "test-A-1.pdf"
lRet = AcroPDDocNew.Open(sPath)
'全ページを削除して、空のPDFにする
lGetNumPages = AcroPDDocNew.GetNumPages() - 1
lRet = AcroPDDocNew.DeletePages(0, lGetNumPages)
'PDFファイルを追加する
sPath = CON_PATH & "test-A-insert.pdf"
lRet = AcroPDDocAdd.Open(sPath)
lGetNumPages = AcroPDDocAdd.GetNumPages()
lRet = AcroPDDocNew.InsertPages(-1, _
AcroPDDocAdd, 0, lGetNumPages, True)
lRet = AcroPDDocAdd.Close()
'変更された文書プロパティ「開き方」タブを持ったPDFファイルを保存
sPath = CON_PATH & "test-new.pdf"
lRet = AcroPDDocNew.Save(1, sPath)
lRet = AcroPDDocNew.Close()
'オブジェクトを強制開放する
Set AcroPDDocAdd = Nothing
Set AcroPDDocNew = Nothing
End Sub
※上記の動作確認環境:Windows 10 64bit Pro + Office 2007 Excel のVBA + Adobe Acrobat XI Pro
しおりも文書プロパティも問題なかったです。
激汗)出来ちゃいましたね!
文書プロパティの以下を変更する事が可能なサンプルです。
[開くページ]未テストですが文書プロパティの他の項目の変更も出来るかもしれません。異なる文書プロパティに変更したい時は、事前にそれに該当するダミーPDFを全て用意する必要が有りますが、現時点で出来る裏ワザの解決策です。
参考になれば幸いです。
コードまで作っていただいてありがとうございます!!
なんかめっちゃすごすぎて全く追いつけてないですw
1行づつコードを解読しようと頑張っているところです。
こちらの思い込みでコメントして、しかもそれが勘違いなのに
丁寧に回答していただいて感激です!
(よく考えたらこんなプログラミングまでする方がツールバーの見落としなんて有り得ないですよねw)
pdfでvbaなんて無謀って思ってただけに本当にびっくりです。
このサイトのおかげで雑務がだいぶ楽しくなってます。
またわからなくなったらこっそりコメント残します・・・(^^;)
お手すきの時にご教示いただければ幸いです。
コードまで作っていただいてありがとうございます!!
なんかめっちゃすごすぎて全く追いつけてないですw
1行づつコードを解読しようと頑張っているところです。
こちらの思い込みでコメントして、しかもそれが勘違いなのに丁寧に回答していただいて感激です!
(よく考えたらこんなプログラミングまでする方がツールバーの見落としなんて有り得ないですよねw)
pdfでvbaなんて無謀って思ってただけに本当にびっくりです。
このサイトのおかげで雑務がだいぶ楽しくなってます。
>・未テストですが文書プロパティの他の項目の変更も出来るかもしれません。
↑文書プロパティの概要タブの内容は変更されないみたいです。
(他のタブは使い方もわからないので試してないですが・・・)
またわからなくなったらこっそりコメント残します・・・(^^;)
お手すきの時にご教示いただければ幸いです。
ももも さんへ
文書プロパティ操作に関しては、今は整理する時間が無いのでココに再度まとめてメモを残します。※他の人が検索で来ることも考えて内容をダブらせます。
▼文書プロパティの操作について
▽上記の問題点
以上。