Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.05.2025, 13:27
TiKey TiKey вне форума
Прохожий
 
Регистрация: 26.05.2025
Сообщения: 1
Версия Delphi: D7
Репутация: 10
По умолчанию ComObj или как правильно применить настройки полей для конкретного листа в WORD

Всем доброго дня!
Парни, нужна помощь – бьюсь не первый день проблема в следующем!
Задача склеивать вордовские документы, но при склейке у исходного документа ориентация листа и поля – должны быть как у источника.

Порылся в сети собрал демку, на первый взгляд казалось бы работает.
Но при переходе к следующему документу, настройка применяется КО ВСЕМУ ИСХОДНОМУ ДОКУМЕНТУ.

Кто подскажет где не прав!

Мой пример!

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var
    _WordApp_, _WinDocument_, _WinDocumentRange_: OleVariant;
  Const
    _Word_Title_    = 'Word.Application';
  Function CentimetersToPoints( _Steps_: Single ): Single;
  begin
    Result := ( 28.5 * _Steps_ );
  end;
begin
  _WordApp_ := CreateOleObject( _Word_Title_ );
  _WordApp_.Visible := True;
  _WinDocument_ := _WordApp_.Documents;
  _WinDocument_.Add;
 
  _WinDocumentRange_ := _WordApp_.ActiveDocument.Range;
  _WordApp_.ActiveDocument.Range.Font.Color     := RGB( 250, 50, 147 ); //clred;
  _WordApp_.ActiveDocument.Range.Font.Bold      := True;
  _WordApp_.ActiveDocument.Range.Font.Underline := True;
  _WordApp_.ActiveDocument.Range.Font.Size      := 17;
  _WinDocumentRange_.InsertAfter( DateTimeToStr( NOW ) );
 
        _WordAPP_.ActiveDocument.Range( _StartPos_, _EndPos_ ).PageSetup.LeftMargin           := _WordAPPSRC_.Selection.PageSetup.LeftMargin    ;        _WordAPP_.ActiveDocument.Range( _StartPos_, _EndPos_ ).PageSetup.TopMargin            := _WordAPPSRC_.Selection.PageSetup.TopMargin     ;
        _WordAPP_.ActiveDocument.Range( _StartPos_, _EndPos_ ).PageSetup.RightMargin          := _WordAPPSRC_.Selection.PageSetup.RightMargin   ;
        _WordAPP_.ActiveDocument.Range( _StartPos_, _EndPos_ ).PageSetup.BottomMargin         := _WordAPPSRC_.Selection.PageSetup.BottomMargin  ;
        _WordAPP_.ActiveDocument.Range( _StartPos_, _EndPos_ ).PageSetup.Orientation          := _WordAPPSRC_.Selection.PageSetup.Orientation   ;                                            //        _WordAPP_.ActiveDocument.Range( _WordAPP_.ActiveDocument.Characters.Count - 1, _WordAPP_.ActiveDocument.Characters.Count ).PageSetup.LeftMargin   := _WordAPPSRC_.Selection.PageSetup.LeftMargin;
Админ: Пользуемся тегами при оформлении кода!

Последний раз редактировалось Admin, 26.05.2025 в 13:36.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025