Новости:

Название темы должно отражать суть задачи.
Темы типа "ПОМОГИТЕ!!!", "Срочно!" и т.п. будут удаляться без объяснения причин

Главное меню

Совместить несколько файлов word через Vba excel

Автор 000vanya000, 22.03.2023, 10:23:18

« назад - далее »

000vanya000

Добрый день, взял с этого форума макрос, создающий из таблицы экселя и шаблона несколько файлов ворд. Можно ли их в один объединить другим макросом или в этом исправить так, чтобы они писались в один файл сразу

Дмитрий Щербаков(The_Prist)

Цитата: 000vanya000 от 22.03.2023, 10:23:18или в этом исправить так, чтобы они писались в один файл сразу
для этого надо плотно общаться на предмет понимания, что и как Вы хотите размещать, где будет храниться файл с общими данными и все в этом духе.
Ну а чтобы собрать в один из нескольких - я уже выкладывал на этом форуме код в этой теме: Макрос-собрать в 1 файл 100 файлов из 1-й папки: сначала 1.docx потом 2.docx
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

000vanya000

На выход у меня подаются файлы с названиями численными, 1.doc и тд, по возрастанию, но возможны пропуски (1,2,3,7,8,12) может быть и такое.
В итоговых файлах у меня таблицы одинакового формата, но с разными значениями и заголовками. Собственно хотел объединять все это дело в один файл с кучей таблиц.
Допустим есть папка на компе, в которой есть таблица Эксель с макросом. Он создает папку temp с кучей маленьких доков. Финальный док со всеми таблицами пусть будет создаваться начальной папке с файлом эксель. А папку temp вообще можно удалять тогда
Основное, что не могу понять, как это сделать именно через excel Vba. Без открытия ворда

Дмитрий Щербаков(The_Prist)

По ссылке готовый код. Да, он для Word. Но если потратить чуточку времени на изучение вопроса - то перенести его непосредственно в Excel не составит труда.
Здесь расписано как это сделать: Как из Excel обратиться к другому приложению
Но есть подозрение, что Вы об этом знаете, т.к. пытались именно к этой статье оставить комментарий(т.к. он к ней отношения не имеет - он не был опубликован).
Исходя из этого
Цитата: 000vanya000 от 22.03.2023, 17:45:15Финальный док со всеми таблицами пусть будет создаваться начальной папке с файлом эксель
ниже приведен код:
Sub MergeFiles()
    Dim avFiles, lr As Long
    Dim objWrdApp As Object, docAct As Object, docNow As Object
   
    On Error Resume Next
    Set objWrdApp = GetObject(, "Word.Application")
    If objWrdApp Is Nothing Then
        Set objWrdApp = CreateObject("Word.Application")
    End If
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = "*.doc*"
        .AllowMultiSelect = True
        If .Show = False Then Exit Sub
        Set docAct = objWrdApp.Documents.Add
        For lr = 1 To .SelectedItems.Count
            Set docNow = objWrdApp.Documents.Open(.SelectedItems(lr))
            docNow.Range.Copy
            docAct.Range(docAct.Range.End - 1).Paste
            docAct.Range(docAct.Range.End - 1).InsertBreak Type:=0
            docNow.Close 0
        Next lr
    End With
    objWrdApp.Visible = True
End Sub

запускаете код, выбираете файлы Word и все. После работы кода будет создан новый файл, в который будут перенесены все данные выбранных файлов.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru