一覧
AVDoc オブジェクトは1つの画面表示したPDFファイルに対して文字列の検索や印刷、及びPDFファイルのタイトル変更など、PDFファイル全体の操作を行います。
メソッド | 解説 |
---|---|
BringToFront | 複数のPDFドキュメントを表示している時に、指定したPDFドキュメント(オブジェクト)を画面の最前列に表示します。 |
ClearSelection | 現在の文字選択を解除する。 |
Close | PDFドキュメントを閉じます。同時にPDFドキュメントのインスタンスも閉じます。PDFドキュメントが変更されていた場合の動作(保存、保存しない)も指示します。 |
FindText | 指定されたテキストを見つけて、それが目に見えるようにスクロールして、それを選択状態にします。 ※当サイト管理人はこのメソッドの使用を推奨しません。 |
GetAVPageView | AcroExch.AVDocに関連しているAcroExch.AVPageViewオブジェクトを取得します。 |
GetFrame | Rectオブジェクトを取得して、位置とサイズの情報を取得します。 |
GetPDDoc | AcroExch.AVDocに関連しているAcroExch.PDDocオブジェクトを取得します。 |
GetTitle | AVDocオブジェクトで開いているPDFドキュメントのタイトルを取得する。 |
GetViewMode | PDFドキュメントの画面表示モードを表示する。 |
IsValid | AcroExch.AVDocオブジェクトが使用出来るかチェックします。(PDFファイルが使用出来るか、PDF構造上に問題が無いかをチェックします。) |
Maximize | PDFファイル画面を[最大化]又は[元の戻す(縮小)]表示にします。 |
Open | PDFドキュメント(オブジェクト)を開きます。Acrobatアプリケーションが起動されていれば指定したPDFドキュメントは画面表示されます。Acrobatアプリケーションが起動されて無い時はインスタンス(オブジェクト)のみ作成します。 注意①:このメソッドの前に存在チェック、またはPDFファイルかどうかのチェックする為のロジックが必要です。 注意②:Acrobat v8.1.3とv9.0でPDFが画面表示されない現象が出ている。原因不明。詳細はOpenを見て下さい。 |
OpenInWindow | ユーザによって指定された画面にPDFファイルを開いて、それを表示します。 注意:これは旧バージョン用なので使用しないで下さい。 |
OpenInWindowEx | ウィンドウズハンドルによって指定された画面にPDFファイルを開いて、それを表示します。 注意:解説は不完全状態です。 |
PrintPages | PDFファイルの頁を指定して印刷する。デフォルトのプリンターに印刷される。印刷ダイアログは表示されない。 ※「印刷の問題点を解決」参照。 |
PrintPagesEx | PDFドキュメントの印刷範囲ページ等を指定して印刷します。PrintPagesExには、PrintPagesより多くのパラメタがあります。 デフォルトのプリンタ設定で印刷されます。印刷ダイアログは表示されない。 ※「印刷の問題点を解決」参照。 |
PrintPagesSilent | どんなダイアログボックスも表示しないで、指定された範囲のページを印刷します。 このメソッドはダイアログボックスを表示しないのを除いたAVDoc.PrintPagesと同じです。 PrintPagesSilentはいつもデフォルトプリンタ設定を使用します。 ※「印刷の問題点を解決」参照。 |
PrintPagesSilentEx | どんなダイアログボックスも表示しないで、指定された範囲のページを印刷します。 このメソッドはダイアログボックスを表示しないのを除いたAVDoc.PrintPagesExと同じです。 PrintPagesSilentExには、PrintPagesSilentより多くのパラメタがあります。 PrintPagesSilentExはいつもデフォルトプリンタ設定を使用します。 ※「印刷の問題点を解決」参照。 |
SetFrame | PDFドキュメントを表示している画面のサイズと位置を変更する。 |
SetTextSelection | PDFドキュメントの指定範囲(四角形)をテキスト選択します。画面に見える位置とは限りません。 |
SetTitle | PDFファイルのタイトルをセットする。 |
SetViewMode | PDFドキュメントの画面表示モードを変更する。 |
ShowTextSelect | 現在の文字列選択が目に見えるように表示位置を元に戻します。 |
< TOPへ >
指定したページを印刷するマクロを書いたのですが、以下の「objAcroAVDoc.PrintPages (1), (3) 」のところで"引数は省略できません"というエラーが発生しますが、その理由が理解できません。
恐縮ですが、ご教示頂ければと思います。
Sub ページ指定印刷する()
'Acrobatオブジェクトの定義&作成
Dim objAcroPDDoc As New Acrobat.AcroPDDoc
Dim objAcroAVDoc As New Acrobat.AcroAVDoc
'excel格納
Dim obj As Object
Set obj = ActiveWorkbook.ActiveSheet
Dim i As Long '行
Dim Filename As String
Dim Path As String
i = 1
Filename = obj.Range("F7").Value 'PDFのファイル名
Path = "C:\Users\xxx\Documents\e excel\Acrobat\s 操作対象資料\" & Filename & ".pdf"
objAcroPDDoc.Open Path 'PDFファイルを表示
objAcroPDDoc.OpenAVDoc Path 'PDFファイルを表示
objAcroAVDoc.PrintPages (1), (3) ' 1から3ページを印刷
End Sub
吉田さん
はじめまして。
AVDoc.PrintPagesは第5引数まで有りますが、全て書かないといけません。
省略は出来ません。
エラーメッセージはそれを言っています。
それと オブジェクトの連携 と OpenAVDoc の書き方が間違っています。
以下をよく見てください。
Sub ページ指定印刷する()
'Acrobatオブジェクトの定義&作成
Dim objAcroPDDoc As New Acrobat.AcroPDDoc
Dim objAcroAVDoc As New Acrobat.AcroAVDoc
'excel格納
Dim obj As Object
Set obj = ActiveWorkbook.ActiveSheet
Dim i As Long '行
Dim Filename As String
Dim Path As String
Dim lRet As Long '戻り値
i = 1
Filename = obj.Range("F7").Value 'PDFのファイル名
Path = "I:\Adobe PDF\execMenuItem.pdf"
lRet = objAcroPDDoc.Open(Path) 'PDFファイルを表示
Set objAcroAVDoc = objAcroPDDoc.OpenAVDoc("")
lRet = objAcroAVDoc.PrintPages(1, 3, 2, 0, 1) ' 1から3ページを印刷
'閉じる
lRet = objAcroAVDoc.Close(1) '未保存で閉じる
lRet = objAcroPDDoc.Close
'オブジェクトの強制開放
Set objAcroAVDoc = Nothing
Set objAcroPDDoc = Nothing
End Sub
lRet で戻り値も見た方がイイです。
Flase(0)が返った時は失敗しています。
特にテスト時は失敗がよく返ってきます
最近、環境を変えたので印刷での動作確認までは出来ませんでした。
引数の内容がわからない時は悩むより、テストして結果を見た方が早いです。
解決につながれば幸いです。