AcroExch.PDDoc: CreateTextSelect メソッド

TOP > AcroExch.PDDoc > CreateTextSelect      [...]


説明

指定ページのAcroRectオブジェクトで指定された四角のテキスト範囲をPDTextSelectオブジェクトとして取得する。

この後は選択されたテキストをAVDoc.SetTextSelectionメソッドとAVDoc.ShowTextSelectメソッドを使って表示します。

 

形式

LPDISPATCH CreateTextSelect(long nPage, LPDISPATCH iAcroRect);

 

戻り値

  • テキスト選択が出来れば選択テキストを含んだPDTextSelectオブジェクトを返します。
  • 選択するテキストが1つもない時は、Nullを返します。

 

引数

  1. 第1引数(long nPage) :
    指定ページ。開始ページは0から。
  2. 第2引数(LPDISPATCH iAcroRect) :
    AcroRectオブジェクトで選択範囲をTop、bottom、RightLeftプロパティで事前に設定しておく必要がある。

 

動作するバージョン

Version Adobe
Acrobat
備考
4
-
Acrobat 4.0    ※Windows 98SE + Excel 2000
5
-

Acrobat 5.0.5
6
-

Acrobat 6.0.3 Pro
7
-
Acrobat 7.0.9 Pro
Acrobat 7.1.4 Pro
8
OK
Acrobat 8.1.2 Pro
9
-
Acrobat 9.3.2 Extended
10
-
Acrobat X (10.1.8) Extended
11
-
Acrobat XI (11.0.04) Extended
  • OK = 動作する。
  • NO = 動作しない。 戻り値が0を返す。
  • - = 未確認。

 






サンプル:ExcelのVBA

説明:指定ページを範囲指定して、テキスト選択状態で画面に表示する。

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。

 

Sub AcroExch_PDDoc_CreateTextSelect()

    Dim objAcroApp      As New Acrobat.AcroApp
    Dim objAcroAVDoc    As New Acrobat.AcroAVDoc
    Dim objAcroPDDoc    As Acrobat.AcroPDDoc
    Dim objAcroPageView As Acrobat.AcroAVPageView
    Dim objAcroRect     As New Acrobat.AcroRect
    Dim objPDTextSelect As Acrobat.AcroPDTextSelect
    Dim lRet            As Long     '戻り値
    Const lPageNumber   As Long = 2 'ページ番号
  
    'Acrobatアプリケーションを起動する
    lRet = objAcroApp.Show
    'PDFファイルを開いて表示する
    lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
    'PDDocオブジェクトを取得する
    Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
    'AVPageViewオブジェクトを取得する
    Set objAcroPageView = objAcroAVDoc.GetAVPageView()
    '指定ページ(4頁)に移動します。※0が開始頁
    lRet = objAcroPageView.Goto(lPageNumber)
    
    '選択を示す長方形を作成する。頁左下部を起点。
    objAcroRect.Top = 400       '上
    objAcroRect.bottom = 100    '下
    objAcroRect.Right = 300     '右
    objAcroRect.Left = 100      '左
  
    '該当ページのobjAcroRectで指定された範囲の
    'PDTextSelectオブジェクトを取得する
    Set objPDTextSelect = _
        objAcroPDDoc.CreateTextSelect(lPageNumber, objAcroRect)
    If objPDTextSelect Is Nothing Then
        MsgBox "テキストが選択出来ませんでした", _
        vbOKOnly + vbCritical, "実行エラー"
        GoTo Skip_Test02_SetTextSelection
    End If
    'テキストを選択状態にする
    lRet = objAcroAVDoc.SetTextSelection(objPDTextSelect)
    'テキスト選択状態を見やすい画面表示にする
    lRet = objAcroAVDoc.ShowTextSelect()
    
Skip_Test02_SetTextSelection:
    'PDFファイルを保存しないで閉じます
    lRet = objAcroAVDoc.Close(1)
    'Acrobatアプリケーションを終了する
    lRet = objAcroApp.Hide
    lRet = objAcroApp.Exit
    
    'オブジェクトを強制開放する
    Set objPDTextSelect = Nothing
    Set objAcroPageView = Nothing
    Set objAcroRect = Nothing
    Set objAcroPDDoc = Nothing
    Set objAcroAVDoc = Nothing
    Set objAcroApp = Nothing

End Sub

 

実行結果

以下がTest01.pdfをF8キーでステップ実行した途中結果です。

「lRet = objAcroAVDoc.SetTextSelection(objPDTextSelect)」の実行後の状態です。

AcroPDDoc:CreateTextSelect メソッド実行結果 

 
 

補足

 

動作確認環境

  • WindowsXP Pro(+ SP3) +
    Acrobat 8.1.2 Pro + Office 2003 + MicrosoftUpdate

 

戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れるとエラーになる場合が有ります。その時はコードの前後に <code> ・・・</code> タグを入れてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください