用VB6的COM 外接程序可以方便的对office系列软件进行定制,下面是我在制作过程中的体会。 一、创建外接程序 启动VB,在新建工程对话框中选择“外接程序”
二、初始定制 1、在“项目资源管理器”窗口中,通过右键单击“Connect”打开设计器窗口,然后选择“查看对象”。从“应用程序”列表中选择“Microsoft Word”。 2、在“初始加载行为”列表中,选择“Startup”。 3、将外接程序显示名称更改为“Word 2007功能区测试 ”。
4、在项目资源管理器中,右键单击“MyAddin”,然后在“属性”窗口中将该外接程序的名称更改为“RibbonForWord2007”。 5、从该项目中删除“frmAddin”(这个在本例中暂时不需要)。 6、在工程-引用中将Microsoft Office Object 8.0更改为Microsoft Office Object 12。(备注:只有这样才能定制和添加对 IRibbonExtensibility 接口的引用) 三、输入代码 1、在“项目”窗口中,右键单击“Connect”项并选择“查看代码”。在设计器的代码窗口中删除所有代码,因为这些代码可用于 Visual Basic 外接程序而不适用于 Microsoft Office 外接程序。 2、输入如下的代码
Option Explicit Dim oWD As Object Implements IRibbonExtensibility2 '添加对 IRibbonExtensibility 接口的引用
'启动 Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant) Set oWD = Application MsgBox "我的com加载项已经成功加载!" End Sub
'实现IRibbonExtensibility接口的唯一成员 GetCustomUI,此过程调用 GetRibbonXML 方法,正如其名称所示, '该方法将自定义 XML 返回到 GetCustomUI 方法,后者然后将自定义 XML 添加到功能区用户界面以便在加载外接程序时实现它。 Public Function IRibbonExtensibility_GetCustomUI(ByVal RibbonID As String) As String IRibbonExtensibility_GetCustomUI = GetRibbonXML() End Function
'添加 XML 自定义标记代码 Public Function GetRibbonXML() As String Dim sRibbonXML As String
sRibb"http://schemas.microsoft.com/office/2006/01/customui"" >" & _ "<ribbon>" & _ "<tabs>" & _ "<tab id=""CustomTab"" label=""sanjie"">" & _ "<group id=""SampleGroup"" label=""Sample Group"">" & _ "<button id=""Button"" label=""Insert Name"" size=""large"" imageMso=""HappyFace"" InsertCompanyName"" />" & _ "</group >" & _ "</tab>" & _ "</tabs>" & _ "</ribbon>" & _ "</customUI>" GetRibbonXML = sRibbonXML End Function
'控件回调的过程 Public Sub InsertCompanyName(ByVal control As IRibbonControl) ' Inserts the specified text at the beginning of a range. Dim MyText As String Dim MyRange As Object Set MyRange = oWD.ActiveDocument.Range MyText = ""http://www./"" ' Inserts text at the beginning ' of the active document. MyRange.InsertBefore (MyText) End Sub
3、需要注意的是:了解XML语言和Office Ribbon定制技术的朋友,每一项元素的值必须要用英文4个双引号引起来。 四、发布该com加载项 单击菜单【文件】→【生成RibbonForWord2007.dll】即可完成加载项的发布。 五、测试 当你打开word2007的时候,如果成功加载首先会提示你“我的com加载项已经成功加载!”,然后会在功能区添加一个选项卡,如图3所示,单击该选项卡的按钮,就会自动输入信息。
|