TOP > AcroExch.PDPage > CopyToClipboard [...]
説明
四方範囲を指定してPDFページ上をクリップボードにコピーする。
このメソッドは32ビットのシステム上だけ利用可能です。
クリップボード上は画像イメージで保存されています。
形式
VARIANT_BOOL CopyToClipboard(LPDISPATCH boundRect,
short nXOrigin,
short nYOrigin,
short nZoom);
引数
- 第1引数(LPDISPATCH boundRect) :
AcroRectオブジェクトでTop,bottom,Left,Rightを指定する。 - 第2引数(short nXOrigin) :
コピーされるべきページのx-座標。 - 第3引数(short nYOrigin) :
コピーされるべきページのy-座標。 - 第4引数(short nZoom) :
コピーする倍率をパーセント指定する。
例えば、1.0倍の場合は100を指定する。
戻り値
- -1 : 成功。
- 0 : 失敗。
動作するバージョン
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
説明: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
< 戻る >
Acrobat DC(32bit)の場合「セキュリティ(拡張)」設定内の「起動時に保護モードを有効にする」のチェックを外さないと実行できませんでした。
実行エラーは発生しませんが、クリップボードに何も貼り付かない状態になります。
バージョン 2022.002.20212の場合はデフォルトでチェックがONになっていました(従来バージョンのデフォルトはOFFのようです)
※2022年9月頃から突然使用できなくなった場合、アップデートが適用されチェックがONになっている可能性があります
saoa さん。
はじめまして。
情報提供、ありがとうございます。
今は無理ですが、確認でき次第、当ページに反映したいと思います。