AcroPDFLib.AxAcroPDF 一覧

TOP > AcroPDFLib.AxAcroPDF      [...]


はじめに

Excel VBA環境で作ったフォームや、VB.NETのフォーム上等にPDFブラウザ(PDFファイルを表示)する機能を提供するオブジェクト(コントロール)です。

PDFファイルを当オブジェクト(コントロール)に表示したり、ページ移動や印刷などの機能を提供します。

Acrobat Readerの機能をブラウザ・オブジェクト(コントロール)で提供すると思って下さい。

 

※注意:当機能はAcrobatアプリ本体の AcroPDF.dll を使用して動作します。
つまりAcrobatアプリ本体が環境にインストールされてないと動作しません。

 

Excel VBAで使用する前提条件

  • PDFブラウザ用の参照設定」を行う。
  • Excelシートには使えず、Excel VBAのフォーム上で使用する。
    (Excelシートは使えるが開発に困難な部分が有る)

 

Excel VBAでの使用上の注意

  • Excel VBAのフォームは実行時はダイアログボックス的な表示になります。
    よって通常の画面サイズ変更が出来ません。
    画面サイズ変更を行いたい時は専用ボタンやロジックの追加等が必要になります。

 

メソッド
解説
GetVersions 注)このメソッドはもう利用可能ではありません。(推奨しない)
goBackwardStack 1つ前のPDFページではなく、2つ前に表示したページが存在する時は、その2つ前のページに移動表示します。
2つ前に表示したページが存在しない時は、1つ前に表示したページに移動表示します。
WEBブラウザの「戻る」を1度に2回した動作と思えば判りやすいと思います。
goForwardStack GoBackwardStackメソッドを実行して移動表示したページの1つ前に移動表示したページを表示します。GoBackwardStackメソッドを実行した時のみ動作します。
gotoFirstPage AcroPDFオブジェクト(コントロール)に表示しているPDFページと現在のズームレベルのや現在の位置設定を維持したままで、PDFドキュメントにおける最初のページに移動表示します。
gotoLastPage AcroPDFオブジェクト(コントロール)に表示しているPDFページと現在のズームレベルや現在の位置設定を維持したままで、PDFドキュメントにおける最終のページに移動表示します。
gotoNextPage AcroPDFオブジェクト(コントロール)に表示しているPDFページと現在のズームレベルのや現在の位置設定を維持したままで、PDFドキュメントにおける次ページに移動表示します。
gotoPreviousPage AcroPDFオブジェクト(コントロール)に表示しているPDFページと現在のズームレベルのや現在の位置設定を維持したままで、現在表示しているPDFドキュメントの1ページ前に移動表示します。
LoadFile ブラウザの中に指定されたドキュメントを開いて、表示します。
Print オプションに従ったドキュメントがユーザダイアログボックスの中で選択され印刷されます。
printAll 印刷ダイアログボックスを表示しないで、PDFドキュメント全体を印刷します。
現在のプリンタ、ページの設定等がそのまま使用されます。
印刷が完成しなくても、このメソッドの次のコードを直ちに実行されます。
PrintAllFit 全体がユーザーダイアログボックスを示すことなく文書化し、必要に応じてプリントは縮小されます。
印刷時にページの「イメージ-可能」領域に収まるように縮められます。
printPages 印刷ダイアログボックスを表示しないで、PDFドキュメントをページ範囲指定して印刷します。
現在のプリンタ、ページの設定等がそのまま使用されます。
印刷が完成しなくても、このメソッドの次のコードを直ちに実行します。
PrintPagesFit ユーザダイアログボックスを表示しないで、指定されたページを印刷します。
縮小指定が出来ます。
printWithDialog 印刷ダイアログを表示します。
ページの選択状態があれば、範囲印刷設定が印刷ダイアログに設定されます。
SetCurrentHighlight 指定された制限長方形の中でテキスト選択を現在のページに強調します。
SetCurrentPage ドキュメントの指定されたページに移動します。
setLayoutMode PDFドキュメント表示のページ・ビューにレイアウトモードを設定変更します。
SetNamedDest ページ・ビューを指定された文字列の命名された目的先に変えます。
setPageMode PDFドキュメントのページ表示モードを設定します。
SetShowScrollbars スクロールバーがドキュメント視点に現れるか否かに関係なく、決定します。
setShowToolbar PDFを表示しているAcroPDFオブジェクト(コントロール)にツールバーを表示するか、非表示にするかをセットする。
SetView 指定された文字列に従って、1ページの視点を設定します。
SetViewRect 指定された座標によると、視点長方形を設定します。
SetViewScroll 指定された文字列に従って、1ページの視点を設定します。
setZoom PDFドキュメントの表示倍率を設定します。
SetZoomScroll 規定値に従って倍率を設定して、水平又は垂直にページ・ビューをスクロールします。

 

 

