Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определение размеров страницы в Word'е [D5, WinXP]


Afonya ©   (2008-08-29 20:28:00) 

Всем доброго времени суток!
Столкнулся с такой проблемой: запускаю из под делфей ворд, открываю в ворде документ.  Как определить размеры страницы в пикселях? (ну в сантиметрах потом можно будет тпреобразовать).
Под VB делается так:

Dim AH As Double
...    
   AH = ThisDocument.PageSetup.PageHeight


Как подобное организовать в делфях?


Xandr001   (2008-09-02 18:11:00) [1]

а вообще... как ты юзаешь оле объект? подключаешься к открытому документу или создаешь новый?


Xandr001   (2008-09-02 18:03:00) [2]

а если так?
HPosition := MSWord.ActiveDocument.Selection.Frames[1].HorizontalPosition


Afonya   (2008-09-01 10:57:00) [3]

Попробовал в квадратных - все равно не получается пишет вот что:

Project Form.exe raised exception class EOleError with message "Method 'Selection' not supported by automation object"  Process stopped...


Xandr001   (2008-08-31 13:47:00) [4]

Не получится, попробуй так:

HPosition := MSWord.ActiveDocument.Selection.Frames[1].HorizontalPosition  

With MSWord.ActiveDocument.Selection.Frames(1) do begin
      .Select;
      .Width = CentimetersToPoints(2.78);
       end;


Xandr001   (2008-08-31 13:42:00) [5]

попробуй вместо круглых скобок поставить квадратные. дело в том, что Делфи круглые скобки воспринимает как список параметров процедуры, а квадратные как указатель на элемент массива. а Frames это массив...

А вообще вот так попробуй:

HPosition := MSWord.Selection.Frames[1].HorizontalPosition


KilkennyCat   (2008-08-30 13:30:00) [6]

ну и какая ошибка выдается, если, конечно, не секрет?


Afonya   (2008-08-29 20:49:00) [7]

на следующие строчки выдает ошибку:
   

var HPosition : real;
...
HPosition := MSWord.Selection.Frames.Items(1).HorizontalPosition;
// или так
HPosition := MSWord.Selection.Frames(1).HorizontalPosition;


Afonya   (2008-08-29 20:47:00) [8]

Все - нашел ответ сам...
   
   pageHeight := MSWord.ActiveDocument.PageSetup.PageHeight;
   pageWidth  := MSWord.ActiveDocument.PageSetup.PageWidth;


А вот как реализовать такое в делфях:
скрипт VB:

   With Selection.Frames(1)
       .Select
       .Width = CentimetersToPoints(2.78)


Наверх

Титульная страница Поиск, карта сайта Написать письмо