2017-12-28 9 views
-3

フォルダ内のすべてのファイルの名前を変更するには、アンダースコアの前に何かを置き換え、エラー時にexcel vbaを使用してフォルダ内のすべてのファイルの名前を変更

+0

ルックを再開[ソリューション](https://stackoverflow.com/questions/47982997/the-old-file-names-are-in-column-a-and-new-file-names-are-in-colum n-b-how-to-re/47983186#47983186) – JohnyL

+0

ようこそスタックオーバーフロー!それはあなたの要求にすばやく答えるためのひどい種類の人たちでした...(もし彼らが投票してもらえれば回答を受け入れてください)(https://stackoverflow.com/help/someone-answers))通常これは「無料のコーディングサービス」ではなく、コーディングの問題に関する具体的な質問があり、これまでにどのような努力をしているかの例が示されています。 [ツアー]だけでなく[質問]も[mcve]もチェックしてください。 – ashleedawg

答えて

0
Sub RenameFiles() 
Const FolderLoc = "P:\yourfolder\" 
Dim x As Long 
x = 1 
Dim s As String 
s = Dir(FolderLoc & "*.*") 
Do While s <> "" 
    Name FolderLoc & s As FolderLoc & x & Right(s, Len(s) - (InStr(s, "_") - 1)) 
    s = Dir() 
    x = x + 1 
Loop 
End Sub 
+0

コードは最初のアンダースコアを置き換えます。すべてのアンダースコアを置き換え、最後に接頭辞を付けます。 例:11.52.03_11.52.07_Sheet5はx.Sheet5、 52.10_Tempはx.Tempにする必要があります – Anurag

0

順 でバックアップしたファイルと場所の名前を変更するには「MACROサブRename2()

Dim objFSO As Object 
Dim objFolder As Object 
Dim objFile As Object, abc As Object 
Dim i As String 
Dim s As String, dest As String 

dest = "H:\Automation\outputs\" 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
FolderLoc = dest 


Set objFolder = objFSO.GetFolder(dest) 
'MsgBox objFolder 

i = 1 
s = Dir(FolderLoc & "*.*") 

'loops through each file in the directory and prints their names and path 
For Each objFile In objFolder.Files 

    Do While (InStr(s, "_")) > 0 
     'MsgBox s 
     'Name OldFile as NewFile 

     Name FolderLoc & s As FolderLoc & i & "." & Right(s, Len(s) - (InStr(s, "_") + 2)) 
     s = i & "." & Right(s, Len(s) - (InStr(s, "_") + 2)) 
     'MsgBox s 
     'abc = Name FolderLoc & s As FolderLoc & "(" & i & ")" & Right(s, Len(s) - (InStr(s, "@[email protected]") + 2)) 
     'i = i + 1 
    Loop 
    i = i + 1 
    s = Dir() 

Next objFile 

エンド私のサブ

関連する問題