Работа с Word от Delphi
Проблемът е следният: Когато използвате компонентите Delphi TWordApplication и TWordDocument, програмата работи само с тази версия на Office (Word) cat. стои на машината на разработчика. Да, и те не са много удобни за работа. Опитах да използвам следнияvar MSWORD:Variant; започнете MSWORD:=CrateOleObject("Word.Basic"); MSWord.FileNewDefault; .Не мога да намеря разумно ръководство за командите на WordBasic и какво би работило нормално под Delphi В помощта за Visual Basic нищо не е наистина ясно. Например: командата MSWORD.FileSaveAs трябва да запише файла с желаното име, но не го прави. Помогнете, моля, да се справите с WordBasic - не намерих нищо разумно в мрежата (използването на Word.Application не е подходящо, защото е твърде объркано)
когато инсталирате Delphi (поне на 6) пита дали сте инсталирали съответно office 2000 или office 97 и инсталира модули word2000 или word97 при извикване на методи на Word 2000 в процедури и функции се предават повече параметри съответно - определете версията на харесването и продължете
при използване на "Word.Basic" няма проблеми с версията на Word. Но не можах да намеря разумно описание на този много WordBasic.
Да, TWordApplication е странно (от гледна точка на версии) Имам някои съмнения относно създадения Word.Basic обект. Що за обект е това? (Не казвам, че не съществува, но какво е?)
>MSWORD.FileSaveAs - на теория трябва да запази файла Чия е идеята? от вади? ;) Е, никога не знаеш какви идеи бродиш. Няма много общо с Word. ;)
Изобщо порови се във форума и въобще в интернет: примериработа с Word - планини.
Отивате в Word. Активирайте „Стартиране на запис на макрос“. Правите каквото трябва и след това гледате текста на макроса. С малки промени го вмъквате в програмата си.
Това е проблемът - макросът е написан с команди на Visual Basic "a, и имам нужда от WordBasic, който се използва при създаване на обект CreateOleObject("word.basic").
Намерих описание на разликите между Visual Basic и WordBasic в MSDN, но не можах да намеря разумно описание на командите на WordBasic. Някой има ли такъв?
о момчета >MetalFan666 Това е проблемът - макросът е написан с команди на Visual Basic" и Не VB, а VBA - но това няма значение, защото просто ви трябват. Въпросът е, че командите ще бъдат същите. И да се създаде, например, най-добрият начин (за да не се обвързва с версията на Word), но като цяло, когато писах под TWordApplication (избрах Word 97) на Word2000 нямаше проблеми. (поддръжка отгоре надолу)
var vSaveChanges, vFileName, vFileFormat, vFileNameTemplate, vIsNewTemplate: OleVariant; започнете wordApp:= CreateOleObject("Word.Application"); //wordApp.Connect; vFileNameTemplate := ""; vIsNewTemplate := False; wordApp.WindowState := wdWindowStateMaximize; wordApp.Visible := True; wordApp.Documents.Add(vFileNameTemplate, vIsNewTemplate); //няма да запазим vSaveChanges := False; wordApp.ActiveDocument.Close(vSaveChanges, emptyParam, emptyParam); //ще бъдем vFileName := WorkReportsDir + "ReadMe.doc"; vFileFormat := wdFormatDocument; wordApp.ActiveDocument.SaveAs(vFileName, vFileFormat, празенПарам, празенПарам, празенПарам, празенПарам, празенПарам, празенПарам, празенПарам, празенПарам,emptyParam); vSaveChanges := wordApp.ActiveDocument.Saved; wordApp.ActiveDocument.Close(vSaveChanges, emptyParam, emptyParam); wordApp.Disconnect; край;
Опитвам. Накратко, няма проблеми и искате ли помощ (Word или Excel)? Напишете ми сапун и ще ви кажа - просто опишете подробно какво ви трябва.
Е, не знам кое е сложното и тромавото тук. Office по своята същност е тромав EmptyParam - почти нищо - в сравнение с нерешения проблем WordBasic? Разбира се, не съм го пробвал, но наистина ли имат различен команден формат и команди по същество? Не мисля така. Защо да се заблуждавате? Просто Word.Application е универсален и няма обвързване с версията и има много функции и информация за тях
> Просто Word.Application е общ и не е обвързан с версия > и много функции и информация за тяхПо принцип съм съгласен. Можете ли да ми изпратите линк към българските ръководства? Първо ми трябва пътеката. възможността за работа с Word: Вмъкване на таблици, Замяна на шаблонни етикети (@@1,@@2,@@3. ) с данните, от които се нуждая и т.н. Благодаря предварително :)))))))))))))
Чувствайте се свободни да отидете на http://blackman.km.ru/prg.html И да изтеглите там myprog.zip - Източник (единица) - функциите са малки, но полезни. Основно за работа с WORD. Единица съдържа: функция CurrentFileInfo(NameApp : низ) : низ; Функция MyEmptySet(inSet:TDataSet):boolean; //изходни данни към Word процедура WordInsertText(Текст: низ); //процедура за търсене на отметки в WORD документ и навигиране през тях procedure WordInsertFile(Text: string); // вмъкване на файл процедура WordRunMacros(rmacros: низ); procedure WordGotoBookmark(rBookmark: низ); процедура WordDeleteBookmark(rBookMark: низ); Връща номера на първия знак или null> функция Isk( oТаблица:TTable;varIstr:String; var Pstr:String) : цяло число; // изтриване на файлове След КРАЙ. пример за работа с WORD с помощта на тези функции. Успех в работата и личния живот!
> DerrSenks :))) Но бих искал да кажа няколко думи за WordBasic.
Правех този вид боклук в Word 7 и след това помощта за VBA (Visual Basic за приложения) беше включена с него - всичко, от което се нуждаете за VBA, беше там.
Момчетата ви дадоха правилния съвет преди: включете "макро запис" и правете каквото искате, поне таблици вкарвайте, поне нещо друго. И след това гледайте този макрос и го поставете в любимата си програма!
Мога да препоръчам следните връзки http://support.microsoft.com/default.aspx?sc > http://www.geocities.com/SiliconValley/Station/7929/delphi.html http://delphi.abydos.nl http://www.chez.com/herveroz Това са предимно компоненти с изходни кодове, може би нещо ще работи като пример.
Благодаря на всички - pokapalsya - разбрах го :)))