プロパティ
解説
src PDFドキュメントのURLをセットするとAcroPDFオブジェクト(コントロール)にPDFを表示する。
またAcroPDFオブジェクト(コントロール)に表示されているPDFのURLを取得できる。
※Adobe社のPDF英語版マニュアルにはそう書いているが、ローカルPDFのフルパスも同様に扱える。

 

 

備考

  1. 印刷に関しては「印刷の問題点を解決」も参照してください。
     
  2. Acrobar SDK 8.1 にはVB.NET等を使って当オブジェクトである AcroPDFコントロールを使用している例があります。
    プロジェクト名「AcrobatActiveXVB」がそれです。
    VB.NETの方はそれを参考にした方が判りやすいです。
     
  3.  PDFブラウザ用の参照設定ではExcel VBA 開発環境でのフォームを利用してPDFファイル表示を行っていたが、Excel シートでもPDFブラウザ用の参照設定を行っておけばPDFファイル表示が可能になります。
    しかし当サイト管理者はこの方法を推奨しかねるので詳細なやり方はココに明記しません。
    ※以下がその作成時のサンプル

    Excelシート上でのPDFファイル表示
     

  4. 一部のメソッドとプロパティを使ったExcel VBAサンプルを作りました。
    1. AcroPDFLib.AxAcroPDF:Excel VBAサンプル(A) v0.1.1
      旧バージョン
    2. AcroPDFLib.AxAcroPDF:Excel VBAサンプル(B) v 0.1.2
      画面サイズの変更ボタンを追加
    3. 上記からこのExcelファイルのダウンロードも出来ます。

 

 

注意事項

 

当オブジェクトにあるAcroPDFコントロールは以下の環境では異常終了を起こします。

Windows XP Pro(+SP3+WindowsUpdate) + Microsoft Excel 2000 (+SP3+OfficeUpdate) + Adobe Acrobat 9.1.2 [現象] AcroPDFコントロールをExcel 2000のVBA開発環境上でフォームに貼り付けます。

その後にAcroPDFコントロールに対してリサイズを行うとエラーメッセージも出さずにExcel 2000が終了する。

とにかくAcroPDFコントロールのsrcプロパティ以外を変更するとExcel 2000が異常終了する。

対応策の一つで一発でAcroPDFコントロールをフォームに張り付けても実行時に「~~~’IAcroAXDocShimオブジェクト’」というエラーメッセージが表示される。

更にその場合は2回目の実行時からは、またExcel 2000が異常終了を起こす。

  • [原因]
    現時点(2009/7/30)では不明。AcroPDFコントロールのバグと推測する。
  • [備考]
    • Excel 2002(=XP)、Excel 2003、Excel 2007上では上記異常終了は出ませんでした。
    • 仮にAcroPDFコントロールを貼り付けれても、実行時に一部操作でも同様な異常終了するという報告を受けています。
    • 管理人が出した結論です。
      AcroPDFコントロールをOffice 2000シリーズで使用すると一部のプロパティ操作でアプリケーションが異常終了する。
      なお、これに関する経緯はこのページのコメントにkkkさんから報告されています。

 

 

