Excel VBA質問箱 IV

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

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


5302 / 13644 ツリー ←次へ | 前へ→

【51546】ファイル名の変更 acch 07/9/24(月) 21:52 質問[未読]
【51547】Re:ファイル名の変更 acch 07/9/24(月) 21:55 質問[未読]
【51572】Re:ファイル名の変更 りん 07/9/25(火) 20:48 発言[未読]
【51583】Re:ファイル名の変更 acch 07/9/26(水) 8:26 お礼[未読]
【51585】Re:ファイル名の変更 Jaka 07/9/26(水) 10:05 発言[未読]
【51602】Re:ファイル名の変更 acch 07/9/26(水) 22:53 お礼[未読]
【51603】Re:ファイル名の変更 りん 07/9/26(水) 23:25 発言[未読]

【51546】ファイル名の変更
質問  acch  - 07/9/24(月) 21:52 -

引用なし
パスワード
   下記のSub File_search() を実行し、ワークシート(ファイル名)に旧ファイル名をセットします。新ファイル名を新たに設定し、Name old_name As new_name で書き換えました。実際のファイル名は変更されているのに、下記のSub File_search() を再実行しても変更前のファイル名しか表示されません。どこに問題があるのでしょうか。

Sub file_search()
 Call find_file_clr
 Set fs = Application.filesearch
 With fs
  look_in = ThisWorkbook.Path & "\払込票"
  .LookIn = ThisWorkbook.Path & "\払込票"
  .Filename = "*.csv"
  .SearchSubFolders = True
  If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
    For i = 1 To .FoundFiles.Count
       If i > 6 Then
        Exit For
       End If
       Worksheets("ファイル名").Select
       Worksheets("ファイル名").Cells(i + 1, 2) = .FoundFiles(i)
    Next i
  End If
 End With
End Sub


End Sub

Sub file_delset()
  Dim cntr As Integer
  Dim kill_name As String
''''''''''  ファイル 削除
  Worksheets("ファイル名").Select
  For cntr = 1 To 6 Step 1
   If Worksheets("ファイル名").Cells(cntr + 1, 1) = "削除" Then
     kill_name = Worksheets("ファイル名").Cells(cntr + 1, 2).Value
     Kill kill_name
   End If
  Next
''''''''''  ファイル名 変更
  For cntr = 1 To 6 Step 1
   If Worksheets("ファイル名").Cells(cntr + 1, 1) = "Rename" _
     And Worksheets("ファイル名").Cells(cntr + 1, 2) <> "" Then
      old_name = Worksheets("ファイル名").Cells(cntr + 1, 2).Value
      new_name = Worksheets("ファイル名").Cells(cntr + 1, 4).Value
      Name old_name As new_name
   End If
  Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Call file_search
End Sub

【51547】Re:ファイル名の変更
質問  acch  - 07/9/24(月) 21:55 -

引用なし
パスワード
   ▼acch さん:
>下記のSub File_search() を実行し、ワークシート(ファイル名)に旧ファイル名をセットします。新ファイル名を新たに設定し、Name old_name As new_name で書き換えました。実際のファイル名は変更されているのに、下記のSub File_search() を再実行しても変更前のファイル名しか表示されません。どこに問題があるのでしょうか。
一部訂正しました。
>
>Sub file_search()
> Set fs = Application.filesearch
> With fs
>  look_in = ThisWorkbook.Path & "\払込票"
>  .LookIn = ThisWorkbook.Path & "\払込票"
>  .Filename = "*.csv"
>  .SearchSubFolders = True
>  If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
>    For i = 1 To .FoundFiles.Count
>       If i > 6 Then
>        Exit For
>       End If
>       Worksheets("ファイル名").Select
>       Worksheets("ファイル名").Cells(i + 1, 2) = .FoundFiles(i)
>    Next i
>  End If
> End With
>End Sub
>
>
>End Sub
>
>Sub file_delset()
>  Dim cntr As Integer
>  Dim kill_name As String
>''''''''''  ファイル 削除
>  Worksheets("ファイル名").Select
>  For cntr = 1 To 6 Step 1
>   If Worksheets("ファイル名").Cells(cntr + 1, 1) = "削除" Then
>     kill_name = Worksheets("ファイル名").Cells(cntr + 1, 2).Value
>     Kill kill_name
>   End If
>  Next
>''''''''''  ファイル名 変更
>  For cntr = 1 To 6 Step 1
>   If Worksheets("ファイル名").Cells(cntr + 1, 1) = "Rename" _
>     And Worksheets("ファイル名").Cells(cntr + 1, 2) <> "" Then
>      old_name = Worksheets("ファイル名").Cells(cntr + 1, 2).Value
>      new_name = Worksheets("ファイル名").Cells(cntr + 1, 4).Value
>      Name old_name As new_name
>   End If
>  Next
>''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Call file_search
>End Sub

【51572】Re:ファイル名の変更
発言  りん E-MAIL  - 07/9/25(火) 20:48 -

引用なし
パスワード
   acch さん、こんばんわ。
>>下記のSub File_search() を実行し、ワークシート(ファイル名)に旧ファイル名をセットします。新ファイル名を新たに設定し、Name old_name As new_name で書き換えました。実際のファイル名は変更されているのに、下記のSub File_search() を再実行しても変更前のファイル名しか表示されません。

削除した場合にはファイル数は確かに減っているのに、ファイル名の変更は変化しませんね。
エクセルを終了→起動したりいろいろやってみましたが、一度だけ反映した以外はダメでした。

なので、

>どこに問題があるのでしょうか。
Application.FileSearchのバグとしか思えません。

どのみちFileSearchはXL2007では使用できないそうなので、FSOやDirで取得する方法を取られた方が良いと思います。
(ネット)検索すればいろいろな代替手法が出てきますよ。

答えじゃなくてすみません。

【51583】Re:ファイル名の変更
お礼  acch  - 07/9/26(水) 8:26 -

引用なし
パスワード
   りん さん ありがとうございます。
皆さんからの回答がなく、困っていましたが、そうですか、バグでしょうか。
自宅のパソコン(WindosXp)でうまくいかず、職場のパソコン(サーバーにデータが入っています)ではうまくいっているようなのです。
他の方法でやってみます。ありがとうございます。

【51585】Re:ファイル名の変更
発言  Jaka  - 07/9/26(水) 10:05 -

引用なし
パスワード
   これ入れてみたらどうでしょうか?
.NewSearch

うまくいくかの確認はしてないです。

【51602】Re:ファイル名の変更
お礼  acch  - 07/9/26(水) 22:53 -

引用なし
パスワード
   ▼Jaka さん:
>これ入れてみたらどうでしょうか?
> .NewSearch
>
>うまくいくかの確認はしてないです。
Jaka さん ありがとうございます。
 .NewSearch やってみましたが だめでした。
FSOでうまくいきましたので報告します。
皆様ありがとうございました。

【51603】Re:ファイル名の変更
発言  りん E-MAIL  - 07/9/26(水) 23:25 -

引用なし
パスワード
   こんばんわ。
>▼Jaka さん:
>>これ入れてみたらどうでしょうか?
>> .NewSearch
>>
>>うまくいくかの確認はしてないです。
>Jaka さん ありがとうございます。
> .NewSearch やってみましたが だめでした。
.NewSearchがダメなのはとっくに試し済みです。(XL2003&WinXP)
なので、ほかの方法を提案させていただきました。
FSOでうまく行ったのなら何よりです。

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