O bom programador tem que ser preguiçoso. Não preguiçoso em copiar os códigos dos outros, usar bibliotecas prontas e não fazer nada. Preguiçoso em resolver os problemas do dia-a-dia com inteligência. Abrir 100 arquivos e mudar a extensão de cada um é uma tarefa árdua que precisamos utilizar da nossa inteligência para resolver sem muito esforço.
A macro Converter converte todos os arquivos de um diretório para um determinado tipo/extensão. Você pode usar essa macro para converter arquivos docx para doc, rtf para doc e outras extensões1 utilizadas pelo Word.
Macros são pequenos programas feitos para expandir programas maiores.
Sub Converter()
Dim fso As New FileSystemObject 'Objeto de busca do Office 2007
Dim fld As folder 'Objeto diretório
Dim file As file 'Objeto arquivo
Dim wda As New Word.Application 'Aplicação Word
Dim wdd As Word.Document 'Documento Word
Dim directory As String 'Diretório
Dim ext As String 'Extensão
'altere para o diretório adequado
directory = "C:\meu diretorio\destino"
ext = "doc"
'Lê o diretório
Set fld = fso.GetFolder(directory)
'Percorre todos os arquivos encontrados no diretório
For Each file In fld.Files
'Novo nome do arquivo
NewFile = directory & "\" & Left$(file.Name, Len(file.Name) - (Len(file.Name) - InStrRev(file.Name, "."))) & ext
'Abre o documento word
Set wdd = wda.Documents.Open(file.Path, Visible:=False)
'Salva com o nome modificado
wdd.SaveAs NewFile, 0
'Fecha o arquivo
wdd.Close
Next
End Sub
Conversões
- docx para doc
- doc para rtf
- rtf para doc
Como usar
Abra o Word. Na guia Desenvolvimento clique em Macros. Dê um nome para a macro e clique em criar. Será aberto o Microsoft Visual Basic. Copie e cole o código substituíndo o existente. Modifique o valor da variável directory para o diretório adequado. Clique no botão play ou então aperte F5 para executar.
Problemas e soluções:
-
“O tipo definido pelo usuário não foi definido”: a referência Microsoft Scripting Runtime não foi incluída. Clique em “Ferramentas > Referências…” e marque Microsoft Scripting Runtime. Se “Referências…” estiver desabilitado, clique em Stop (Redefinir).
-
“Caminho não localizado”: verifique o caminho do diretório. Aperte Stop e execute novamente para atualizar o caminho do diretório.
1 Algumas conversões, como doc para docx ainda não estão funcionando.