Помощь - Поиск - Пользователи - Календарь
Полная версия: Программно создать документ Ворд
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
TarasBer
Создать документ и просто "набрать" текст (ну и закрыться, чтобы процесс не висел) я смог.
Мне требуется изменить изначальный размер листа (это я умею только мышкой в ворде), и создать вот такой элемент типа "надписи" (см. скрин), это я даже мышкой в ворде не умею, не то, что программно.
Подробной документации по работе с Вордом через ОЛЕ я не нашёл, может, подскажете?
volvo
Цитата
Мне требуется изменить изначальный размер листа (это я умею только мышкой в ворде)
Прекрасно... Значит, идем Сервис -> Макро, ставим макрос на запись, делаем нужный размер листа мышкой, останавливаем запись макроса, открываем его для редактирования, и смотрим, какие свойства/функции/процедуры использовались для желаемого эффекта... Перевести на Дельфи - дело техники.

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

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

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

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

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

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

Вот.
Client
это же фигура - прямоугольник с закругленными углами. Без цвета заливки и без цвета линий. С надписью внутри.
TarasBer
Да я уже врубился.
Надо сказать, скорость работы удручает.
Один несчастный лист секунды 2 пишется и секунды 3 закрывается.
volvo
Программно создается вот так:

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 - вот тут: MSDN -> Microsoft.Office.Interop.Word Namespace
TarasBer
Цитата(volvo @ 24.06.2010 17:34) *

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


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

Цитата


Посмотрю.
volvo
Цитата
Вот только константы гуглить запарно.
Практически все константы, связанные с Office-ом, собраны вот тут: Microsoft Office Enumerated Constants. А если подключить еще модуль OfficeXP к проекту (ну, или какой там Office используется, может Office2000 или Office2003), то и определять самостоятельно ничего не придется, все эти константы там описаны...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.