Как вставить из VB таблицу в Word чз ClipBoard

Программирование на Visual Basic for Applications
mnzol
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 29.09.2004 (Ср) 11:02

Как вставить из VB таблицу в Word чз ClipBoard

Сообщение mnzol » 29.09.2004 (Ср) 11:58

В докумете Word создается отчет, где текст чередуется с таблицами. Есть желание создать в VB строчку и плюхнуть ее в word ч/з Clipboard. Или хотя бы вставлять таблицы ч/з ClipBoard

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.09.2004 (Ср) 14:02

Класть чтото из VB в clipboard можно через одноименный объект. А в Word вставлять - методом Selection.Paste
I don't understand. Sorry.

mnzol
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 29.09.2004 (Ср) 11:02

Сообщение mnzol » 30.09.2004 (Чт) 9:34

Вопрос в том как и что засунуть в Clipboard, что бы при Word.application.Selection.paste получилась таблица.
В идеале хотелось бы в VB формировать какую-то текстовую строку текст+таблица+текст+таблица, где таблица формируется какими-либо управляющими последовательностями и затем одним Paste вставлять в Word. Или можно как-нибудь использовать HTML формат.
Может есть какое-нибудь простое и красивое решение. :!: :( :?:

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 30.09.2004 (Чт) 15:33

mnzol писал(а):Вопрос в том как и что засунуть в Clipboard, что бы при Word.application.Selection.paste получилась таблица.
В идеале хотелось бы в VB формировать какую-то текстовую строку текст+таблица+текст+таблица, где таблица формируется какими-либо управляющими последовательностями и затем одним Paste вставлять в Word. Или можно как-нибудь использовать HTML формат.
Может есть какое-нибудь простое и красивое решение. :!: :( :?:

А тебе не подходит работать напрямую с документом с VB? Подключи библиотеку Ворд, подключись к нужному документу, сосздавай там таблицы где нужно и т.д. Если нужно через клипбоард, то подключатся к документу конечно не нужно, но не вижу смысл. :?

mnzol
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 29.09.2004 (Ср) 11:02

Сообщение mnzol » 30.09.2004 (Чт) 16:16

Первая причина - скорость. У меня все так и работает с Tables.add и т.д. Но когда дело доходит до страницы эдак 30 word начинает сильно скрипеть, да и вообще медленно это в принципе.
Вторая причина (даже более важная) - сложность доступа(и опять же медлительность) к группам ячеек таблицы в Word для их форматирования. Эти Selection.move__ - не правильно это как-то ... И не дай бог объеденить ячейки - кранты Selection единственный способ!!!
Конечно спасает Excel. Даже маленькую таблицу быстрее через массив в Excel, а уже потом в Word!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.09.2004 (Чт) 21:19

mnzol писал(а):Вопрос в том как и что засунуть в Clipboard, что бы при Word.application.Selection.paste получилась таблица.
В идеале хотелось бы в VB формировать какую-то текстовую строку текст+таблица+текст+таблица, где таблица формируется какими-либо управляющими последовательностями и затем одним Paste вставлять в Word. Или можно как-нибудь использовать HTML формат.
Может есть какое-нибудь простое и красивое решение. :!: :( :?:

Если смотреть Document.Content, то там границы ячеек обозначаются Chr(7). Возможно, если вставить текст, разграниченный этим символом, он обработается как таблица.
Изображение


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 102

    TopList  
cron