Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизКак связать TExcelWorkBook с объектом xApp = GetActiveObject(xl); Найти похожие ветки
← →
serg128 © (2004-04-23 12:08) [0]Т.е. проблема такая: создаю экземпляр Excel:
Variant xApp, prop;
Excel_2k::_WorkbookPtr v;
try
{
xApp = Variant::GetActiveObject("Excel.Application");
}
catch(...)
{
try
{
xApp = Variant::CreateObject("Excel.Application");
}
catch(...){}
}
xApp.OlePropertySet("Visible", true);
xApp.OlePropertyGet("WorkBooks").OleProcedure("add");
prop = xApp.OlePropertyGet("ActiveWorkBook");
На форме лежит компонент типа TExcelWorkBook, мне его нужно связать с созданным экземпляром Excel. Помогите плиз.
P.S. пользоваться TExcelApplication просьба не предлагать, понимаю что это бред, но нужно сделать именно так.
← →
serg128 © (2004-04-23 12:08) [0]Т.е. проблема такая: создаю экземпляр Excel:
Variant xApp, prop;
Excel_2k::_WorkbookPtr v;
try
{
xApp = Variant::GetActiveObject("Excel.Application");
}
catch(...)
{
try
{
xApp = Variant::CreateObject("Excel.Application");
}
catch(...){}
}
xApp.OlePropertySet("Visible", true);
xApp.OlePropertyGet("WorkBooks").OleProcedure("add");
prop = xApp.OlePropertyGet("ActiveWorkBook");
На форме лежит компонент типа TExcelWorkBook, мне его нужно связать с созданным экземпляром Excel. Помогите плиз.
P.S. пользоваться TExcelApplication просьба не предлагать, понимаю что это бред, но нужно сделать именно так.
← →
Alex* (2004-04-23 12:56) [1]
> serg128 © (23.04.04 12:08)
На сайте Королевство DELPHI есть с три статьи "По волнам интеграции" там написано как раз то что нужно
А связать можноfunction TForm1.IExcelApp(Template : OleVariant):TExcelApplication;
begin
IBookPrice := TExcelApplication.Create(Self);
IBookPrice.ConnectKind := ckNewInstance;
IBookPrice.Connect;
if IBookPrice[0].WindowState[0] = TOLEEnum(xlMinimized) then
IBookPrice.WindowState[0] := TOLEEnum(xlNormal);
IBookPrice.ScreenUpdating[0] := true;
IBookPrice.Workbooks.Add(Template, 0);
Result:= IBookPrice;
end;
IBookPrice: TExcelApplication
← →
Alex* (2004-04-23 12:56) [1]
> serg128 © (23.04.04 12:08)
На сайте Королевство DELPHI есть с три статьи "По волнам интеграции" там написано как раз то что нужно
А связать можноfunction TForm1.IExcelApp(Template : OleVariant):TExcelApplication;
begin
IBookPrice := TExcelApplication.Create(Self);
IBookPrice.ConnectKind := ckNewInstance;
IBookPrice.Connect;
if IBookPrice[0].WindowState[0] = TOLEEnum(xlMinimized) then
IBookPrice.WindowState[0] := TOLEEnum(xlNormal);
IBookPrice.ScreenUpdating[0] := true;
IBookPrice.Workbooks.Add(Template, 0);
Result:= IBookPrice;
end;
IBookPrice: TExcelApplication
← →
serg128 © (2004-04-23 13:14) [2]Спасибо, я похоже разобрался -> Нужно в свойствах ConnectionKind указать RunningOrNew. Поправьте меня, если я неправ.
← →
serg128 © (2004-04-23 13:14) [2]Спасибо, я похоже разобрался -> Нужно в свойствах ConnectionKind указать RunningOrNew. Поправьте меня, если я неправ.
← →
Alex* (2004-04-23 14:12) [3]
> serg128 © (23.04.04 13:14) [2]
Точно, это св-во ConnectionKind.
RunningOrNew - подсоединить или новый объект, если ничего не найдет к чему подсоединится то создает новый.
Поэкспереметтируй с этим свойством и сам все поймеш.
Затем следует
>TExcelApplication1.Connect;
>TExcelApplication1.Workbooks.Add(Template, 0);
Вместо Template можно указать лубой путь к шаблону или новому документу
← →
Alex* (2004-04-23 14:12) [3]
> serg128 © (23.04.04 13:14) [2]
Точно, это св-во ConnectionKind.
RunningOrNew - подсоединить или новый объект, если ничего не найдет к чему подсоединится то создает новый.
Поэкспереметтируй с этим свойством и сам все поймеш.
Затем следует
>TExcelApplication1.Connect;
>TExcelApplication1.Workbooks.Add(Template, 0);
Вместо Template можно указать лубой путь к шаблону или новому документу
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c