Може ли ????
6 отговора
230 прегледа
Може ли ????
Здравейте .
Може ли Делфи да отваря / това го може/ бланка под Word и после на определените места да попълни бланката. После да я запише пак като Word документ.
Предварително благодаря
Ще черпя
Може ли Делфи да отваря / това го може/ бланка под Word и после на определените места да попълни бланката. После да я запише пак като Word документ.
Предварително благодаря
Ще черпя
Re: Може ли ????
Може. Но за съжаление нямам готов и пълен пример за целта. За да отвориш Word можеш да използваш следния код:
var Word: variant;
Word := CreateOleObject('Word.Application');
Word.Visible := True;
Естествено, Word-а трябва да е инсталиран и да е от 97 нагоре. Можеш да разгледаш структурата на класовете на Word в неговия си хелп или да си свалиш готови примери от Internet. Успех.
P.S. Пиша на изуст.
Mixy
var Word: variant;
Word := CreateOleObject('Word.Application');
Word.Visible := True;
Естествено, Word-а трябва да е инсталиран и да е от 97 нагоре. Можеш да разгледаш структурата на класовете на Word в неговия си хелп или да си свалиш готови примери от Internet. Успех.
P.S. Пиша на изуст.
Mixy
Re: Може ли ????
С две думи: правиш макрос на Word който ти попълва бланката. После кода от макроса го пренасяш върху обекта Word.
Ето един линк в който е показано как става:
[линк]
чети и дишай по-леко
Ето един линк в който е показано как става:
[линк]
чети и дишай по-леко
Re: Може ли ????
Благодаря и на двамата. Ще опитам и ще видя кво ще стане.
Ще чета и ще дишам по-леко
И ако стане ЩЕ ЧЕРПЯ
Ще чета и ще дишам по-леко
И ако стане ЩЕ ЧЕРПЯ
Re: Може ли ????
Може.
За да дефинираш "определените места", най-лесно е да ползваш TextBox. От toolbar-a Forms избираш "Text Form Field", поставяш го на желаното място и после от Properties на textfield-а му задаваш име в полето Field Settings -> Bookmark.
След това в Делфи имаш нещо от сорта :
_ _ _
Time is like a drug. Too much of it kills you.
За да дефинираш "определените места", най-лесно е да ползваш TextBox. От toolbar-a Forms избираш "Text Form Field", поставяш го на желаното място и после от Properties на textfield-а му задаваш име в полето Field Settings -> Bookmark.
След това в Делфи имаш нещо от сорта :
...
uses ComObj;
...
var Word, Workbook : OleVariant;
...
Word := CreateOleObject ( 'Word.Application' );
Word.Visible := false;
Workbook := Word.Documents.Open ( 'c:\path\file.doc' );
...
Workbook.FormFields.Item('BookmarkName1').Result := 'value1';
Workbook.FormFields.Item('BookmarkName2').Result := 'value2';
Workbook.FormFields.Item('BookmarkName3').Result := 'value3';
...
Workbook.SaveAs ( 'c:\path\new_file.doc' );
Word.Quit;
Word := Unasigned;
.....
_ _ _
Time is like a drug. Too much of it kills you.
Re: Може ли ????
Даже си бях писал компонент който да го прави автоматично (остана в старата фирма:( )
Бях го направил с тагове, които се заместват в последствие. Нещото работеше на базата на TMSWordApplication и TMSWordDocument.
-------------
Special killer double trouble triple extra nicotine monster!
Бях го направил с тагове, които се заместват в последствие. Нещото работеше на базата на TMSWordApplication и TMSWordDocument.
-------------
Special killer double trouble triple extra nicotine monster!
Re: Може ли ????
10х Това е най пълното обяснение което съм получавал във форума.
Благодаря , ще се опитам веднага да го приложа
Благодаря , ще се опитам веднага да го приложа