IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Программно создать документ Ворд
TarasBer
сообщение 24.06.2010 13:38
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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


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

--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.06.2010 14:07
Сообщение #2


Гость






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

Цитата
создать вот такой элемент типа "надписи" (см. скрин), это я даже мышкой в ворде не умею, не то, что программно.
Без понятия, что это за объект. Похоже на TextBox, но TextBox нельзя вращать, тогда откуда взялась зеленая точка? Для начала надо выяснить, что это за тип объекта. Если этот файл есть в наличии - можно его заархивировать и приложить к сообщению?
 К началу страницы 
+ Ответить 
TarasBer
сообщение 24.06.2010 14:28
Сообщение #3


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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

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

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

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

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

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

Вот.


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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Client
сообщение 24.06.2010 16:24
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


это же фигура - прямоугольник с закругленными углами. Без цвета заливки и без цвета линий. С надписью внутри.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 24.06.2010 16:30
Сообщение #5


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.06.2010 16:34
Сообщение #6


Гость






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

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
сообщение 24.06.2010 16:43
Сообщение #7


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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

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


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

Цитата


Посмотрю.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.06.2010 17:23
Сообщение #8


Гость






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

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 11.07.2025 17:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"