- ベストアンサー
excelVBAであるセルの文字を含むファイルを選択画面に表示させる方法
excle2003のVBAで、 A2のセルに記載されている文字が含まれるPDFをファイルの選択画面に出す方法はあるのでしょうか? たとえば、あるフォルダにABCD.PDFとABDF.PDF、CCDF.PDF、DDDF.PDFの三つがあった場合に、A2のセルに、"AB"の文字が記載されていたら、そのフォルダ内からABCD.PDFとABDF.PDFの2つだけをファイルを開くの項目に表示され、ファイルを選択できて開くことができるようなVBAを作りたいのです。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下のコードで「ファイルを開く」のウインドウがでて "AB*.pdf" の中から選択できるようになります。(A2="AB"のとき) 選択したファイルのパスがfnameに入ります。 Debug.Print で確認 後はopenですが、本当にExcelのVBAからPDFをopenするの? Sub ss() Dim FLDname As String Dim fname As String FLDname = "c:\sss\" & Range("A2") & "*.pdf" fname = "" With Application.FileDialog(msoFileDialogFilePicker) .InitialFileName = FLDname .AllowMultiSelect = False If .Show = True Then fname = .SelectedItems(1) End If End With Debug.Print fname End Sub
その他の回答 (2)
- rivoisu
- ベストアンサー率36% (97/264)
#2さんへの回答 複数表示は可能です。 ついでに複数選択も可能です。 .AllowMultiSelect = False をtrueにすれば可能です。 .SelectedItems.Countでいくつ選択されたか捕まえて .SelectedItems(i)を配列で受けます この場合文章から表示は複数で選択するのは一つだけと判断しこのようなコードにしました。
お礼
大変参考になりました。ありがとうございました
- imogasi
- ベストアンサー率27% (4737/17069)
(1)>あるフォルダ このフォルダの全てのファイルのフォルダ名を捕まえる。 このコードはWEBに沢山例がある。 例 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html DIR関数を使う方法と FSOを使う方法 (2)そのファイル名でAB(<=A2セルから。含むか先頭かでコードが変わる。質問に明記のこと)が含まれているか判定 (3)含まれておれば、ListBoxのアイテムに入れて、全部ABつき(含む)の候補が出揃ったら、ListBoxで1つ択んでもらう。 先頭にABはLeft関数、AB含むはInstr関数で判定できる。 (4)選択されたら、フォルダ+選択されたファイル名で開く。 複数選択は不可にしておく。 ーーー 私が間違っているかもしれないが、拡張子を限定は出来ても、1つだけは可能でも、候補ファイルの名前で2つ、3つ・・だけを、ファイルダイアログでは表示できないのでは。
お礼
とても参考になりました。ありがとうございました。
お礼
サンプルを記載していただきありがとうございました。 大変参考になりました。
補足
ご連絡が遅れてすいません。回答ありがとうございます。 実際にやりたいことは、ExcelのVBAからEXCELでPDFをopenするのではなく、別アプリ(そのPCにインストールされているAcrobat等)でPDFファイルをでOPENできれば、理想なのですが。