Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi+COM [D3, D6, Win95/98]


Ru ©   (2002-10-02 15:32:00) 

Привет.
Кто-нибудь знает как написать модуль для MS Office (желательно инструкцию для полного тупицы). Есть статья в журнале "Компьютер прес", но их пример работает, а статья написана таким жутким образом (для меня во всяком случае), что раза с третьего я понял где у нее начало.
На худой конец подскажите как из MS Word вызвать функцию DLL, я где-то видел подобное, но сейчас не могу нигде найти.
Заранее благодарен!

Ru


Ru   (2002-10-04 10:08:00) [1]

Нашел.
Не совсем то, но нашел описание процесса создани СОМ объекта для начинающих.

Выражую глубокую признательность и благодарность всем откликнувшимся.

Уважаемый Aleksey Pavlov приведенный вами пример я уже видел, но, к сожаленью это не совсем то, что мне надо. Я пишу назовем его плагином к Word, чтобы управлять внешней программой, передавать и получать данные от этой программы, получать данные от пользователя.

Уважаемый yaJohn я вам выслал оба описания. Надеюсь вы их получите(ли).

Уважаемый REA буду рад любой помощи даже если разберусь сам.

04.10.2002


REA   (2002-10-02 17:59:00) [2]

У меня тут сотрудник кстати воюет с XLL. COM уже победил, но там все-равно DLL приделывать надо для функций. Как победит - вышлю кусок кода.


Aleksey Pavlov   (2002-10-02 16:27:00) [3]

К примеру:

procedure TForm1.Button1Click(Sender: TObject);
var
Excel,WorkBook,Sheet1,Sheet2,Chart: variant;
Sheet,SeriesCollection: Variant;
vrange: variant;
i,j: integer;
begin
Excel:= CreateOleObject("Excel.Application");//создаем экземпляр объекта автоматизации
Excel.Visible:=cbExcelVisible.Checked;
Excel.SheetsInNewWorkbook := 2;//колическтво рабочих листов в создаваемой книге
WorkBook:=Excel.Workbooks.Add;//создание новой рабочей книги
Sheet1:=WorkBook.WorkSheets[1];
Sheet2:=WorkBook.WorkSheets[2];
Chart:=WorkBook.Charts.Add;//создание новой диаграммы
Sheet1.Name:="Table 1";//переименование рабочего листа
Sheet2.Name:="Table 2";
for j:=1 to 2 do
begin //заполнение ячеек
Sheet:=WorkBook.WorkSheets[j];
for i:=1 to 11 do
begin
Sheet.Cells.Item[i,1].Value:=i;
Sheet.Cells.Item[i,2].Value:=i*2;
end;
end;
vrange:=Sheet1.range["A1:A10"];
SeriesCollection:=Chart.SeriesCollection;
SeriesCollection.Add(vrange);
vrange:=Sheet2.Range["B1:B10"];
SeriesCollection.Add(vrange);
Excel:=UnAssigned;
end;


REA   (2002-10-02 16:25:00) [4]

XLL: http://www.howtodothings.com/showarticle.asp?article=187
COM: http://www.compress.ru/Temp/1771/index.htm


Aleksey Pavlov   (2002-10-02 16:23:00) [5]

Если я правильно понял, то необходимо написать контролер автоматизации для работы с офисом. Если так, то просто импортируете необходимую библиотеку типов и работаете с Word-ом/Excel/Outlook/PowerPoint/Access-ом как и с обычным сервером автоматизации (которым они и являются).
Imho примеров предостаточно.
Или я немного не понял вопроса?


yaJohn   (2002-10-02 16:16:00) [6]

Я этим вопросом доставал мастаков вчерась целые сутки. Тишина - гробовая. Сам пока ничего не нарыл. Но если можно - примерчик этот на мыло, плизссс.
Если разберусь - непременно поделюсь result.


Наверх

Титульная страница Поиск, карта сайта Написать письмо