Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Программно создать документ Ворд

Автор: TarasBer 24.06.2010 17:38

Создать документ и просто "набрать" текст (ну и закрыться, чтобы процесс не висел) я смог.
Мне требуется изменить изначальный размер листа (это я умею только мышкой в ворде), и создать вот такой элемент типа "надписи" (см. скрин), это я даже мышкой в ворде не умею, не то, что программно.
Подробной документации по работе с Вордом через ОЛЕ я не нашёл, может, подскажете?


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: volvo 24.06.2010 18:07

Цитата
Мне требуется изменить изначальный размер листа (это я умею только мышкой в ворде)
Прекрасно... Значит, идем Сервис -> Макро, ставим макрос на запись, делаем нужный размер листа мышкой, останавливаем запись макроса, открываем его для редактирования, и смотрим, какие свойства/функции/процедуры использовались для желаемого эффекта... Перевести на Дельфи - дело техники.

Цитата
создать вот такой элемент типа "надписи" (см. скрин), это я даже мышкой в ворде не умею, не то, что программно.
Без понятия, что это за объект. Похоже на TextBox, но TextBox нельзя вращать, тогда откуда взялась зеленая точка? Для начала надо выяснить, что это за тип объекта. Если этот файл есть в наличии - можно его заархивировать и приложить к сообщению?

Автор: TarasBer 24.06.2010 18:28

Цитата(volvo @ 24.06.2010 15:07) *

Прекрасно... Значит, идем Сервис -> Макро, ставим макрос на запись, делаем нужный размер листа мышкой, останавливаем запись макроса, открываем его для редактирования, и смотрим, какие свойства/функции/процедуры использовались для желаемого эффекта... Перевести на Дельфи - дело техники.

Понял, спасибо.
Цитата

Без понятия, что это за объект. Похоже на TextBox, но TextBox нельзя вращать, тогда откуда взялась зеленая точка?

Да вот тоже не могу врубиться, что это.
Цитата

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

Вот.


Прикрепленные файлы
Прикрепленный файл  test.doc ( 23.5 килобайт ) Кол-во скачиваний: 269

Автор: Client 24.06.2010 20:24

это же фигура - прямоугольник с закругленными углами. Без цвета заливки и без цвета линий. С надписью внутри.

Автор: TarasBer 24.06.2010 20:30

Да я уже врубился.
Надо сказать, скорость работы удручает.
Один несчастный лист секунды 2 пишется и секунды 3 закрывается.

Автор: volvo 24.06.2010 20:34

Программно создается вот так:

const
msoShapeRectangle = 1;

var
MSWord: Variant;
myShape: Variant;

// ...

MSWord := CreateOleObject('Word.Application');
MSWord.Visible := true;
MSWord.Documents.Add('F:\myTest.doc');

myShape := MSWord.ActiveDocument.Shapes.AddShape(msoShapeRectangle, 100, 100, 100, 25);

myShape.Select;
MSWord.Selection.ShapeRange.TextFrame.TextRange.Select;
MSWord.Selection.Collapse;
MSWord.Selection.TypeText('Привет, мир!');
myShape.Select;

Как сделать линии другого цвета - по тому же методу, как и п. 1.

А вообще, лучшая документация по работе с MS Word - вот тут: http://msdn.microsoft.com/en-us/library/ms254954%28v=Office.11%29.aspx

Автор: TarasBer 24.06.2010 20:43

Цитата(volvo @ 24.06.2010 17:34) *

Программно создается вот так:


Это я тоже уже сам понял, при помощи макросов. Вот только константы гуглить запарно.

Цитата

http://msdn.microsoft.com/en-us/library/ms254954%28v=Office.11%29.aspx


Посмотрю.

Автор: volvo 24.06.2010 21:23

Цитата
Вот только константы гуглить запарно.
Практически все константы, связанные с Office-ом, собраны вот тут: http://msdn.microsoft.com/en-us/library/aa170976%28office.11%29.aspx. А если подключить еще модуль OfficeXP к проекту (ну, или какой там Office используется, может Office2000 или Office2003), то и определять самостоятельно ничего не придется, все эти константы там описаны...