Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

Как и откуда вытащить все имена процедур, функций и констант VBA   Найти похожие ветки 

 
Slym ©   (2003-10-10 08:06) [0]

Как и откуда вытащить все имена процедур, функций и констант VBA.
Редактор VBA берет откуда-то!


 
KSergey ©   (2003-10-10 08:22) [1]

О каких именно константах идет речь?
Расскажите миру, для какого COM-сервера MS Office (как я подозреваю) вы пытаетесь работать.


 
Digitman ©   (2003-10-10 08:24) [2]

какого VBA ? конкретно ?
речь идет о реализации какого-то из VBA для одного из продуктов в составе МС ОФиса ?

эта инф-ция хранится как правило в отдельных файлах с расширением *.olb (Object Library) или *.tlb (Type Library)

библиотеки типов как правило регистрируются продуктом, их представляющим, в реестре, в ключе HKEY_CLASSES_ROOT\TypeLib, после чего они становятся доступными для импорта в Делфи (см. Project | Import Type Library ..)


 
Digitman ©   (2003-10-10 08:28) [3]

кр.того, в составе MS Visual Studio есть GUI-утилита OLEView.exe - отличный помощник в просмотре и исследовании зарегистрированных в системе фабрик классов и библиотек типов


 
Slym ©   (2003-10-10 08:36) [4]

TScriptControl
для него пишу редактор выражений... и соответственно нужен список процедур языка VBA... для работы со строками, датами и пр.


 
Digitman ©   (2003-10-10 08:52) [5]


> нужен список процедур языка VBA


хм...
ну, предположим, получил ты этот список ...
предположим, в списке имеется имя ф-ции "CStr", которую любой VBA-интерпретатор успешно распознает и исполняет

как ты намерен заставить VBA-интерпретатор исполнить эту ф-цию ?


 
Slym ©   (2003-10-10 09:05) [6]

TScriptControl - MicrosoftScriptControl
он понимает VBA, JScript и пр.
res:=TScriptControl.Eval("CStr(12+6)");
res - "18"!


 
Digitman ©   (2003-10-10 09:51) [7]

выполни импорт библиотеки типов в составе, например, файла VBA332.DLL... там то, что тебе нужно


 
Slym ©   (2003-10-10 10:15) [8]

2 Digitman
А подробнее... Куском кода
Ну импортировал... А куда тыкаться?


 
Slym ©   (2003-10-10 10:30) [9]

Тыкаюсь по интерфейсам- ничего не зарегистрированно.
а сама dll без DllRegisterServer


 
Slym ©   (2003-10-10 12:38) [10]

2 Digitman
Так и напиши "Незнаю"...


 
me   (2003-10-10 12:58) [11]

MSDN -> Platform SDK Documentation -> Tools and Scripting -> Scripting -> Windows Script Technologies -> VBScript (JScript)


 
Digitman ©   (2003-10-10 13:40) [12]


> Slym


я-то ,может, и "не знаю", но решить задачу мне не составит труда при необходимости, даже если "не знаю")

а вот ты, сударь, сидишь и ждешь готовенькое, всместо того чтобы рыться в док-ции и хэлпах. Лентяй !

гляди сюда , набросал тебе примерную логику, коль сам не всостоянии головой подумать)
дальше сам пляши от этой схемы
и книжку себе купи "Разработка COM-приложений в среде Delphi" Эрика Хармона.. взял я эту книжку и без особого труда за полчаса получил решение, хотя на практике ни разу не требовалось все это


//перечисление имен ф-ций
procedure TForm1.Button1Click(Sender: TObject);
var
itl: ITypeLib;
iti: ITypeInfo;
hr: hresult;
i, j: integer;
pta: PTypeAttr;
pfd: PFuncDesc;
AName, ADocStr: WideString;
AHelpContext: Integer;
begin
hr := LoadTypeLib(Widestring("C:\Program Files\Common Files\Microsoft Shared\VBA\vba332.dll"), itl);
olecheck(hr);
for i:= 0 to itl.GetTypeInfoCount - 1 do
begin
itl.GetTypeInfo(i, iti);
olecheck(iti.GetTypeAttr(pta));
try
case pta^.typekind of
TKIND_MODULE:
for j:= 0 to pta^.cfuncs - 1 do
begin
olecheck(iti.GetFuncDesc(j, pfd));
iti.GetDocumentation(pfd^.memid, @AName, @ADocStr, @AHelpContext, nil);
memo1.lines.add(aname);
end;
end;
finally
iti.ReleaseTypeAttr(pta);
end;
end;
end;



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

Текущий архив: 2003.10.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
14-74393
Nik8.
2003-10-03 11:49
2003.10.23
Где взять примеры драйверов ?


4-74523
Raki
2003-08-17 23:18
2003.10.23
WM_USER посылаемый из DLL в неактивное окно


14-74380
Delphi5.01
2003-10-02 18:18
2003.10.23
Vopros dla zavala!


1-74292
Chuha
2003-10-12 21:24
2003.10.23
listbox


14-74415
kopcap
2003-10-05 19:43
2003.10.23
Вопрос тем кто играет в Tibia