在 delphi 中创建 excel CustomTaskPane(加载项)
Create excel CustomTaskPane in delphi (add-in)
如何在不使用 add-in express 的情况下使用 Delphi 创建简单的自定义任务窗格并将自定义任务窗格添加到 excel。
任务窗格将有 1 个按钮(关闭)
procedure TMyAddin.OnConnection(const Application: IDispatch; ConnectMode: ext_ConnectMode; const AddInInst: IDispatch; var custom: PSafeArray);
var FApp:ExcelApplication;
CTP:TCustomTaskPane;
begin
...
CTP:=TCustomTaskPane.Create(Self);
//?
CTP.Visible:=True;
end;
使用 XE7,office2010.pas,excel2010.pas
自己设法做到了。
对于遇到同样问题的任何人,请在此处发布解决方案
- 创建加载项
- 将 ActiveX 表单添加到加载项项目
- 将以下代码添加到插件 .pas 文件
procedure TmyAddin.CTPFactoryAvailable(const CTPFactoryInst: ICTPFactory); safecall;
Var
CTP: _CustomTaskPane;
// NP: TActiveXformClass;
begin
CTP:= CTPFactoryInst.CreateCTP('<replace with add-in name>.<replace with activeXform name>', 'pane caption', EmptyParam);
// NP := TNavigationPane(ctp.ContentControl);
CTP.Visible := true;
end;
如何在不使用 add-in express 的情况下使用 Delphi 创建简单的自定义任务窗格并将自定义任务窗格添加到 excel。
任务窗格将有 1 个按钮(关闭)
procedure TMyAddin.OnConnection(const Application: IDispatch; ConnectMode: ext_ConnectMode; const AddInInst: IDispatch; var custom: PSafeArray);
var FApp:ExcelApplication;
CTP:TCustomTaskPane;
begin
...
CTP:=TCustomTaskPane.Create(Self);
//?
CTP.Visible:=True;
end;
使用 XE7,office2010.pas,excel2010.pas
自己设法做到了。 对于遇到同样问题的任何人,请在此处发布解决方案
- 创建加载项
- 将 ActiveX 表单添加到加载项项目
- 将以下代码添加到插件 .pas 文件
procedure TmyAddin.CTPFactoryAvailable(const CTPFactoryInst: ICTPFactory); safecall;
Var
CTP: _CustomTaskPane;
// NP: TActiveXformClass;
begin
CTP:= CTPFactoryInst.CreateCTP('<replace with add-in name>.<replace with activeXform name>', 'pane caption', EmptyParam);
// NP := TNavigationPane(ctp.ContentControl);
CTP.Visible := true;
end;