Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


697 / 13645 ツリー ←次へ | 前へ→

【78923】フォルダ内の画像抽出について vba勉強中 17/2/28(火) 11:04 質問[未読]
【78924】Re:フォルダ内の画像抽出について β 17/2/28(火) 11:37 発言[未読]
【78925】Re:フォルダ内の画像抽出について vba勉強中 17/2/28(火) 14:03 お礼[未読]

【78923】フォルダ内の画像抽出について
質問  vba勉強中  - 17/2/28(火) 11:04 -

引用なし
パスワード
   以前画像貼り付けについて質問させていただいたものです。
その節はβさん、ありがとうございました。

任意のフォルダの中の画像を取り出したいのですが、画像の名前が部分一致でも抽出できるようにしたいです。
いままでは完全一致のものを取り出していたのですがその時は、dir関数を使っていました。(それもここでの教えですが)
dir関数ではワイルドカードは使用できないとの話をどこかで見たので調べていたところ、filesystemobjectの方が使い勝手が良い、とこれまたどこかのサイトで見かけました。しかしながらFolderExistsメソッドでもワイルドカードの対応はしていないようでした。ので行き詰まり助けを求めている状態です。

現状functionマクロから一度画像の名前を全部取得してから、部分一致があればそれを検索する名前に変更して、また、完全一致の画像を探す。といった風になりそうです。

だいぶ回りくどい気がするのですが、知恵をお貸しいただければと思います。
相変わらずの知識不足、説明下手で申し訳ないのですがよろしくお願いいたします。

【78924】Re:フォルダ内の画像抽出について
発言  β  - 17/2/28(火) 11:37 -

引用なし
パスワード
   ▼vba勉強中 さん:

>dir関数ではワイルドカードは使用できないとの話をどこかで見た

そんなことはないですよ。

たとえば AAA-BBB.jpg というものをDIR関数に与えると、そのものずばりのファイル名指定になりますけど

*AAA-BBB.jpg とすると なんとか が AAA の頭についたものもピックアップしますし
*AAA*-BBB.jpg とすると AAA の前後に何かがついているものもピックアップします。

BBB の部分も同様です。

AAA と BBB のいずれをワイルドカードにしたいのか、あるいは両方ワイルドカードにしたいのか
なんとかAAA なのか、AAAなんとか なのか なんとかAAAなんとか なのか、そこは
そちらの要件次第で。

これをもとに頑張ってみませんか?

【78925】Re:フォルダ内の画像抽出について
お礼  vba勉強中  - 17/2/28(火) 14:03 -

引用なし
パスワード
   ▼β さん:
ありがとうございます!
dir関数でもワイルドカードの使用はできました!もっと試してから書き込むべきだったかもしれません…
なのですが、
fname = Dir(fpath & "*テスト*")
これで[〜テスト〜]については見つけてくれることはわかったのですが、"*テスト*"が変数なので、画像名を参照セルより確定させてから
fname=画像名
fname=Dir(fpath & "*fname*")
ではできない、と思っていましたがこれだとそのままfnameを含む画像を探すことになりますね


fname = Dir(fpath & "*" & fname & "*")
として解決できました!!
いつもありがとうございます!

697 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free