Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Pdfの指定ページを開く
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9673#CommentId14981
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2010/6/15 10:58:11
ShellExecute API を使うぐらいなら、Process クラスを使った方がスマートだと思いますよ。
ただ、それで解決するかどうかは別問題ですけれども。
> Link = "D:\Test\Test.pdf#page=4"
ShellExecute(Ex) や Process.Start でパラメータを渡す場合には、"#" でパラメータを繋ぐのではなく、
ShellExecute の場合: lpParameters 引数
ShellExecuteEx の場合: SHELLEXECUTEINFO.lpParameters フィールド
Process.Start(String, String) の場合: arguments 引数
Process.Start(ProcessStartInfo) の場合: ProcessStartInfo.Arguments プロパティ
などでパラメータを渡すようにします。
ただし、そのパラメータがどのように利用されるのかは、*.pdf に関連付けられた
アプリケーション(Adobe Reader、Foxit Reader、Sumatra PDF 等々)に依存しています。
その結果、○○ というPDF リーダーならば***のようにすれば表示できるが、
++ というPDF リーダーでは、ページ指定は不可能…といった事態が生じえるため、
そもそも汎用的な方法という物は存在しませんし、PDF リーダーごとに異なる処理が必要です。
なお、Adobe Reader がサポートしているコマンドラインには、下記の物がありますが、
ページ番号の指定方法は見当たりませんでした(他の PDF リーダーについては未調査です)。
http://kb2.adobe.com/jp/cps/510/510705.html
> よい方法があればご教授ください。
ちなみに、Acrobat Reader コントロール (AcroPDF.DLL) を用いた場合には、
下記のようにして、フォーム上に PDF を表示させる事もできます。
AxAcroPDF1.LoadFile(
"D:\Test\Test.pdf"
)
AxAcroPDF1.setCurrentPage(4)