dポイントプレゼントキャンペーン実施中!

仕事場で前任者が下記のようなマクロを組んでいたのですが、「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

A 回答 (5件)

こんにちは。



OSやExcel のバージョンが書いていないようですが、FileSearch は、Windows のアップデートと共に壊れることがあります。FileSearch は、Excel のバージョンとOSに依存性があります。VBAを長くしている人なら、FileSearch は壊れることは経験しているはずです。私のも壊れていましたし、他の方も壊れていました。その場合は、他のOffice 系の検索機能も壊れています。いくらやっても元通りにはなりません。だから、Office 2007 では、なくすことになっているはずです。

いくらやっても、Coreプログラムとの結びつきがダメなら、FileSearchは完全に動きません。もう別のコードを考えるしかありません。
    • good
    • 0
この回答へのお礼

こんにちは。
早々の回答感謝致します。
おっしゃる通りで、アップデートと共に壊れてしまいました。
前任者が作成したものをそのまま使ってた為、素人の私が別のコードを考えなくてはならないとゆうピンチが訪れてしまいました。
記述不足で申し訳ございませんでした、OSはXP、Office2007になります。

つくりなおしたほうがよさそうですね。
色々調べても理解が出来なくて自分でも情けなくなります。

アドバイスありがとうございました。

お礼日時:2009/12/28 15:23

#3です


>FailSearchメソッドがサポートされなくなったとのこと
そうでしたか、Office 2007を持っていないこともあり知りませんでした
お役に立てず申し訳ありませんでした

Wendy02さんの知識には頭が下がります
今回は勉強になりました
有難う御座いました
    • good
    • 0

>.LookIn = "保存先"


.LookIn = "C:\保存先\"
>.SearchSubFolders = xt
'.SearchSubFolders = xt

以上、2行の修正でうまく行きませんか?
    • good
    • 0
この回答へのお礼

早々の回答ありがとうございます。
私の説明不足です。
Office2007に変更されたところ、FailSearchメソッドがサポートされなくなったとのことで手直しが必要になった次第でした。
せっかくアドバイス頂いたのに大変申し訳ございません、回答感謝致します。

お礼日時:2009/12/28 14:52

検索すると、結構ヒットするみたいですよ。



調べれば、コピーペーで終わりますよ。
    • good
    • 0
この回答へのお礼

早々の回答いただけたのに返信が遅くなりまして大変申し訳ございません。
アドバイスありがたとうございます。

検索すると、かなりヒットできるのですが・・・理解不足でできません。
コピーペーで出来るのですが、選択したセルの値のファイル名を呼び出すとなるとうまく動作しません。

呼び出すだけだと、うまくいくんですけどね。

文章で手直ししていただくことが可能でしたら、大変ありがたいのですが。
どうぞよろしくお願い致します。

お礼日時:2009/12/20 17:45

FileSystemObject を使ってファイル名から探せばいいんじゃないでしょうかね。


サブフォルダー内も検索しているようですから 「FileSystemObject 再帰呼び出し」 あたりで調べれば良いと思います。
    • good
    • 0
この回答へのお礼

早々に回答いただけたのに返信遅くなりまして大変申し訳ございません。
アドバイスありがとうございます。

検索したりして探してヒットはしてるのですが、理解できず使いこなせずです。
せっかく回答いただけたのに申し訳ございません。
「FileSystemObject」と「Dir」まではやってみました。
が組み方が違うようで動きません。

上記の文を変えてアドバイスいただくと大変ありがたいです。

お礼日時:2009/12/20 17:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!