AcroExch.PDPage: CopyToClipboard メソッド

TOP > AcroExch.PDPage > CopyToClipboard      [...]


説明

四方範囲を指定してPDFページ上をクリップボードにコピーする。

このメソッドは32ビットのシステム上だけ利用可能です。

クリップボード上は画像イメージで保存されています。

形式

VARIANT_BOOL CopyToClipboard(LPDISPATCH boundRect,
            short nXOrigin, 
            short nYOrigin, 
            short nZoom);

引数

  1. 第1引数(LPDISPATCH boundRect) :
    AcroRectオブジェクトでTop,bottom,Left,Rightを指定する。
  2. 第2引数(short nXOrigin) :
    コピーされるべきページのx-座標。
  3. 第3引数(short nYOrigin) :
    コピーされるべきページのy-座標。
  4. 第4引数(short nZoom) :
    コピーする倍率をパーセント指定する。
    例えば、1.0倍の場合は100を指定する。

戻り値

  • -1 : 成功。
  • 0 : 失敗。

動作するバージョン

VersionAdobe
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

説明:Test01.pdfの2ページ目全体をクリップボードにコピーします。

  • F8キーでステップ実行しながら動作確認する。
  • 事前に参照設定をする。
001 Sub AcroExch_PDPage_CopyToClipboard() 002 003 Dim objAcroPDDoc As New Acrobat.AcroPDDoc 004 Dim objAcroPDPage As Acrobat.AcroPDPage 005 Dim objAcroPoint As Acrobat.AcroPoint 006 Dim objAcroRect As New Acrobat.AcroRect 007 Dim lRet As Long 008 009 'PDFファイルを開いて表示する 010 lRet = objAcroPDDoc.Open("E:¥Test01.pdf") 011 '2ページ目のPDPageオブジェクトを取得する 012 Set objAcroPDPage = objAcroPDDoc.AcquirePage(1) 013 '指定されたページのサイズ(幅=x,高さ=y)を 014 'ポイント(Point)オブジェクトで返します。 015 Set objAcroPoint = objAcroPDPage.GetSize 016 'ページ全体を範囲とする 017 objAcroRect.Top = 0 'トップ 018 objAcroRect.bottom = objAcroPoint.y '底:792 019 objAcroRect.Left = 0 '左 020 objAcroRect.Right = objAcroPoint.x '右:594 021 'ページ全体をクリップボードに入れる 022 lRet = objAcroPDPage.CopyToClipboard( _ 023 objAcroRect, 0, 0, 100) 024 '★この後でWord等のアプリケーションに 025 ' 「貼り付け」又は「ペースト」を行う。 026 027 '保存しないでPDFファイルを閉じる 028 lRet = objAcroPDDoc.Close 029 'オブジェクトを強制開放する 030 Set objAcroRect = Nothing 031 Set objAcroPoint = Nothing 032 Set objAcroPDPage = Nothing 033 Set objAcroPDDoc = Nothing 034 035 End Sub


 Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
 

補足

  • objAcroRectオブジェクトのTop,bottom,Left,Rightの値に気をつける。
  • PDFの座標系はページの左下隅を基点としていますが、注釈の座標はページの左上隅を基点とします。

動作確認環境

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

戻る

「AcroExch.PDPage: CopyToClipboard メソッド」への2件のフィードバック

  1. Acrobat DC(32bit)の場合「セキュリティ(拡張)」設定内の「起動時に保護モードを有効にする」のチェックを外さないと実行できませんでした。
    実行エラーは発生しませんが、クリップボードに何も貼り付かない状態になります。
    バージョン 2022.002.20212の場合はデフォルトでチェックがONになっていました(従来バージョンのデフォルトはOFFのようです)

    ※2022年9月頃から突然使用できなくなった場合、アップデートが適用されチェックがONになっている可能性があります

  2. saoa さん。
    はじめまして。
    情報提供、ありがとうございます。
    今は無理ですが、確認でき次第、当ページに反映したいと思います。

コメントを残す

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

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

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

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

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