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

VBA で 任意のディレクトリに セル”A1”の文字列が含まれる
ファイルが存在する間はループをかけるプログラムを作成したいのですが上手くいきません。

詳しい方、助けてください。。。

なお、ループはwhileを使っています。

A 回答 (2件)

>が存在する間はループを掛ける


といっているが、普通わかりにくいのは(勉強課題は)(1)でしょう。
下記のように筋道を立てて、考えること。
そしてどの部分がわからないのか、質問に明記のこと。
でないと課題を丸投げしていることになる。
(1)指定した1つの中のファイルを捕まえる事。
(2)そして書いてないが
エクセルファイルでしょう、その中からエクセルファイルを選別し
(3)ファイルの名前を捉えて、
(4)A1があるかどうかの判別をし、
(5)A1があれば何かの処理をし
(6)ファイルが数えつくされれば、終わる
ーー
(1)は、Dir関数やVBScriptを使ウことになるでしょう。後者は
「フォルダ内のファイルを取得したい」という課題で、WEBや解説書に
あります。
WEBでは「フォルダ ファイル名 取得」で照会する。
Dirの例
http://www.accessclub.jp/samplefile/samplefile_2 …
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
Filesearch
http://www.nurs.or.jp/~ppoy/access/excel/xlM025. …
VBScript
http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …
あと
.NETのも載ってます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

リンク先を参考にして勉強いたします。

お礼日時:2008/10/25 20:04

どういうコードを使い、どううまくいかないのかを補足してください。

この回答への補足

初心者ですので、コードの使用の仕方など
間違っておりましたらご指摘ください。

以下のように記述しています。
"B1" には ファイルパスを入力しています。
"A1" には " *150*.* " と入力しています。
これで、150が含まれる文字列のファイルの存在を
確認し、ループになっているのか。。。。


============================================
Private Sub CommandButton2_Click()
Dim myName As String

myName = (Range("B1").value & Range("A1").value)

Do While mydir > 0

mydir = Len(Dir(myName, vbDirectory))

If mydir > 0 Then

If (GetAttr(myFileName) And vbDirectory) = vbDirectory Then

Else

Else
  exit do
Loop

End Sub

補足日時:2008/10/25 17:25
    • good
    • 0

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