Город МОСКОВСКИЙ
00:04:27

АВТОЗАПОЛНЕНИЕ WORD'а из EXCEL'я

Аватар
Чистота без лишних слов и забот
Просмотры:
296
Дата загрузки:
17.11.2023 10:10
Длительность:
00:04:27
Категория:
Лайфстайл

Описание

Полезные команды:


Private Sub CommandButton1_Click()
diapason.Hide
'Loading.Show

start_save = CInt(TextBox1.Value)
stop_save = CInt(TextBox2.Value)

If start_save = 0 Or stop_save = 0 Then
MsgBox "Вы не ввели начальное значение.", vbCritical
Exit Sub
ElseIf stop_save = 0 Then
MsgBox "Вы не вели конечное значение. Формируем письма до последнего возможного значения.", vbInformationв
stop_save = ActiveDocument.MailMerge.DataSource.RecordCount
End If

'count = start_save - stop_save
'unpading_c = 300 / count
End Sub

'Диапазон формирования писем (начало, конец)
Public start_save As Integer, stop_save As Integer

Sub SaveAsFileName()
Dim FileName As String
Dim iPath As String ':: Директория текущего файла
Dim name As String
Dim name_of_main_dir As String ':: Название папки
Dim new_book_name As String ':: Название новой книги

Application.ScreenUpdating = False

':: Запрашиваем название папки
name = InputBox("Как назвать папку для сохранения книг EXEL?")
If name = "" Then
MsgBox "Вы не указали название папки", vbCritical, "Ошибка"
Exit Sub
End If

':: Создаём главную папку, где будут храниться файлы
iPath = ActiveDocument.Path
name_of_main_dir = iPath & "\" & name

If Dir(name_of_main_dir, vbDirectory) = "" Then
MkDir name_of_main_dir
Else:
MsgBox "Папка с таким названием уже существует! - " & name, vbCritical, "Ошибка"
Exit Sub
End If

':: Спрашиваем с какого файла начинать создавать WORD файлы
diapason.Show

With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True

For SectionCount = start_save To stop_save
unpading_c = unpading_c + unpading_c
With .DataSource
ActiveDocument.MailMerge.DataSource.ActiveRecord = SectionCount
ActiveDocument.MailMerge.DataSource.FirstRecord = SectionCount
ActiveDocument.MailMerge.DataSource.LastRecord = SectionCount

' replace Filename with the column heading that you want to use - can't have certain symbols in the name
FileName = .DataFields("Filename").Value
End With

If FileName = "" Then
Exit For
End If

'Get path and file name
FullPathAndName = Replace(name_of_main_dir, "/", "-") & Application.PathSeparator & Replace(FileName, "/", "-") & ".docx"

' Merge the document
.Execute Pause:=False

' Save resulting document.
ActiveDocument.SaveAs (FullPathAndName)
ActiveDocument.Close True
Next
End With
Application.ScreenUpdating = True
End Sub

Рекомендуемые видео