赞
踩
1、用Visual Studio新建一个类库,命名为CashFlowTools
2、引用必要的类库:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Runtime.InteropServices;
- using Microsoft.Win32;
- using Microsoft.Office.Interop.Excel;
其中最后一个需要在“引用”中添加一个COM组件“Microsoft.Office.Interop.Excel”
3、添加COM相关属性
- [Guid("DDE8AA59-9860-44B3-B1AF-923ABB4A8EEE")]
- [ClassInterface(ClassInterfaceType.AutoDual)]
- [ComVisible(true)]
这里我使用的LinqPad,一个轻量级的IDE,支持C#、VB.NET、Linq、F#、SQL语句,非常适合用来测试少量代码。
4、添加COM的注册和反注册函数,这两个函数代码是固定的。添加后的程序结构如下
- namespace CashFlowTools
- {
- [Guid("DDE8AA59-9860-44B3-B1AF-923ABB4A8EEE")]
- [ClassInterface(ClassInterfaceType.AutoDual)]
- [ComVisible(true)]
- public class CashFlowTools
- {
- #region COM related
- [ComRegisterFunction]
- public static void RegisterFunction(Type type)
- {
- Registry.ClassesRoot.CreateSubKey(GetSubKeyName(type, "Programmable"));
- var key = Registry.ClassesRoot.OpenSubKey(GetSubKeyName(type, "InprocServer32"), true);
- key.SetValue("", Environment.SystemDirectory + @"\mscoree.dll", RegistryValueKind.String);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。