![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Word [D5, Win95/98, WinXP]
GanibalLector © (2004-09-24 16:06:00)Создаю некий документ на несколько страниц с "разрывом страниц".После создания,хотелось бы перейти
к первой странице.Так вот,делаю так:
WordApp := CreateOleObject('Word.Application');
WordApp.Documents.add;
Doc1:=WordApp.ActiveDocument;
...
WordApp.GoForward;// ПЕРЕХОД В НАЧАЛО !!!
и оказываюсь в начале последней страницы.А нужно-то в первой.Как оказаться в первой???
Еще несколько вопросов:
как документ минимизировать в панель задач???Могу через sendmessage,но в этом случае,необходимо знать
Caption моего документа.Насколько я понял его можно получить частично Doc1.Name+WordApp.Caption
jack128 (2004-09-27 03:04:00) [1]GanibalLector © (27.09.04 2:56) [11]
ничего странного нет.
Внимательно изучи методы IDispatch. Можешь скачать у AP с сайта стать Тенцера про Script Control - там этот интерфейс расписан на понятном языке..
GanibalLector (2004-09-27 02:58:00) [2]Хотя
function HomeKey(var Unit_: OleVariant; var Extend: OleVariant): Integer; safecall;
имеет два параметра.Во чудеса!
GanibalLector (2004-09-27 02:56:00) [3]Удивляет то,что это
WordApp.Selection.HomeKey($00000006);
и это
vr1:=wdStory;
WordApplication1.Selection.HomeKey(vr1,EmptyParam);
Заметьте,в первом случае на один параметр меньше,но все ЧУДЕСНО работает.Странно...
GanibalLector (2004-09-27 02:48:00) [4]Да,одинаковое :)
jack128 (2004-09-27 02:42:00) [5]GanibalLector © (27.09.04 2:38) [7]
про тот, который Пуск/Найти/Фалы и папки
>хм...
> uses ComObj; // и только
я имею в виду, смотря какой ворд используешь. Хотя и том и в другом, да во всех остальных, думаю, значение этой константы одинаковое...
GanibalLector (2004-09-27 02:40:00) [6]Опс,заработало...с uses Word97
Спасибо!
GanibalLector (2004-09-27 02:38:00) [7]2 jack128
Про какой поиск разговор???
uses
Word97 // или Word200 - смотря что используешь..
хм...
uses ComObj; // и только
jack128 (2004-09-27 02:28:00) [8]GanibalLector © (27.09.04 2:14) [5]
Поиском не умеем работать.. Зря - очень зря!!!!
зы
uses
Word97 // или Word200 - смотря что используешь..
GanibalLector (2004-09-27 02:14:00) [9]2 YurikGL © (24.09.04 20:04) [3]
Забыл сказать,Ваш код не работает.
Ругается,что undeclared identifier wdStory.
Пробовал,что-то типа vr1:='wdStory';// в кавычках
и получаю ошибку несоответствие типа.
GanibalLector (2004-09-27 02:10:00) [10]2 YurikGL © (24.09.04 20:04) [3]
Хм...Интересная штука,эти макросы.Не знал.
Так вот,вернемся к теме:
Вот макрос на "разрыв страницы"
Selection.InsertBreak Type:=wdPageBreak
в Delphi выглядит так :
WordApp.Selection.InsertBreak;
Заметьте,без всяких там wdPageBreak
А что касается возврата на первую страницу,то макрос :
Selection.HomeKey Unit:=wdStory
В Delphi сделал WordApp.Selection.HomeKey и опять таки меня выбрасывает не на первую,а на текущую в начало.Пробовал запихивать этот wdStory => безрезультатно.
YurikGL (2004-09-24 20:04:00) [11]
vr1 :olevariant;Вообще, в моей анкете все это описано :-)
...
vr1:=wdStory;
WordApplication1.Selection.HomeKey(vr1,EmptyParam);
GanibalLector (2004-09-24 18:18:00) [12]А других вариантов нет ???
П7 (2004-09-24 16:47:00) [13]Сэмулируй нажатие Ctrl+Home! (: