MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido] Renomear - Inserir 3 caracteres em determinada posição

    Compartilhe
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 147
    Registrado : 24/02/2013

    [Resolvido] Renomear - Inserir 3 caracteres em determinada posição

    Mensagem  brunogor em Dom 23 Ago 2015, 19:04

    Exmos. Senhores

    Tenho uma enorme quantidade de pastas para renomear e encontrei um exemplo que faz o seguinte:
    United States  transforma para States, United
    U. S. America transforma para America, U. S.

    O exemplo é este:
    Código:
    Set objFS = CreateObject("Scripting.FileSystemObject")
    strFolder = "C:\path\of\folder\of\folders"
    Set objFolder = objFS.GetFolder(strFolder)
    For Each Folder In objFolder.SubFolders
       strFolderName = Folder.Name
       For i=1 To Len(strFolderName)
          if Mid(strFolderName,i,1) = " " Then
             strEndOfFirst = i
          End If
       Next
       strFirstName = Mid(strFolderName,1,strEndOfFirst)   
       strLastName = Mid(strFolderName,strEndOfFirst + 1)
       strNewName = strLastName & ", " & strFirstName
       Folder.Name=strNewName
    Next

    Num ficheiro TXT, basta alterar "C:\path\of\folder\of\folders" para a pasta desejada, grava-lo como "rename.vbs" e fazer duplo click.

    Mas o que pretendo é diferente, tenho um conjunto de pastas nomeadas desta maneira:
    AAA-000001
    BBB-000001
    CCC-000001

    E queria inserir 3 caracteres iguais, ou seja, "XX-" após a 4ª posição à esquerda para ficar assim:
    AAA-XX-000001
    BBB-XX-000001
    CCC-XX-000001

    Podem me ajudar a adaptar o exemplo anterior à minha necessidade?

    Ogrigado

    Bruno Gordino


    Última edição por brunogor em Dom 23 Ago 2015, 21:50, editado 3 vez(es)
    avatar
    brunogor
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 147
    Registrado : 24/02/2013

    Renomear - Inserir 3 caracteres em determinada posição

    Mensagem  brunogor em Dom 23 Ago 2015, 21:47

    Já consegui.

    Fiz assim:

    Código:
    Set objFS = CreateObject("Scripting.FileSystemObject")
    strFolder = "C:\Users\tosh\Desktop\Nova pasta"
    Set objFolder = objFS.GetFolder(strFolder)
    For Each Folder In objFolder.SubFolders
       strFolderName = Folder.Name

       For i=1 To Len(strFolderName)
    '      if Mid(strFolderName,i,1) = " " Then
    '         strEndOfFirst = i
    '      End If
       Next
       strInsertName ="XX"
       strFirstName = Mid(strFolderName,1,Len(strFolderName)-6)   
       strLastName = Mid(strFolderName,4)
       strNewName = strFirstName & strInsertName & strLastName
       Folder.Name=strNewName
    Next

    Obrigado na mesma

    Abraço

    Bruno Gordino

      Data/hora atual: Ter 22 Ago 2017, 04:41