微软对于office中的 CustomTaskPane,已经把VB6抛弃了,没有可视化的操作 ,甚至连示例说明都没有一个..,就仅仅在帮助文档里有那么几句话,如下:Office 开发人员参考
ICustomTaskPaneConsumer.CTPFactoryAvailable 方法
将 CTPFactory 对象传递给随后可在创建自定义任务窗格时使用的 Microsoft ActiveX 加载项。
可以用任何支持 COM 并允许创建动态链接库 (DLL) 文件的语言创建自定义任务窗格。例如,Microsoft Visual Basic® 6.0、Microsoft Visual Basic .NET、Microsoft Visual C++®、Microsoft Visual C++ .NET 和 Microsoft Visual C#®。但是,Microsoft Visual Basic for Applications (VBA) 不支持创建自定义任务窗格。
按照C#示例的代码进行翻译,还是不行,望MVP出手,来解决这个问题..public class Connect : Object, Extensibility.IDTExtensibility2, ICustomTaskPaneConsumer
...
object missing = Type.Missing;
public CustomTaskPane CTP = null;public void CTPFactoryAvailable(ICTPFactory CTPFactoryInst)
{
CTP = CTPFactoryInst.CreateCTP("SampleActiveX.myControl", "Task Pane Example", missing);
sampleAX = (myControl)CTP.ContentControl;
sampleAX.InsertTextClicked += new InsertTextEventHandler(sampleAX_InsertTextClicked);
CTP.Visible = true;
} VB6代码如下,这里我并没有创建自己的AX控件,只是想建一个任务窗..
创建后没任何反应,也没报错,强烈要求MVP出来弥补这个空白..
Option Explicit
Implements ICustomTaskPaneConsumer
Implements IDTExtensibility2Dim oWD As Word.Application
Dim ctp As CustomTaskPane
Private Sub ICustomTaskPaneConsumer_CTPFactoryAvailable(ByVal CTPFactoryInst As Office.ICTPFactory)
Set ctp = CTPFactoryInst.CreateCTP("SampleActiveX.myControl", "mytest")
ctp.Visible = TrueEnd SubPrivate Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)End SubPrivate Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)End SubPrivate Sub IDTExtensibility2_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Set oWD = ApplicationEnd Sub
ICustomTaskPaneConsumer.CTPFactoryAvailable 方法
将 CTPFactory 对象传递给随后可在创建自定义任务窗格时使用的 Microsoft ActiveX 加载项。
可以用任何支持 COM 并允许创建动态链接库 (DLL) 文件的语言创建自定义任务窗格。例如,Microsoft Visual Basic® 6.0、Microsoft Visual Basic .NET、Microsoft Visual C++®、Microsoft Visual C++ .NET 和 Microsoft Visual C#®。但是,Microsoft Visual Basic for Applications (VBA) 不支持创建自定义任务窗格。
按照C#示例的代码进行翻译,还是不行,望MVP出手,来解决这个问题..public class Connect : Object, Extensibility.IDTExtensibility2, ICustomTaskPaneConsumer
...
object missing = Type.Missing;
public CustomTaskPane CTP = null;public void CTPFactoryAvailable(ICTPFactory CTPFactoryInst)
{
CTP = CTPFactoryInst.CreateCTP("SampleActiveX.myControl", "Task Pane Example", missing);
sampleAX = (myControl)CTP.ContentControl;
sampleAX.InsertTextClicked += new InsertTextEventHandler(sampleAX_InsertTextClicked);
CTP.Visible = true;
} VB6代码如下,这里我并没有创建自己的AX控件,只是想建一个任务窗..
创建后没任何反应,也没报错,强烈要求MVP出来弥补这个空白..
Option Explicit
Implements ICustomTaskPaneConsumer
Implements IDTExtensibility2Dim oWD As Word.Application
Dim ctp As CustomTaskPane
Private Sub ICustomTaskPaneConsumer_CTPFactoryAvailable(ByVal CTPFactoryInst As Office.ICTPFactory)
Set ctp = CTPFactoryInst.CreateCTP("SampleActiveX.myControl", "mytest")
ctp.Visible = TrueEnd SubPrivate Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)End SubPrivate Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)End SubPrivate Sub IDTExtensibility2_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Set oWD = ApplicationEnd Sub
CustomTaskPane