- ベストアンサー
FileSearchが使えなくなり困ってます。
仕事場で前任者が下記のようなマクロを組んでいたのですが、「FileSearch」が使用できなくなり、なおさなくてはいけなくて困ってます。 指定の保存先から、アクティブセルと同じ保存名のファイル(エクセル)を開く内容なのですが、お分かりになるかた知恵を拝借願いますでしょうか? 素人なので、できれば専門用語じゃない回答をいただけるとありがたいです。 よろしくお願い致します。 Dim p As Range For Each p In Selection If p = "" Then Exit Sub End If With Application.FileSearch .Filename = p .LookIn = "保存先" .SearchSubFolders = True .LastModified = msoLastModifiedAnyTime .FileType = msoFileTypeExcelWorkbooks .SearchSubFolders = xt .Execute For Each f In .FoundFiles Workbooks.Open f Next f End With Next p End Sub
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 OSやExcel のバージョンが書いていないようですが、FileSearch は、Windows のアップデートと共に壊れることがあります。FileSearch は、Excel のバージョンとOSに依存性があります。VBAを長くしている人なら、FileSearch は壊れることは経験しているはずです。私のも壊れていましたし、他の方も壊れていました。その場合は、他のOffice 系の検索機能も壊れています。いくらやっても元通りにはなりません。だから、Office 2007 では、なくすことになっているはずです。 いくらやっても、Coreプログラムとの結びつきがダメなら、FileSearchは完全に動きません。もう別のコードを考えるしかありません。
その他の回答 (4)
- hige_082
- ベストアンサー率50% (379/747)
#3です >FailSearchメソッドがサポートされなくなったとのこと そうでしたか、Office 2007を持っていないこともあり知りませんでした お役に立てず申し訳ありませんでした Wendy02さんの知識には頭が下がります 今回は勉強になりました 有難う御座いました
- hige_082
- ベストアンサー率50% (379/747)
>.LookIn = "保存先" .LookIn = "C:\保存先\" >.SearchSubFolders = xt '.SearchSubFolders = xt 以上、2行の修正でうまく行きませんか?
お礼
早々の回答ありがとうございます。 私の説明不足です。 Office2007に変更されたところ、FailSearchメソッドがサポートされなくなったとのことで手直しが必要になった次第でした。 せっかくアドバイス頂いたのに大変申し訳ございません、回答感謝致します。
- tom11
- ベストアンサー率53% (134/251)
検索すると、結構ヒットするみたいですよ。 調べれば、コピーペーで終わりますよ。
お礼
早々の回答いただけたのに返信が遅くなりまして大変申し訳ございません。 アドバイスありがたとうございます。 検索すると、かなりヒットできるのですが・・・理解不足でできません。 コピーペーで出来るのですが、選択したセルの値のファイル名を呼び出すとなるとうまく動作しません。 呼び出すだけだと、うまくいくんですけどね。 文章で手直ししていただくことが可能でしたら、大変ありがたいのですが。 どうぞよろしくお願い致します。
- temtecomai2
- ベストアンサー率61% (656/1071)
FileSystemObject を使ってファイル名から探せばいいんじゃないでしょうかね。 サブフォルダー内も検索しているようですから 「FileSystemObject 再帰呼び出し」 あたりで調べれば良いと思います。
お礼
早々に回答いただけたのに返信遅くなりまして大変申し訳ございません。 アドバイスありがとうございます。 検索したりして探してヒットはしてるのですが、理解できず使いこなせずです。 せっかく回答いただけたのに申し訳ございません。 「FileSystemObject」と「Dir」まではやってみました。 が組み方が違うようで動きません。 上記の文を変えてアドバイスいただくと大変ありがたいです。
お礼
こんにちは。 早々の回答感謝致します。 おっしゃる通りで、アップデートと共に壊れてしまいました。 前任者が作成したものをそのまま使ってた為、素人の私が別のコードを考えなくてはならないとゆうピンチが訪れてしまいました。 記述不足で申し訳ございませんでした、OSはXP、Office2007になります。 つくりなおしたほうがよさそうですね。 色々調べても理解が出来なくて自分でも情けなくなります。 アドバイスありがとうございました。