Всем доброго времени суток!
Есть проблема при слиянии в макросе ворд документ сохраняет файл с кодом клиента но код клиента идет через точку
например:
1.234567_GSMKак исправить эту проблему, т.к. у меня все файл сохраняются в неизвестном формате (
234567_GSM)
в ручную каждый файл переименовывать как то не хочется
вот код макроса
Sub Save_All_Files(Count As String)
Const OUTGOING As String = "Код"
Dim oMergedDoc As Document, SavePath As String
Dim DialogFile As FileDialog
MsgBox "Укажите путь(папку) сохранения всех файлов"
Set DialogFile = Application.FileDialog(FileDialogType:=msoFileDialogFolderPicker)
With DialogFile
.Show
End With
SavePath = DialogFile.SelectedItems(1)
If ActiveDocument.MailMerge.MainDocumentType <> wdNotAMergeDocument Then
Set oMergedDoc = ActiveDocument
Else
MsgBox "Активный документ должен быть создан слиянием", vbExclamation, "Сохранение документов после слияния"
Exit Sub
End If
If Not oMergedDoc.Bookmarks.Exists(OUTGOING) Then
MsgBox "В документе нет закладки с именем " & OUTGOING & ", которая используется в качестве имени файла." & vbNewLine & _
"Создайте закладку с таким именем и запустите макрос заново"
Exit Sub
End If
oMergedDoc.MailMerge.DataSource.ActiveRecord = wdFirstRecord
Dim i As Integer
With oMergedDoc.MailMerge
For i = 1 To .DataSource.RecordCount
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
End With
If Count = "" Then
.Execute False
With Documents(1)
.ExportAsFixedFormat SavePath & "\" & oMergedDoc.Bookmarks(OUTGOING).Range.Text & "_GSM", wdExportFormatPDF
.Close False
End With
Else
.Execute False
With Documents(1)
.ExportAsFixedFormat SavePath & "\" & oMergedDoc.Bookmarks(OUTGOING).Range.Text & "_GSM_" & Count, wdExportFormatPDF
.Close False
End With
End If
.DataSource.ActiveRecord = wdNextRecord
DoEvents
Next
End With
MsgBox "Все документы слияния сохранены по пути """ & SavePath & """", vbInformation, "Сохранение документов после слияния"
End Sub