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

Вниз

Работа с Word ом из Delphi   Найти похожие ветки 

 
MetalFan666   (2002-04-12 08:55) [0]

Проблема следующая:
При использовании компонентов Делфи TWordApplication и TWordDocument программа работает только с той версией Офиса (ворда), кот. стоит на машине разработчика. Да и работать с ними не очень удобно...
Попробовал использовать следующее
var
MSWORD:Variant;
begin
MSWORD:=CrateOleObject("Word.Basic");
MSWord.FileNewDefault;
...

Не могу найти толкового Мануала по камондам WordBasic"а, да еще, что бы под Делфями нормально работало...
В помощи по Visual Basic"у ничего толком не понятно...
Например: команда MSWORD.FileSaveAs - по идее должна сохранять файл с нужным именем, но этого не делает.
Помогите, плиз, разобраться с WordBasicом - в нете ничего толкового не нашел(использование Word.Application не подходит, т.к. слишком заморочено)


 
Belov   (2002-04-12 09:14) [1]

у тебя при установке Дельфи ( во всяком случае в 6 )
спрашивает установлен ли у тебя office 2000 or office 97
соответствено и устанавливает модули word2000 or word97
фишка заключается в том, что программы написанные для word2000
могут не работать под word97, т.к. при вызове методов ворда 2000
в процедурах и функциях передается больше параметров
соответствено - определяй версию врода и вперед


 
MetalFan666   (2002-04-12 09:31) [2]

при использовании "Word.Basic" не возникает проблем с версией ворда. Но я не смог найти толковое описание этого самого WordBasic"а.


 
KSergey   (2002-04-12 09:47) [3]

Да, TWordApplication он капризный (в смысле версий)
Вот на счет создаваемого объекта Word.Basic - я бы как-то посомневался... Что это вообще за объект такой? (я не говорю, что его нет, но что это?)

>MSWORD.FileSaveAs - по идее должна сохранять файл
По чьей идее? По вадей? ;) Ну мало-ли какие идеи у вас бродят... К ворду это имеет малое отношение. ;)

А вообще пошарьтесь по форуму и по инету вообще: примеров работы с вордом - горы.


 
sunwheel   (2002-04-12 09:49) [4]

Заходишь в Word. Включаешь "Начать запись макроса". Делаешь, что необходимо, а потом смотришь текст макроса. С небольшими изменениями вставляешь его в свою программу.


 
MetalFan666   (2002-04-12 10:20) [5]

В том то и проблема - Макрос пишется командами Visual Basic"а,
а мне нужен WordBasic, кот. и используется при создании объекта CreateOleObject("word.basic").


 
SEM   (2002-04-12 10:56) [6]

Я находил описание различий между Visual Basic и WordBasic в
MSDN, а толкового описания команд WordBasic так и не нашел.
Может у кого есть?


 
Севостьянов Игорь   (2002-04-12 10:57) [7]

Ох ребятки...
>MetalFan666 В том то и проблема - Макрос пишется командами Visual Basic"а
Не VB, а VBA - но это не важно т.к. как раз они тебе и нужны...
Дело в том что команды будут одинаковые...
А создавать например лучшее так (чтобы не привязываться к версии Word), а вообще когда я писал под TWordApplication (у меня был выбран Word97) на Word2000 проблем не возникло... (поддержка сверху вниз)

var
vSaveChanges,
vFileName,
vFileFormat,
vFileNameTemplate,
vIsNewTemplate: OleVariant;
begin
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, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam,emptyParam);
vSaveChanges := wordApp.ActiveDocument.Saved;
wordApp.ActiveDocument.Close(vSaveChanges, emptyParam, emptyParam);
wordApp.Disconnect;
end;


Попробуй...
Короче проблем нет и не было хочешь помощи (Word or Excel)?
Пиши мне на мыло я тебе подскажу - только подробно опиши че те надо...


 
MetalFan666   (2002-04-12 11:14) [8]

