G
grayback
Unregistered / Unconfirmed
GUEST, unregistred user!
采用的方法是:将Office软件目录中EXCEL9.OLB中的类库全部导入Delphi中;
“类库全部导入”的方法:该方法实际就是所谓的做一个office插件,用来扩展excel的功能,实现其所不能做到的或不方便做到的;具体实现:实现IDTExtensibility2接口的自动化对象:
OnConnection:当应用程序连接到插件时会调用这个函数;
OnDisconnection:当应用程序断开插件时被调用 ;
OnStartupComplete:这个函数是当应用程序自动启动插件时被调用的。调用时,其他的插件都已经被加载到了内存,这时可以同其他插件进行通信。
OnBeginShutdown:当应用程序准备关闭并将要断开插件时会被调用
OnAddInsUpdate:当注册的插件列表被改变后会被调用。
对于这五个方法,我们全部要实现它,看具体需要,一般都只用到了OnDisconnection和Onconnection方法做到了对IDTExtensibility2接口的实现,一个插件就差不多OK,在delphi下面编译成Dll文件。
[blue]现在碰到这样一个问题:注册在EXCEL上的插件,比如我按其中一个按钮弹出一个窗口,不管窗口是模态的还是非模态的都不能实现窗口中文本编辑框和EXCEL单元格之间进行切换编辑.试过将主应用程序的Application.Handle传进DLL再做善后处理.但还是不能实现窗口和EXCEL能切换编辑?程序运行在任务栏上的图标是EXCEL的图标,我想插件上按钮弹出的窗口与EXCEL根本就是两个应该程序吧,而在VBA端做的窗口可以和EXCEL进行同时编辑,可我要的是在Delphi里处理的窗口.[/blue]急!!!
“类库全部导入”的方法:该方法实际就是所谓的做一个office插件,用来扩展excel的功能,实现其所不能做到的或不方便做到的;具体实现:实现IDTExtensibility2接口的自动化对象:
OnConnection:当应用程序连接到插件时会调用这个函数;
OnDisconnection:当应用程序断开插件时被调用 ;
OnStartupComplete:这个函数是当应用程序自动启动插件时被调用的。调用时,其他的插件都已经被加载到了内存,这时可以同其他插件进行通信。
OnBeginShutdown:当应用程序准备关闭并将要断开插件时会被调用
OnAddInsUpdate:当注册的插件列表被改变后会被调用。
对于这五个方法,我们全部要实现它,看具体需要,一般都只用到了OnDisconnection和Onconnection方法做到了对IDTExtensibility2接口的实现,一个插件就差不多OK,在delphi下面编译成Dll文件。
[blue]现在碰到这样一个问题:注册在EXCEL上的插件,比如我按其中一个按钮弹出一个窗口,不管窗口是模态的还是非模态的都不能实现窗口中文本编辑框和EXCEL单元格之间进行切换编辑.试过将主应用程序的Application.Handle传进DLL再做善后处理.但还是不能实现窗口和EXCEL能切换编辑?程序运行在任务栏上的图标是EXCEL的图标,我想插件上按钮弹出的窗口与EXCEL根本就是两个应该程序吧,而在VBA端做的窗口可以和EXCEL进行同时编辑,可我要的是在Delphi里处理的窗口.[/blue]急!!!