Byta namn på arbetsböcker FSO


Denna teknik som presenteras här för att byta namn på filer kan appliceras på vilka filtyper som helst.

Exemplet antar att vi här arbetar med Excel-filer.

 

Glöm inte att ange referens till Microsoft Scripting Runtime - Läs mer här»

Option Explicit

 Sub Byta_Namn_Arbetsbocker()

   '© 2003 Alla rättigheter XL-Dennis

   Dim fsoObj As Scripting.FileSystemObject

   Dim fsoFolder As Scripting.Folder

   Dim fsoFiles As Scripting.Files

   Dim fsoFile As Scripting.File

   Dim stGamFilnamn As String, stNyFilnamn As String, stGTecken As String

   Dim stNTecken As String, stSokVag As String

 

   stGTecken = "BB"

   stNTecken = "AB"

   stSokVag = "C:\XLDennis"

 

   Set fsoObj = CreateObject("Scripting.FileSystemObject")

   Set fsoFolder = fsoObj.GetFolder(stSokVag)

   Set fsoFiles = fsoFolder.Files

 

   'Här gås samtliga arbetsböcker igenom i den förvalda mappen

   'och filnamnen ersätts för de arbetsböcker som matchar villkoren.

   For Each fsoFile In fsoFiles

      If InStr(1, fsoFile.Name, stGTecken) > 0 Then

         stGamFilnamn = fsoFolder & "\" & fsoFile.Name

         stNyFilnamn = fsoFolder & "\" & Replace(fsoFile.Name, stGTecken, stNTecken)

         fsoObj.MoveFile stGamFilnamn, stNyFilnamn

      End If

   Next fsoFile

 

   Set fsoFile = Nothing

   Set fsoFiles = Nothing

   Set fsoFolder = Nothing

   Set fsoObj = Nothing

 

End Sub