Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];

Вниз

Delphi-MSWord, как получить "разрыв" страницы?   Найти похожие ветки 

 
s_t_d   (2010-01-27 18:01) [0]

Уважаемые мастера, если можно пожалуйста посоветуйте. В ходе работы приложения необх. сформировать документ в формате MSWord.
Как создавать документ и заносить в него данные я научился. А вот, что не получается. Необходимо создать "разрыв" страницы. И вот тут не выходит... Макрорекодер MSWord пишет "Selection.InsertBreak Type:=wdPageBreak". А вот Delphi соответствующий фрагмент "  v.ActiveDocument.Range.InsertBreak(wdPageBreak);" приводит к ВСТАВКЕ НОВОЙ СТР. В НАЧАЛО документа, а вовсе не к "разрыву", как хотелось бы... В чем дело ?


 
Smile   (2010-01-27 19:59) [1]

Так пробовал?

var xxl: Olevariant;
...
   xxl:= wdSectionBreakContinuous;
   wordapp.selection.InsertBreak(xxl);


возможно решит проблему:)


 
s_t_d   (2010-01-27 20:36) [2]

>Smile   (27.01.10 19:59) [1]
Попробовал. Не помогло. Конкретно: вооще никакой реакции, т.е. текст идет сплошняком, без всяких "разрывов".


 
Плохиш ©   (2010-01-27 20:48) [3]

Selection.InsertBreak Type:=wdPageBreak


 
s_t_d   (2010-01-27 20:55) [4]

>Плохиш ©   (27.01.10 20:48) [3]
Так я делап с самого начала (мс. вопрос). Не получается. ДОБАВЛЯЕТСЯ СТР. В НАЧАЛО ДОКУМЕНТА.


 
Smile   (2010-01-27 21:19) [5]

> s_t_d   (27.01.10 20:36) [2]
> >Smile   (27.01.10 19:59) [1]

Для меня это по крайней мере странно. В моих "конструкциях" это имеет соответствующий эффект

Приведи хотя бы несколько строк твоего кода.
Типа:
...TWordApplication.Create(Form1);
...AutoConnect:= True;


ну и т.п.
иначе трудно что либо обсуждать
:(


 
s_t_d   (2010-01-27 21:53) [6]

>Smile   (27.01.10 21:19) [5]
Процедура  insert_2()   должна создавать "разрыв"

//Процедура создания приложения "Word.Application"
procedure create_Word_Application();
begin
 v:=CreateOleObject("Word.Application");
 v.visible:=false;
end;
//
//Процедура открытия документа "Word.Application"
procedure open_doc(wd: String);
begin
 v.documents.open(wd);
end;
//
//Процедура вставки параграфа в конец имеющегося текста
procedure insert_1(t: String);
begin
 v.ActiveDocument.Range.InsertParagraphAfter;
 v.ActiveDocument.Paragraphs.Last.Range.text := t;
end;
//
//
//Процедура ***
//Параметр
// t - вставляемый текст.
procedure insert_2;
var x: Olevariant;
begin
x := wdPageBreak;
v.ActiveDocument.Range.InsertBreak(x);
end;
//
//Процедура сохранения документа "Word.Application"
procedure save_doc_as(wd: String);
var
path: string; //
begin
 path :="C:\hemo_dlph\depart_hd\ISOD_01\DOC\TMP_DOC\";
 path := path + wd;
 v.ActiveDocument.saveas(path);
end;
//
//Процедура сохранения документа "Word.Application"
procedure save_doc_as_1(wd: String);
var
path: string; //
begin
 path :="C:\hemo_dlph\depart_hd\ISOD_01\DOC\TMP_ГНЦ\";
 path := path + wd;
 v.ActiveDocument.saveas(path);
end;
//
//Процедура закрытия приложения "Word.Application"
procedure quit_Word_Application();
begin
 v.Quit;
end;
//****************************************************
//
//Направление в ...
 //1.1.Создание приложения "Word Application"
       create_Word_Application();
 //
 //1.2.Открытие рабочей книги (шаблона)
       wd := "GNC.doc";
       wd := ExpandFileName(wd); //Дополнение имени документа текущим каталогом
       open_doc(wd);
 //
 //1.3.Заголовок документа
       t := "Учреждение, направившее больного ...";
       insert_1(t);
       t := "";
       insert_1(t);
 //2.Пациент
     t := "Пациент:  " + F_rg_int_1.Edit3.Text; //Ф.И.О. пациента
     insert_1(t);
 //Лабораторные данные
     t := "";
     insert_1(t);
     t := "Лабораторные данные: ";
     insert_1(t);
 //
   insert_2();
 //Страница ГНЦ.
     t := "";
     insert_1(t);
     insert_1(t);
 //1.1.Жалобы.
     t := "Жалобы."; //Подзаголовок
     insert_1(t);
 //1.4.Сохранение документа
 //Формировение имени документа и сохранение документа в папке
   t := "ex_1";
   save_doc_as_1(t);
 //
 //1.5.Закрытие приложения "Word Application"
       quit_Word_Application();
 //


 
Плохиш ©   (2010-01-27 23:29) [7]


> s_t_d   (27.01.10 21:53) [6]

Мне свои глаза дороже.


 
oldman ©   (2010-01-28 08:53) [8]

А если вставить в текст символ с кодом Ctrl-Enter?
:)

Раньше надо было вставлять chr(12)...


 
12 ©   (2010-01-28 09:37) [9]

может надо найти как встать на конец документа перед вставкой?


 
s_t_d   (2010-01-28 20:05) [10]

>oldman ©   (28.01.10 08:53) [8]
>12 ©   (28.01.10 09:37) [9]
Спасибо. Да, видимо, действительно перед вставкой разрыва следует перейти в конец документа. Макрорекодер MSWord пишет: "Selection.EndKey Unit:=wdStory". А как это интерпетировать в Delphi? Попытка сделать так "  v.ActiveDocument.Range.EndKey(wdStory)" к успеху не привела. Сообщает, что неизвестен "EndKey". Не понимаю, как интерпретировать параметр "Unit:=wdStory". Если есть идеи, пожалуйста поделитесь...


 
YurikGL ©   (2010-01-29 19:43) [11]

Vr: OleVariant;
...
vr:=wdStory;
w1.Selection.EndKey(vr,EmptyParam);

http://www.delphimaster.ru/articles/dbtoword/index.html


 
s_t_d   (2010-01-30 00:18) [12]

>YurikGL ©   (29.01.10 19:43) [11]
Большое спасибо. Очень интересная работа.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1265307465
VirusO4eK
2010-02-04 21:17
2010.04.04
Try ... Except не перехватывает ошибку


15-1262053212
brother
2009-12-29 05:20
2010.04.04
Отчет в FastMM


2-1264852724
helluvaname
2010-01-30 14:58
2010.04.04
ADOTable.InsertRecord+autoincr field


10-1138600010
маленький мук
2006-01-30 08:46
2010.04.04
Номер столбца в Excel по его букве


11-1214986969
Nikfel
2008-07-02 12:22
2010.04.04
Как работать с компонентом TKolSAComboBoxEx.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский