Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/48: Рейтинг темы: голосов - 48, средняя оценка - 4.85
 Аватар для alucard_mk
7 / 7 / 0
Регистрация: 14.04.2010
Сообщений: 210

Как объединить ячейки таблицы в Word, обращаясь к ним по свойству Cell (n, m)

04.04.2011, 13:57. Показов 9934. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Т.е. есть ячейки в таблице
Visual Basic
1
ActiveDocument.Tables(1).Cell(3,7) и ActiveDocument.Tables(1).Cell(4,7)
//это нужно объединить в одну

или

Visual Basic
1
ActiveDocument.Tables(1).Cell(3,7) и ActiveDocument.Tables(1).Cell(3,8)
\\и это нужно объединить в одну

подскажите плиз
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2011, 13:57
Ответы с готовыми решениями:

Не могу объединить пустые ячейки таблицы Word
Задача в таблице Word объединить пустые ячейки q10 = 0 nb = 0 Do While q10 < tb9.Rows.Count 'объединение в 4-й колонке ...

Word -> Различный Aligment (влево-вправо) для разных колонок или ячеек(cell) Word-таблицы?
Как пограммно из VBA при формирования документа сделать различный Aligment (влево-вправо-по центру)для различных колонок (Column) или...

Объединить div-ы как ячейки таблицы
Доброго дня господа. Представьте себе таблицу из трех ячеек: в первом столбце две ячейки, во втором - 1 ячейка, занимающая две строки. Так...

6
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
04.04.2011, 15:57
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

если включить макрорекордер, то можно увидеть код
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Макрос8()
' Макрос8 Макрос
' Макрос записан 04.04.2011 Александр
ActiveDocument.Tables(1).Cell(3, 7).Select
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Cells.Merge
 
ActiveDocument.Tables(1).Cell(5, 7).Select
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Cells.Merge
End Sub
1
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
04.04.2011, 16:36
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Visual Basic
1
2
3
4
Sub P1()
ActiveDocument.Tables(1).Cell(1, 1).Merge _
    MergeTo:=ActiveDocument.Tables(1).Cell(1, 2)
End Sub
То же самое, только меньше писать:
Visual Basic
1
2
3
4
5
Sub P2()
With ActiveDocument.Tables(1)
    .Cell(1, 1).Merge MergeTo:=.Cell(1, 2)
End With
End Sub
Примеры есть в Справке. Ключевое слово Merge, которое можно было получить, используя макрорекордер.
1
 Аватар для alucard_mk
7 / 7 / 0
Регистрация: 14.04.2010
Сообщений: 210
04.04.2011, 16:53  [ТС]
то что надо, спасибо
1
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,218
Записей в блоге: 2
04.05.2016, 10:24
Понимаю, что ответ состоялся. Просто делюсь своим опытом
управлял процессом формирования таблицы в документе Word из VBA Excel

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim myWord As Object
Set myWord = CreateObject("Word.Application") 'Запускаем новый экземпляр программы Word.
    ' Даём этому экземпляру имя "myWord". Через это имя
    ' будем обращаться к программе Word.
myWord.Visible = True 'Делаем программу "Word" видимой.
Set oDocument = myWord.Documents.Add 'Создаем в программе Word документ и присваиваем этому документу указатель "oDocument".
Set tbl = myWord.Selection.Tables.Add(myWord.Selection.Range, 45, 17) ' создаем таблицу 47 строк/5 столбцов
' форматируем таблицу
tbl.Select
...
rs = tbl.Cell(1, 1).Range.Start ' устанавливаем стартовую ячейку
re = tbl.Cell(2, 17).Range.End ' устанавливаем финишную ячейку
oDocument.Range(rs, re).Select ' собственно выделяем ячейки от старта до финиша
...
myWord.Selection.Cells.Merge ' или любая другая команда с выделенным диапазоном ячеек
PS. если убрать указатели myWord и oDocument, то команды работают из-под Word

и вот тут особенность.
Я не рекомендую настраивать вертикальное объединение ячеек в начале работы с таблицей.
не знаю почему, но при последующих манипуляциях может слететь вся таблица построчно (вот тут хотелось бы услыхать умное объяснение великого табличного косяка всех Wordов после 97 версии).
Этот "вылет" кучеряв великим сдохом всего документа Word в недалеком будущем.
Чтобы избежать этого, я делал все горизонтальные объединения в начале работы с таблицей, все вертикальные (а их не так много) - в конце, когда текст уже введен в первую ячейку каждого случая с объединением и вся таблица отформатирована.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
04.05.2016, 20:24
Понимаю, что ответ состоялся

Не по теме:

хмм!!!
Может мало лет прошло?! 4!!!

0
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,218
Записей в блоге: 2
06.05.2016, 10:56
Alex77755, ну, собственно, от тебя я и ждал ответной реакции
На самом деле искал инфу по этой теме, наткнулся на данное сообщение и поделился своим небольшим опытом.
Причем опыт касается не программирования как такового а избежания сидетельной болезни путем организации очередности операций автоматизированной обработки таблиц Ворда. А вот в этом у меня опыт поболе, чем 4 года. Но актуальность вопроса - не изменилась.
Так что, сколько прошло лет - на мой личный взгляд - совершенно не важно. Ибо то, о чем я спросил - актуально и сейчас.
Alex77755, чтоб бухтелось "про корабли" в нужном направлении - продолжи тему про возможность полной автоматизации форматирования таблиц в Ворде. И будет всем щастье.
Вот только не надо мне про "сложность автоматического определения шапки таблицы" говорить. Это тоже решить можно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2016, 10:56
Помогаю со студенческими работами здесь

Как объединить ячейки в строке таблицы DBGrid
Здравствуйте форумчани. Не подскажите такой вопрос. Создаю базу данных с помощью DatabaseDesktop. Можно в таблице DBGrid первой строки...

Как объединить таблицы в Word
Как объединить таблица ворд?

Как в C# объединить ячейки таблицы Excell с адресацией в стиле R1C1?
Как в C# объединить ячейки таблицы Excell с адресацией в стиле R1C1? Такая конструкция ObjWorkSheet.get_Range(ObjWorkSheet.Cells,...

Как объединить две таблицы Word вертикально?
Как объединить две таблицы в c# word вертикально?

Как выравнять ячейки таблицы в MS Office Word?
В ранних версиях было всё просто. Но сейчас эту возможность не найти. Неужели её убрали и теперь, чтобы выравнять нужно одну версию снести...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru