Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 15:26   #1
kaa1977
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 39
По умолчанию Параметры страницы MS WORD

как при создании из Delphi документа MS Word задать нужные параметры страницы: ориентацию страницы (книжная / альбомная) и поля?
kaa1977 вне форума Ответить с цитированием
Старый 15.05.2009, 16:23   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Код:
    Doc := WApp.Documents.Add;
    Doc.PageSetup.Orientation := wdOrientLandscape; //wdOrientPortrait;
    Doc.PageSetup.TopMargin := 56;
    Doc.PageSetup.LeftMargin := 28;
    Doc.PageSetup.RightMargin := 28;
Doc, WApp : Variant;
Единицы значений полей неизвестного происхождения и подбираются эмпирическим методом.
В этом примере 56 = 1,98 см (~2 см), 28 = 0,99 см (~1 см).
Скандербег вне форума Ответить с цитированием
Старый 16.05.2009, 08:41   #3
kaa1977
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 39
По умолчанию

СпасиБо!
Получилось!
kaa1977 вне форума Ответить с цитированием
Старый 10.01.2012, 17:44   #4
chid
Новичок
Джуниор
 
Регистрация: 10.01.2012
Сообщений: 2
По умолчанию Спасибо огромно!

Спасибо!
chid вне форума Ответить с цитированием
Старый 23.11.2018, 11:04   #5
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию

Доброго времени суток, уважаемые эксперты. Пытаюсь выставлять ориентацию как у Вас в примере - но выбивает ошибку что неизвестный метод PageSetup. ComObj подключен в uses. Что я делаю не так?

Код:
var
  WordApp, NewDoc, WordTable: Variant;
  iRows, iCols, iGridRows, jGridCols: Integer;
begin
  try
    //попытка создать экземпляр ворда
    WordApp := CreateOleObject('Word.Application');
  except
    Exit;
  end;

  //включаем видимость
  WordApp.Visible := True;

  //создаем документ
  NewDoc := WordApp.Documents.Add;
  NewDoc.PageSetup.Orientation := wdOrientLandscape;

  //указываем кол-во строк и столбцов
  iCols := 8;
  iRows := Form1.DataSource1.DataSet.RecordCount;

  if iRows>0 then
  begin
  //создаем таблицу
  WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iRows+1, iCols);

  //zagolovki
  WordTable.Cell(0, 1).Range.Text:='ID';
  WordTable.Cell(0, 2).Range.Text:='Дата';
  WordTable.Cell(0, 3).Range.Text:='Выявление_несоответствия';
  WordTable.Cell(0, 4).Range.Text:='Код';
  WordTable.Cell(0, 5).Range.Text:='Мероприятия';
  WordTable.Cell(0, 6).Range.Text:='Ответсвенный';
  WordTable.Cell(0, 7).Range.Text:='Сроки';
  WordTable.Cell(0, 8).Range.Text:='Отметка';

    //переносим строки
    Form1.DataSource1.DataSet.First;
    for iGridRows := 1 to iRows do
    begin
    for jGridCols := 1 to iCols do
      WordTable.Cell(iGridRows+1, jGridCols).Range.Text:=Form1.DataSource1.DataSet.Fields[jGridCols-1].AsString;
    Form1.DataSource1.DataSet.Next;
    end;

  //очистка
  WordApp := Unassigned;
  NewDoc := Unassigned;
  WordTable := Unassigned;
  end;
Прикладываю весь пример с исходным кодом: ИСХОДНЫЙ КОД
Armageddets вне форума Ответить с цитированием
Старый 23.11.2018, 11:33   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

извините, я исходный код не смотрел.
Но, может быть, поможет банальная замена wdOrientLandscape
на константу (согласно оф.сайта, это просто 1)

Код:
  NewDoc.PageSetup.Orientation := 1; {wdOrientLandscape}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.11.2018, 12:54   #7
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
извините, я исходный код не смотрел.
Но, может быть, поможет банальная замена wdOrientLandscape
на константу (согласно оф.сайта, это просто 1)

Код:
  NewDoc.PageSetup.Orientation := 1; {wdOrientLandscape}
Спасибо огромное - помогло!
Armageddets вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить параметры некоторых компонентов страницы в Webbrowser postal2 Работа с сетью в Delphi 0 02.04.2009 20:15
Цвет страницы и текста в Word 2003. Рубеж Microsoft Office Word 4 24.11.2008 10:06
Word 2003 не работает "Параметры" tatav Microsoft Office Word 4 01.04.2008 15:00
Delphi, Excel и параметры страницы Nemez Microsoft Office Excel 2 14.02.2008 19:34
Как сделать разрыв страницы печати по условию и узнать номер страницы Leanna Microsoft Office Excel 2 21.01.2008 06:59