Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
11 / 10 / 4
Регистрация: 08.01.2015
Сообщений: 238

Создание и редактирование макросом Excel таблицы в Word

21.09.2021, 14:25. Показов 590. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Начал осваивать макросы в мс офис.
Столкнулся с проблемой.
Если обрабатывать макросом Excel листы Excel, то проблем нет, а вот при взаимодействии Excel и Word начались траблы.
Пишу макрос, чтобы по данным из таблицы в Excel сформировались документы word.
Прежде чем генерировать циклы, решил проверить на одной записи.
Вот сам макрос:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Sub Generation()
    Dim doc As New Word.Application 'Создание объекта'
    Dim docword As Word.Document 'Создание документа'
    Set docword = doc.documents.Add 'Привязка типов'
    
    nmb_rec = Sheets("Таблица").Cells(1, 1).CurrentRegion.Rows.Count 'Количество строк в таблице'
    nmb_req = 0 'Количество обработанных заявок и названия файлов'
    
            Set doc = Nothing 'Очищаем переменные файлов'
            Set docword = Nothing 'Очищаем переменные файлов'
            Set docword = doc.documents.Add 'Привязка типов'
            nmb_req = nmb_req + 1
            namefile = ThisWorkbook.Path & "\" & nmb_req & ".docx" 'Имя нового файла = путь к текущему файлу excel + номер заявки + docx'
            doc.Visible = True 'Отображать документ или нет'
            namereq = "ЗАЯВКА №" & nmb_req 'Заголовок в файле'
            lenstr = Len(namereq) 'Определение количества символов в заявке'
            'Формирование большого текста'
            With docword
                .Range(Start:=0, End:=0).Font.Name = "Times New Roman"
                .Range(Start:=0, End:=0).ParagraphFormat.SpaceBefore = 0
                .Range(Start:=0, End:=0).ParagraphFormat.SpaceAfter = 0
                .Range.Text = namereq & vbCr 'vbCr перенос на новую строку'
                Set tablecity = .Tables.Add(.Range(Start:=.Range.Characters.Count - 1, End:=.Range.Characters.Count - 1), 1, 3)
                tablecity.Columns(1).Width = 1 'Ширина столбца 1'
                tablecity.Columns(2).Width = 3
                tablecity.Columns(3).Width = 12
                
            End With
 
    'Создание документа'
    '------------------------------------------------------'
 
    '------------------------------------------------------'
    
    docword.SaveAs2 (namefile) 'Сохранить документ'
    docword.Close 'Закрыть документ'
End Sub
При выполнении появляется ошибка на строчке :
Visual Basic
1
tablecity.Columns(1).Width = 1
Ошибка: "Значение лежит вне допустимого диапазона"
Только не указано, бейсик ругается на номер колонки или на задаваемую ширину.
Подскажите, пожалуйста, где тут косяк.
И, возможно, кто-то знает, как добавлять строки в уже имеющуюся таблицу word через макрос excel.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.09.2021, 14:25
Ответы с готовыми решениями:

Копирование таблицы из Excel в Word макросом
Всем добрый день! Копирую таблицу, созданную в Excel в Word следующим макросом: Dim objWord As Object Dim MyRange As Excel.Range Dim...

Создание файлов Word на основе шаблона и обьединение их в один файл макросом из Excel
Макрос в Excel-е создает множество файлов Word на основе шаблона (больше 100), которые в дальнейшем необходимо распечатать "одним...

Создание и редактирование Таблицы в Word
Все доброго времени суток. На днях решил Написать программу для работы с Word. для расширения знаний ;-) Ну и естественно столкнулся с...

1
 Аватар для KoGG
5640 / 1622 / 418
Регистрация: 23.12.2010
Сообщений: 2,430
Записей в блоге: 1
21.09.2021, 15:47
Ругается на ширину, минимально допустимая в обычном тексте 11.
Если предварительно отформатировать таблицу и убрать до 0 все поля ячеек таблицы, то можно будет задать ширину 1.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2021, 15:47
Помогаю со студенческими работами здесь

Копирование содержимого word в word из Excel с макросом
Ребят, добрый вечер! Подскажите,. пожалуйста, мне надо по сути создать копию документа WORD из Excel и работать с копией. Я указываю...

Создание Word документа из excel таблицы
Всем добрый день! Возник следующий вопрос: Есть макрос, который создает из Excel документа файл ворд, по сути, просто копирует таблицы и...

Создание документа Word из таблицы Excel
Доброе время суток! Не отправляйте, пожалуйста, в поиск, прочитав название темы. В тексте я постараюсь сформулировать вопрос четче. ...

Excel to word Создание динамичной таблицы (пример)
Здравствуйте. Очень нуждаюсь в помощи( Работа подходит к концу , но как всегда под конец возникла проблема) Извиняюсь, если неправильно...

Создание таблицы в Word при занесении информации из Excel
Здравствуйте. Подскажите, пожалуйста, как создать таблицу в Word. Запускаю новый Word из vba-кода Excel, форматирую, ввожу информацию ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru