Page 151 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼xlsとtxtを同時に処理するには? haru 02/9/30(月) 13:51 ┗Re:xlsとtxtを同時に処理するには? ichinose 02/9/30(月) 21:42 ┗Re:xlsとtxtを同時に処理するには? haru 02/10/1(火) 8:37 ─────────────────────────────────────── ■題名 : xlsとtxtを同時に処理するには? ■名前 : haru ■日付 : 02/9/30(月) 13:51 -------------------------------------------------------------------------
xlsとtxtを同時に実行するには? fnm$ = Dir("c:\*.xls", vbnomal) Do While fnm$ <> "" '処理 fnm$ = Dir() Loop ですと、xlsのみの処理ですが、txtも同時に実行したいときはど うすれば良いですか? fnm$ = Dir("c:\*.xls", vbnomal) Do While fnm$ <> "" '処理 fnm$ = Dir() Loop fnm$ = Dir("c:\*.txt", vbnomal) Do While fnm$ <> "" '処理 fnm$ = Dir() Loop と、するしかないですか? よろしくお願いします。 |
▼haru さん: こんばんは。 > fnm$ = Dir("c:\*.xls", vbnomal) > Do While fnm$ <> "" > '処理 > fnm$ = Dir() > Loop > fnm$ = Dir("c:\*.txt", vbnomal) > Do While fnm$ <> "" > '処理 > fnm$ = Dir() > Loop > と、するしかないですか? 基本的には、そうなんですが、汎用的というこで、 '===================================== Sub test() Dim pnm(1 To 2) As String pnm(1) = "c:\*.xls" pnm(2) = "c:\*.txt" fnm$ = spdir(pnm()) i = 1 Do While fnm$ <> "" Cells(i, 1).Value = fnm$ fnm$ = spdir() i = i + 1 Loop End Sub '============================================================== Function spdir(Optional pathnm = "") As String Static svpath As Variant Static lim As Long Static idx As Long dim lfile as string Dim chdir_flg As Integer spdir = "" If VarType(pathnm) = vbArray + vbString Then svpath = pathnm lim = UBound(svpath) idx = LBound(svpath) chdir_flg = 1 Else chdir_flg = 0 End If Do While idx <= lim If chdir_flg = 1 Then lfile = Dir(svpath(idx)) Else lfile = Dir() Do While lfile <> "" spdir = lfile Exit Do Loop If spdir <> "" Then Exit Do idx = idx + 1 chdir_flg = 1 Loop End Function 2回ループさせた方がコードが短いでしょうか? |
▼ichinose さん: こんにちは。 ありがとうございます。 >2回ループさせた方がコードが短いでしょうか? 3回以上だと、違ってきます。 >>fnm$ = Dir("c:\*.txt", vbnomal) ここを、1行で書けないかと思ったんですが、 やはり自分でループさせるしかないんですね。 |