Visual C# 2005开发Office外接程序
一 最合适用来开发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.
您可能感兴趣的文章
- 11-262010 Office密钥过期怎么办?Office2010产品激活失败的解决方法
- 11-26office2010产品密钥有哪些?最新office2010激活密钥汇总
- 11-26office2007密钥哪里找?office2007永久密钥序列号
- 11-26Office2016怎么安装?Office2016安装激活教程
- 11-26Office2010最新激活密钥有哪些?Office2010激活密钥分享大全
- 11-26求Office2013密钥?2025最新Office2013激活密钥
- 11-26Office2013电话怎么激活?Office2013永久激活方法
- 11-26office2016打开卡顿怎么办?office2016打开缓慢的解决技巧
- 11-26Office 2010中文版怎么转换为英文版?
- 11-26office 2010激活错误代码0X8007000D如何解决?


阅读排行
- 12010 Office密钥过期怎么办?Office2010产品激活失败的解决方法
- 2office2010产品密钥有哪些?最新office2010激活密钥汇总
- 3office2007密钥哪里找?office2007永久密钥序列号
- 4Office2016怎么安装?Office2016安装激活教程
- 5Office2010最新激活密钥有哪些?Office2010激活密钥分享大全
- 6求Office2013密钥?2025最新Office2013激活密钥
- 7Office2013电话怎么激活?Office2013永久激活方法
- 8office2016打开卡顿怎么办?office2016打开缓慢的解决技巧
- 9Office 2010中文版怎么转换为英文版?
- 10office 2010激活错误代码0X8007000D如何解决?
推荐教程
- 07-012025最新office2010永久激活码免费分享,附office 2010激活工具
- 07-01怎么免费获取2025最新office2016专业增强版永久激活密钥/序列号
- 07-01office365怎么永久激活?2025.5最新office,office365序列号推荐
- 06-25office2021年最新永久有效正版激活密钥免费分享
- 06-13Office 2024激活工具,2025年Office2024激活工具及激活密钥分享
- 05-12Microsoft office2019产品激活密钥(100%永久激活)
- 07-01office2021专业增强版2021激活密钥2023密钥永久激活 万能office202
- 06-17经验分享Win11激活密钥怎么获取(win11专业版激活密钥)
- 07-01office 2021激活码/序列号推荐,office2021附激活工具
- 06-25Office2021激活密钥永久最新分享