через Word.Application все получатся очень громоздко...
нужны EmptyParam.
согласен с SEM © - трудно найти толковое описание, а оно мне как раз и нужно.
спасибо за совет Севостьянову Игорю, но, к сожалению, я от этого Word.Application и пытаюсь уйти с помощью Word.Basic"а.
Может кто-нить что нить знает про команды WordBasic?


 
Севостьянов Игорь   (2002-04-12 11:22) [9]

Ну не знаю, что тут сложного и громоздкого Office по сути своей громоздкий
EmptyParam - очень даже ничего - по сравнению с нерешенной проблемой
WordBasic ? Я конечно не пробовал, но неужели у них разный формат команд и команды в сущности ? Мне так не кажется...
Зачем морочить голову ? Просто Word.Application универсален и нет привязки к версии и функций куча и информации по ним
Но дело хозяйское


 
MetalFan666   (2002-04-12 11:44) [10]


> Просто Word.Application универсален и нет привязки к версии
> и функций куча и информации по ним

В принципе согласен...
Можете мне ссылочку что-ль кинуть на русские мануалы?
мне в первую очередь нужны след. возможности работы с Вордом:
Вставка таблиц,
Замена меток шаблона (@@1,@@2,@@3...) на необходимые мне данные и т.п.
Заранее спасибо :))))))))))))


 
Derr   (2002-04-12 13:10) [11]

Смело идем на
http://blackman.km.ru/prg.html
И качаем там
myprog.zip - Исходник(unit) -функции небольшие, но полезные.
В основном для работы с WORD.
Unit содержит:
function CurrentFileInfo(NameApp : string) : string;
Function MyEmptySet(inSet:TDataSet):boolean;
//вывод данных в Word
procedure WordInsertText(Text: string);
//процедура поиска закладок в документе WORD и перехода по ним
procedure WordInsertFile(Text: string);
// вставка файла
procedure WordRunMacros(rmacros: string);
procedure WordGotoBookmark(rBookmark: string);
procedure WordDeleteBookmark(rBookMark: string);
{Поиск значения в колонке таблицы Функция требует на входе аргумент типа TTable (например, Table1), что ищем, имя поля где ищем.
Возвращает номер первого символа или ноль}
function Isk( oTable: TTable;var Istr:String; var Pstr:String) : integer;
// удаление файлов
За END. пример работы с WORD при помощи этих фукций.
Успехов в труде и личной жизни !


 
MetalFan666   (2002-04-12 13:19) [12]


> Derr

Сенькс :)))
Но хотелось бы че-нить бо WordBasic"у....


 
Vlad+   (2002-04-12 13:28) [13]

Я такой фигней занимался еще в ворд 7 и тогда в поставке с ним был VBA Help (Visual Basic for Applications) - там все нужное про VBA было.


 
Tot   (2002-04-12 22:34) [14]

Мужики вам раньше правильный совет дали: включешь "record macro" и делаешь что хочешь, хоть таблицы вставляешь, хоть ещё что-то. И потом смотри этот макро и вставляй в свою любимую программу!


 
TsS   (2002-04-13 01:12) [15]

Могу порекомедовать следующие ссылки
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q229310
http://www.geocities.com/SiliconValley/Station/7929/delphi.html
http://delphi.abydos.nl
http://www.chez.com/herveroz
Здесь в основном компоненты с исходниками, может что нибудь подойдет в качестве примера.


 
MetalFan   (2002-04-15 10:55) [16]

Всем Спасибки - покапался - разобрался :)))



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

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

Наверх





Память: 0.48 MB
Время: 0.008 c
1-23611
KIR
2002-06-25 13:28
2002.07.08
Путь к каталогу, в котором установлена Windows


4-23827
mifi
2002-05-09 00:47
2002.07.08
TAPI функции


1-23609
Zamiran
2002-06-25 15:13
2002.07.08
Пример пожалуйста!!!!


1-23603
BKV
2002-06-25 12:10
2002.07.08
Как считываются свойства компонента в design-Time?


14-23773
SPeller
2002-06-06 10:29
2002.07.08
Компилятор Дельфей





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский