[[20080716165454]] 『pdfファイルを開く』(くるねこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『pdfファイルを開く』(くるねこ)
 いつも拝見させていただいております。
 過去ログより指定のフォルダに有るpdfファイルを開く事は分かったのですが、
 開きたいpdfファイル名は可変なので、決まったセルにファイル名(下記の****)
 を入力したらそこを参照してファイルが開けるようにできるものでしょうか?
 以前は1000ファイルほど丁寧にハイパーリンクを貼ってたのですが
 最近は増えたので検索のような形にしたいと思いまして。

 Shell "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRD32.exe C:\****.pdf", _
      vbMaximizedFocus

 他の方法でも考えているのですが、

 Dim myFile As String 
 Dim WSH As Object
 Set WSH = CreateObject("WScript.Shell")

 CreateObject("WScript.Shell").CurrentDirectory = _
 "フォルダの場所を記述"
 myFile = Application.GetOpenFilename("pdf ファイル (*.pdf), *.pdf")
                       ↑
 エクセルファイルを開く方はうまく行くのですが。。。
 どうかご教示ください。
 Excel2003 WindowsXP

 >Shell "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRD32.exe C:\****.pdf", _
      vbMaximizedFocus

 セルの値を参照してpdfファイルを開くのでしたら、
 ↓の様な感じでいけると思います。

 Dim pdfpath As String
  pdfpath = ActiveCell.Value
  Shell "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRD32.exe " & pdfpath, _
   vbMaximizedFocus
 (MARBIN)

 二つ目の
 >Application.GetOpenFilename
 の方も、取得した
 > myFile
 を先ほどの
 >Shell
 などの開きたいファイルパスのところに代入することで
 ファイルを開くことが出来ると思います。

 ※時間がないのでかけませんが、拡張子に関係なく指定のパスのファイル
 を所定のアプリケーションで開くことも可能です。
 (MARBIN)

 指定のファイルを拡張子に関連なく所定のアプリケーションで
 開く方法です。

 1.
 Dim FPath As String
  FPath = "ファイルのフルパス"
  CreateObject("Shell.Application").ShellExecute FPath

 2.
 Dim WSH As Object
  Set WSH = CreateObject("WScript.Shell")
  WSH.Run "ファイルのフルパス"
 (MARBIN)

 MARBIN様お忙しい所、ありがとうございました。
 上記の方法で検索できれば充分ですのでありがたくどちらか使用させていただきます。
 昨夜、作業中に何か誤操作でやらかしたらしく、エクセルが起動しなくなって
 今朝、復旧するまでお返事が遅れましてすみませんでした。(くるねこ)


 すみません再度質問です。
 専用フォルダの中のPDFファイルを、名前(注文番号)をキーに1発で開きたいという依頼で
 作っているのですが、私なら、下記のコードで

 Sub TEST()
 Dim myFile As String
 Dim WSH As Object
 Set WSH = CreateObject("WScript.Shell")

  CreateObject("WScript.Shell").CurrentDirectory = _
    "指定フォルダのパス\"
    myFile = Application.GetOpenFilename
 End Sub

 出てきたアプリケーションに名前(注文番号)を貼り付けて→開く押下でいいと思ってたのですが、
 この指定フォルダには1万以上のPDFが入っているので、毎回アプリケーションが
 出現時にフォルダの中をパソコンがチェックしながら開くので動きの遅いパソコンでは
 連続検索がエレガントでは無いと言う苦情でやはり、教えて頂いた当初のように
 してみたのですが、どうもPDFが開きません。なぜでしょうか?
    ↓
 Sub TEST()
 Dim pdfpath As String

 pdfpath = ActiveCell.Value
 Shell "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRD32.exe S:pdfpath.pdf", _
  vbMaximizedFocus

 End Sub

 ここを変数でなくファイル名をつづれば開くのですが、検索名は可変ですので。。
                                ↓↓↓↓
 Shell "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRD32.exe S:scan-1.pdf", _
 (くるねこ)


 Sub TESTA()
 Dim pdfpath As String
 pdfpath = ActiveCell.Value
 MsgBox "S:\pdfpath.pdf"
 End Sub

 Sub TESTB()
 Dim pdfpath As String
 pdfpath = ActiveCell.Value
 MsgBox "S:\" & pdfpath & ".pdf"
 End Sub
 
まずは上記二つのプロシージャの違いをご確認ください。
(みやほりん)(-_∂)b

 ヒントを下さりありがとうございました。
 無事、開く事ができました。
 (くるねこ)

 Sub TEST()
 Dim pdfpath As String

 pdfpath = ActiveCell.Value
 Shell "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRD32.exe S:" & pdfpath & ".pdf", _
  vbMaximizedFocus

 End Sub

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.