Visual C# 2005开发Office外接程序

时间:2023-09-17 06:29:40 

一 最合适用来开发Office外接程序的工具即使在VS2005中,仍然是VB.因为Office的对象内核依然是以VB的模式建立的.VB中有大量的函数使用可变数量的参数,而这些函数如果在C#中调用,则不得不用大量的Type.Missing或Missing.Value来填充,C#不允许可变参数.可以在C#中建立包装类,但仍然是非常繁琐的.

二 在vs2005中创建外接程序,如Office程序的插件等,一般应以如下形式建立项目:其它项目类型->共享的外接程序.系统会自动建立调用框架.
public class Connect : Object, Extensibility.IDTExtensibility2

三 在public void OnStartupComplete(ref System.Array custom)中,可建立扩展的工具条,菜单等,如菜单:

Office.CommandBars oCommandBars = null;
Office.CommandBar oStandardBar = null;
oCommandBars = (Office.CommandBars)applicationObject.GetType().InvokeMember("CommandBars", BindingFlags.GetProperty, null, applicationObject, null);
oStandardBar = oCommandBars["Worksheet menu bar"];//这里注意:Office各产品此处的对象命名并不统一.
cmdBarControl = (Office.CommandBarPopup)oStandardBar.Controls.Add(
Office.MsoControlType.msoControlPopup, Missing.Value, Missing.Value, oStandardBar.Controls.Count - 2, true);
通常可以使一个插件响应所有Office产品,但也可以使插件仅针对某些Office组件起作用.这部份工作在建立项目时指定.

四 form.ShowDialog()显示模式对话框(关闭时只隐藏而不销毁窗体),form.Show()显示非模式对话框,当用户点击关闭按钮时将销毁窗体.

五 Form.Show (IWin32Window)可指定窗体的所有者,这在作为Office应用程序的子窗体的插件程序中非常重要.但是如何使用IWin32Window呢?
public class WindowWrap : IWin32Window
{
private IntPtr m_Handle;
public IntPtr Handle
{
get { return m_Handle; }
}

public WindowWrap(IntPtr handle)
{
m_Handle = handle;
}
}
form.Show(new WindowWrap(new IntPtr(applicationObject.Hwnd)));
Application.Hwnd即是宿主程序的窗口句柄,可以如上形式调用.

六 若要在C#中使用Debug.print(),则需包含入System.Diagnostics命名空间.

七 Excel._Worksheet ows = (Excel._Worksheet)(Connect.applicationObject.ActiveWorkbook.ActiveSheet);
取得某一Range对象:ows.get_Range("A1", Missing.Value)此例只返回一个Cell构成的Range.

八 Range.Value2和Text的区别:假设以金额方式显示,则Text的返回值还包括数字前面的货币符号.
另:Range.Value2为空时,Range.Text却可正常显示。

九 Excel的计数单元是以1开始的,而非0.

 

标签:Visual,2005,开发,Office,外接,程序,一,最,合适
0
投稿

猜你喜欢

  • word文档设置字符边框和带圈字符的方法

    2023-05-31 16:07:45
  • 如何用VLC media player将视频画面水平镜像翻转?

    2023-05-28 21:04:28
  • excel随机函数知识分享:四大相关函数剖析

    2023-07-28 14:06:12
  • win7旗舰版升级win10还免费吗_win7旗舰版升级win10的方法

    2022-03-02 06:40:53
  • 怎样开启Win10系统上的隐藏登录界面

    2022-06-23 23:57:00
  • word 查找的通配符使用技巧及实例教程

    2022-07-20 06:06:59
  • Corel Painter 2019 Mac版怎样在调色板抽屉中对接调色板?

    2022-08-27 07:33:25
  • Win10 1909锁屏界面怎么关闭?Win10 1909锁屏界面关闭方法分享

    2022-10-03 11:34:46
  • Win10与Win7怎么共同组建局域网?

    2023-05-22 10:55:11
  • win10帧数调出教程

    2023-07-11 10:57:09
  • excel表格怎样插入空白行

    2022-05-21 00:07:58
  • A Better Finder Attributes 6 日期属性设置是怎么回事?

    2022-07-03 23:15:39
  • excel中排名次的教程

    2023-12-09 01:17:05
  • 搜狗输入法定制版正在录音怎么取消OPPO的解决方法

    2022-05-10 06:46:02
  • Win11怎么文件分类储存?Win11系统文件分类储存的方法

    2022-03-15 07:17:57
  • PDF文件怎么打开?

    2022-10-08 01:51:30
  • WPS 制作目录实例教程及技巧

    2023-09-21 18:55:30
  • Windows10系统音频服务未启动问题彻底解决方法

    2023-02-03 11:46:24
  • 为什么Win10笔记本屏幕会突然变暗?

    2022-06-10 09:58:33
  • WPS轻松办公—-如何制作三线表格

    2023-08-18 14:39:35
  • asp之家 电脑教程 m.aspxhome.com