Olá pessoal,
Estou utilizando atualmente uma macro para transformar o arquivo de uma mala direta em arquivos separados de uma folha cada, no total dão mais de 100 arquivos, só que eu gostaria que cada um desses arquivos fosse para uma pasta de uma área especifica, por exemplo esse arquivos vão para a pasta do jurídico, esses outros vão para pasta de logística, entendem? Será que é possível adicionar um critério para que isso aconteça? Na planilha já tem uma coluna com o nome das pastas em que eles precisam estar, só precisaria criar um código que tornasse essa distribuição automática.
Segue o código que utilizo atualmente:
Sub salvamaladireta()
Application.ScreenUpdating = False
Dim qtde As Integer
Dim nomeArquivo As String
Dim registro As Integer
Dim nomearquivouniorg As String
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
qtde = ActiveDocument.MailMerge.DataSource.RecordCount
For registro = 1 To qtde
nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("Colaborador_Real").Value
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
.LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
End With
.Execute Pause:=False
End With
ActiveDocument.SaveAs2 FileName:="C: local onde eu salvo" & nomearquivouniorg & "" & nomeArquivo & ".docx", FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=15
ActiveWindow.Close
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Next registro
Application.ScreenUpdating = True
End Sub