TOPへ

「AcroPDFLib.AxAcroPDF 一覧」への42件のフィードバック

  1. PDFをブラウザで表示する作業をやっていて、わからないところが多くて、ネット検索してここまで辿り着きました。とても参考になりました。ありがとうございます。
    今回の作業は、PDFを表示する際JavaScriptでツールバーもナビゲーションパネルも全部表示しないとの部分に悩んでいます。
    ツールバーの非表示、及び初期表示サイズの設定はこのサイドを参考してできましたが、ナビゲーションパネルを非表示することはどうしてもできないところです。
    実際、ナビゲーションパネルの非表示という設定でできますでしょうか?
    お忙しいところで大変恐縮ですが、ご返答いただければ幸いです。

  2. ypさん。初めまして。
    最初に、これは解答ではありません。(汗
    質問の件ですが、簡単そうで実は機能的にv6以降ではOLEには無い。旧バージョン(V5以下?)ならばAcrobat自身にその機能がありましたが、現在世間一般のPDFバージョンではPDFファイル自身がその設定機能(設定値)を持っています。旧バージョンならば、PDFドキュメントの表示モードを変更すれば良いので、以下のURLを参考になります。
    http://pdf-file.jugem.jp/?eid=191
    しかし、これは今は使えない。※文章が変?
    JavaScriptでの質問ですよね。
    v6以上のAcrobatのPDFならば、JavaScriptで「app.execMenuItem(”****”);」があります。現在、この「****」部分の引数を調査中です。が、別件で出かけます。(汗
    スイマセン。また、後で調査結果を報告させて下さい。とりあえず、中間報告で。では。m(_._;)m
    ※焦っている!

  3. 「app.execMenuItem(”****”);」の****部分の引数一覧。
    ・※×:該当外
    AcroSendMail:SendMail
    ActualSize
    AddFileAttachment
    Annots:Tool:InkMenuItem
    BookmarkShowLocation
    Close
    CropPages
    DeletePages
    DocHelpUserGuide
    ExtractPages ※×
    Find
    FindCurrentBookmark
    FindSearch
    FirstPage
    FitHeight
    FitPage
    FitVisible ※×
    FitWidth ※×
    FullScreen
    GeneralInfo (Properties)
    GeneralPrefs
    GoBack
    GoBackDoc
    GoForward
    GoForwardDoc
    GoToPage
    HandMenuItem
    HelpReader
    InsertPages
    LastPage
    NextPage
    OneColumn
    OpenOrganizer
    PageSetup
    PrevPage
    Print
    PropertyToolbar
    Quit
    ReplacePages
    RotatePages
    SaveAs
    Scan
    ShowHideAnnotManager
    ShowHideArticles
    ShowHideBookmarks
    ShowHideFields
    ShowHideFileAttachment
    ShowHideModelTree ※×
    ShowHideOptCont
    ShowHideSignatures
    ShowHideThumbnails
    ShowHideToolbarBasicTools
    ShowHideToolbarCommenting
    ShowHideToolbarData
    ShowHideToolbarEdit
    ShowHideToolbarEditing
    ShowHideToolbarFile
    ShowHideToolbarFind
    ShowHideToolbarForms
    ShowHideToolbarMeasuring
    ShowHideToolbarNavigation ※×
    ShowHideToolbarPageDisplay ※×
    ShowHideToolbarPrintProduction
    ShowHideToolbarRedaction
    ShowHideToolbarTasks
    ShowHideToolbarTypewriter
    SinglePage ※×
    Spelling
    Spelling:Check
    TwoColumns
    TwoPages
    Web2PDF:OpenURL
    ZoomDragMenuItem
    ZoomTo
    ZoomViewIn
    ZoomViewOut
    てな感じで、調査中・・。

  4. ヒットしました!
    app.execMenuItem("ResetPanels");
    app.execMenuItem("ShowHideThumbnails");
    Acrobat JavaScriptはまだ未解読分野(=知らない!)なので正確な返答にはならないと思いますが、何かのきっかけになればと思います。
    的を得た返答になったでしょうか?
    それがダメなら
    http://blog.goo.ne.jp/komikoni
    ↑この人はAcrobat JavaScriptの大先輩です。ここからの紹介と言う事で言えば、こちらより的を得た解答がもらえるかもしれません。

  5. 管理人様へ
    早速のご返答ありがとうございます。
    また、ここまで調べて頂き大変恐縮です。
    私の説明文の意味があやふやでしたので、すみませでした。
    現在の作業について、
    Acrobat Reader9を使ってブラウザに埋め込みするのですが、JavaScriptはIEのJavaScriptを使って表示しようとしているところは、このサイドとは多少違うところです。けれどもIEのJavaScriptを使ってPDFを表示する処理を書いているサイドが見つからなくて、このサイドを参考にして、自分なりに模索的にコードを書いている状態でございます。
    質問させていただいた件について、サーバーサイドでPDF作成する際に解決してもらいましたので、一応作業的には解決になりました。
    今回調べていただいたものを今後の参考にさせていただきたいと思っております。
    本当にありがとうございました。

  6. 管理人様へ
    クライアント側でもナビゲーションバーの制御できました!
    教えていただいた二つの引数をヒントにできました。感謝の気持ちでいっぱいです。自己完結できました。
    親切に調べていただき、ありがとうございました。

  7.  ypさんへ。
    それは良かったです。
     もし、問題が無ければそのサワリの部分だけでも、簡単にまとめてコメントで頂けると他のエンジニアの人たちも助かると思います。
     現在、Acrobat JavaScriptサイトを立ち上げ中(準備中)なので、出来ればそこに何らかの形で将来入れたいと思います。現在のOLEでは制御出来ない部分だからです。
     セキュリティ上の問題等があれば、無理をせずに結構です。
     とにかく、良かったです。v(^_^)
    あまり遅くまで仕事はせずに帰宅してくださいネ。

  8. 管理人さま
    WndowsXP Pro+Excel(2000)VBA
    にて下記コードを実行すると
    エラーになり、再度実行するとExcelが終了してしまうとゆう現象で困っています、なにか回避する方法は、あるのでしょうか御教示下さい。(※WindowsXP Home+Excel(2000)では、実行出来ます)
    Sub C1
    AcroPDF1.Visible=False
    End Sub
    sub C2
    AcroPDF1.Visible=True
    End Sub

  9. kkkさん。初めまして。
    Office 2000の環境は仮想OSマシンで作成できますが時間が掛かるので、今ある環境でのテスト結果を報告させて頂きます。
    ・WindowsXP Pro + SP3 + Office 2003(+SP3) +
    Acrobat Pro 8.1.6 + WindowsUpdate
    ・WindowsXP Pro + SP3 + Office XP(2002)(+SP3) +
    Acrobat Reader 9.1.0 + WindowsUpdate
    ・WindowsXP Pro + SP3 + Office 2007(SP2) +
    Acrobat Reader 9.1.0 + WindowsUpdate
    上記3つの環境で取り合えずテストした結果です。
    「AcroPDF1.Visible=False」でコントロールは消える。
    「AcroPDF1.Visible=True」でコントロール部分が白く表示されるがPDFファイルの内容自体は全く表示されない。
    何度もやりましたが共にExcelの異常終了は出ませんでした。
    ・WindowsXP Pro + SP3 + Office 2003(+SP3) +
    Acrobat Pro 9.1.1 + WindowsUpdate
    上記の仮想OS環境ではExcelからPDF自体が表示出来ませんでしたが、今回の問題とは関係無いと思います。
    あいにくWindowsXPのHomeエディションは持っていません。
    Homeで問題が発生しなく、Proで異常終了する。これはWindows自体の環境の問題だと過去の経験からの「勘」ですが、そう感じます。
    別のパソコンでWindowsXP Pro環境でテストして頂けないでしょうか。多分、異常終了は発生しないと予測します。
    それでも異常終了する場合はAcrobat、又はReaderのバージョンを教えて下さい。Office 2000の仮想OS環境を作成してテストしてみます。※時間はかなり掛かりますが。

  10. 管理人さまへ
    いろいろと検証頂きありがとうございます。
    他のPCにてXP pro(SP3)+Excel(2000) ・Win2000+Excel(2000) ・ XP pro(SP3)+Excel(2002)
    上記にくわえ Acrobat Readerも管理人様同様のバージョンで試してみましたが、だめな状態でした。
    やはりOS上の設定の問題なのでしょうか・・XP HOMEでのもう一台の他PCでは、動作します・・設定等比べてみます。
    お手数お掛けして申し訳ありません

  11. kkkさん。
    もしこのコメントを読んでいたら一度試して欲しいことがあります。
    1)そのExcelファイルを別名で保存して、再度テストしてみる。
    2)そのExcelファイルを(有れば)Excel 2003で開いて、別名で保存する。この時のファイルの種類は「Microsoft Excel97 - Excel 2003 および・・・」にして下さい。そして再度Excel2000でテストをする。
    理由ですが、この手のファイルはいろいろと修正等の更新をしていると訳の判らないゴミ?がファイル内部に発生します。その証拠にファイルサイズが増えてきます。「名前をつけて保存」つまり別名で保存する事により、そのゴミ部分が多少取り除かれます。特にOffice 2000 & 2002はゴミが付く傾向が高いです。Office 2003は別名保存するとかなりのゴミ?を取り除きファイルサイズが縮小します。
    こちらはかなり気がかりなのでOffice 2000の仮想OS環境を作成してテストする予定です。手間はそれ程掛かりませんが、インストールに時間が掛かるだけです。
    管理人のパソコンはDual CPUで仮想画面ツールを使用して作業をしていますので、それ程苦にはなりません。※1画面で4画面を持った状態で作業をしています。

  12. kkkさん。
    多分、このコメントは見て頂かれないと思いますので、技術情報として残します。
    <テスト環境:仮想OS>
    WindpwsXP Pro +
     Office 2000(+SP3+OfficeフルUpdate) +
     Adobe Reader 9.1.2
    <現象>
    Excel 2000のVBA環境でAcroPDFコントロールをフォームに貼り付けた後にマウスでリサイズした後にExcel 2000自体がエラーメッセージも出さずに落ちる。
    <原因>
    現時点(2009/7/30)では不明。

  13. 管理人さまへ
    当初は、当方も管理人さまの現象と同じですが、AcroPDFを貼り付けサイズを一発で決め、その他プロパティの設定を変えずに行って一度保存するととりあえず機能致します。
    しかしVisible等のプロパティ設定を行うと
    、一回目はエラーが出ます、再度実行致しますとExcel2000事態が終了してしまいます。
    一回目のエラー回避させれば1回目だけ実行可能になりますが、再度実行すると上記と同じく終了してしまいます。
    管理人さまいろいろ検証いただきありがとうございました。

  14. kkkさん。
    ※これで最後にしたいと思います。
    最初の1回目の実行エラーメッセージは
    「~~~’IAcroAXDocShimオブジェクト’」
    ですね。そこまでkkkさんの助言で出来ました。
    今回のエラーの法則から解決策を見つけました。
    AcroPDFコントロールをFrameコントロールの中に入れて貼り付けるのです。そしてVisibleプロパティのTrue/False操作はそのFrameコントロールに対して行います。そうすれば子コントロールも同時に消したり表示したり出来ます。
    SDKを見るとAcroPDFコントロールで操作説明がされているのはsrcプロパティだけです。それ以外はありません。それから判断するとそれ以外のプロパティは基本的に操作不可?となるのでしょうか。
    しかし表示されるコントロール関連の基本プロパティはAcroPDFも持っています。
    結論ですが、これはAcroPDFコントロールのバグと思われます。それもExcel2000バージョンだけで現れる。しかし一部のプロパティ操作は裏ワザ?で回避出来る、と言う事になるのでしょうか。
    あまりスッキリとはしませんが、管理人なりの結論とさせて頂きます。

  15. こんばんは。

    いつも参考にさせていただいております。

    AxAcroPDFLibのユーザーフォームfrmPDFBrauzarのサイズを変えたときに、ユーザーフォームのサイズに合わせて、AcroPDF1のサイズも変わるようにしたいのですが、良い方法はありますでしょうか?

    ユーザーフォームfrmPDFBrauzarに縮小ボタンのコードを盛り込み、サイズを変えるところまではできたのですが、サイズを変えてもAcroPDF1のサイズが変わりませんでした。

    アドバイスいただけましたら幸いです。
    よろしくお願いいたします。

  16. Pachyさん。初めまして。

    Excelのフォーム画面は可変指定が出来ないのですよね。

    以下のサンプルを追加しました。

    AxAcroPDFLib.AxAcroPDF:Excel VBAサンプル(B)
    http://pdf-file.nnn2.com/?p=695

    Excelフォーム上のボタンにMouseOrverイベントがあれば、もっとカッコ良く出来るのですが、単純な逃げ手にしました。
    追加フォームのボタンをメインフォーム上に貼り付ける方がスッキリするかもしれません。

    あくまでも、参考程度です。

  17. 管理人様、ご連絡ありがとうございました。

    早速使ってみました。
    無理に縮小ボタンを付けなくても良かったですね^^;

    AxAcroPDFLib.AxAcroPDF:Excel VBAサンプル(B)のほうが、
    使いやすいです。これから使用させていただきます。

    また何かありましたら、質問させていただきます。

  18. 管理人さんはじめまして
    いつも拝見させていただいています。
    現在、ウィンドウズアプリケーションにて
    PDF表示後にメニューバーとナビゲーションパネルを
    非表示にする方法を探しています。
    メニューバーについてはメソッド一覧を参考にさせて
    頂きました。
    ナビゲーションについては未だわからない状態です。
    アドバイスなどあれば幸いです。

    よろしくおねがいします。

  19. mkさん。初めまして。

    大変、返答が遅くなり申し訳有りません。
    諸事情+多重度でアップアップ状態でした。
    ※ +コメントをみてから結構考えていました。

    mkさんの質問は以前にもされたのですが、良い返事は出来ませんでした。
    今度は最初からもう一度考え直してみましたが、やはりベストな返答が出来ません。

    1)Acrobat Java Scriptでもナビゲーションパネルの操作が無い。
    2)OLEでもナビゲーションパネルの操作が無い。

    ※しかし、今回は逃げ手を見つけました。

    Acrobat又はAcrobat Readerが起動してPDFを表示した後に、
    F4キーをSendkeysステートメントでAcrobatアプリケーションに送信します。
    ショートカット操作でナビゲーションパネルの非表示操作が出来ます。
    Windows APIのSleep関数でPDFが開いたら2~3秒待って実行すると良いと思います。

    Acrobat又はAcrobat ReaderはデフォルトでPDF表示時はナビゲーションパネルを表示します。環境設定でそれを変更できるかと調査しましたが、それらしき設定は見つかりませんでした。もし見つかっていたらレジストリにその情報が保存されるはずですからレジストリ操作で簡単に出来ると思ったのですが。
    Acrobatのヘルプにもナビゲーションパネルのデフォルト設定変更らしきものは見つかりませんでした。

    以上、遅くなりました。 m(_._)m
    少しは参考になるでしょうか。

  20. 管理人様
    突然失礼いたします。
    利用しているソフトが異なるのですが、当方、まったくの
    手詰まり状態でして、ちょっとしたヒントでもいただければと
    思いコメントいたしました。

    VB2008の「WebBrowser コントロール」を用いPDFを表示してお
    ります。
    元々は「PDFの座標を指定し拡大表示して欲しい」という要望
    に対応し、表示することに関しては問題はないのですが、
    同アプリに、拡大する座標を取得する機能を追加して欲しいと
    追加要望がありました。
    単に表示中のPDFをクリックすると、アクティブなコントロー
    ルがPDFソフトに移り、VBアプリから「座標」や「現在の表示
    倍率」を取得することができません。
    「画面キャプチャ」関数を使い、画面上の座標として取得する
    ことはできたのですが、表示倍率の取りようがありません。

    「Adobe Acrobat 8.0 Browser Control Type Library 1.0」
    「Acrobat 8.1 SDK」(同じものでしょうか??)
    なりを利用しすれば、VBから、PDFをクリックし囲んでいる位
    置や、現在倍率を取得することができるのでしょうか?

    突然ながながと申し訳ございません。

  21. netpetさん。初めまして。
    ※PDFの座標関連はイマイチ理解していない管理人です(恥
    ※それとVB2008はお遊び程度に使っただけです。

    どの様な環境を想定した質問かがイマイチ理解出来ませんが・・。多分 VB2008で作成するソフト上での話と勝手に理解させていただきます。(汗

    >・・PDFソフトに移り・・

    VB2008作成ソフトで表示していたPDFをクリックするとAdobe Reader?が起動してPDFが表示される、てな感じと理解します。

    そして、その時のPDFの
    ・「座標」や「現在の表示倍率」を取得する
    方法が最終目的・・。(何か違う様な気がするが・・:汗

    >「Adobe Acrobat 8.0 Browser Control Type Library 1.0」
    >・・・・
    >位置や、現在倍率を取得することができるのでしょうか?

    「Browser Control」は無理ですが、OLEは出来ます。
    但し環境にAcrobatがインストールされている必要があります。

    VB2008のツールでSP++を見る(ウインドをたどる)と、ブラウザ・コントロール内に表示されているPDFの倍率がクラス名[Edit]で取得できます。
    このウインドウをたどってクラス内容を取得すれば、倍率が見れると思います。(タブン
    座標は無理?ですが。

    現在、確認用テスト環境を整理中(WindowsUpdate等)です。
    取り急ぎ、頭に浮かんだ事を返答させて頂きます。
    ※残りは、またコメントで返させて頂きます。

  22. netpetさん。
    いろいろと考えましたが、
    ウインドウをたどるほうが倍率を取得するには一番いい方法だと思います。

  23. 管理人様
    ご回答ありがとうございます。
    どうにかすれば出来るというヒントから、気力が復活しました!
    やり方はハズしているかも知れませんが、問題解決しそうです。

    1.Spy++で確認したところ、対象ウインドウの下層に「倍率」が
    Editとして存在していました。
    2.WinAPI:EnumChildWindows関数で子ウィンドウを列挙し、語尾
      が「%」のものを倍率として取得します。

    こんな方法ですが、なんとかなりそうです。
    ご助言ありがとうございました。

    -概要-
    1.WinXP SP3+VB2008の開発環境で、フォームいっぱいにWebBrowser
      コントロールを配置し、PDFを表示しています。
    2.利用者にマウスで範囲指定された箇所を拡大再表示します。
    3.初期表示するPDFは、拡大する場所をスクロールせず選択できる
      ように「全体表示」するよう設定してあります。

    選択された場所を拡大再表示する際、計算式に現在の表示倍率が必要
    なのですが、PDFの設定で「全体表示」させているため、初期倍率が
    分かりませんでした。

  24. 少しはお力になれたみたいですね。
    良かったです。 (^_^)

コメントを残す

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

CAPTCHA


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


SAMURAI Plugin

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

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードの前後に <code> ・・・</code> タグを入れないとエラーになります。それでもエラーが回避できない時はコメント下さい。個別に対処します。



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

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