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

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

Количество страниц в документе MS Word [D6, Win95/98, Win2k, WinXP]


Guf ©   (2006-03-31 12:39:00) 

Господа, не подскажите, как можно узнать количество страниц в документе MS Word. Моя программа печатает здоровенную накладную на нескольких листах. И в конце надо у казать на скольки литах напечатана данная накладная. Так вот, как узнать сколько страниц открытом документе?
Из макросов удалось выжать только это:
   Selection.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:= _
       wdAlignPageNumberRight, FirstPage:=True

Но никакх футерсов в дельфях я не нашёл...


SpellCaster   (2006-04-06 14:58:00) [1]

Хм, действительно, для инфы о номерах страниц возвращает -1, причём даже из самого VBA, и с примером, данным в хелпе. Странно.

Вот, нашёл! Не знаю, как a дельфях, но на VBA так:
MsgBox (ActiveDocument.BuiltInDocumentProperties("Number of Pages").Value)


Guf   (2006-04-06 07:41:00) [2]


> Selection/Range.wdNumberOfPagesInDocument

Не получилось. Но всё равно, спасибо за подсказку...
procedure TForm1.Button1Click(Sender: TObject);
var
 vrTemplateName, vrTmpOle: OleVariant;
 S: String;
begin
 try
   W1.Free;
   W1:=TWordApplication.Create(Form1);
   W1.Connectkind:=ckNewInstance;
   vrTemplateName := 'КЧ.doc';
   W1.Documents.Open(vrTemplateName,
     EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
     EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
     EmptyParam);
   vrTmpOle := wdNumberOfPagesInDocument;
   S := W1.Selection.Information[vrTmpOle];
   ShowMessage(S);
 finally
   vrTmpOle := false;
   W1.Visible := true;
   W1.Disconnect;
 end;
end;


SpellCaster   (2006-03-31 13:39:00) [3]

Selection/Range.wdNumberOfPagesInDocument


Наверх

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