首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# -类未注册-使用VBIDE创建带有宏的Excel电子表格

C# -类未注册-使用VBIDE创建带有宏的Excel电子表格
EN

Stack Overflow用户
提问于 2011-07-20 04:32:07
回答 1查看 2.3K关注 0票数 1

使用VS2010,我不能使用VBIDE互操作DLL。有谁能看看他们能不能直接用http://support.microsoft.com/kb/303872在电脑上复制代码?

  1. 在C#中创建winform应用程序。
  2. 引用了以下两个DLL:C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Vbe.Interop.dllC:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Vbe.Interop.dll Form_load --把下面的代码:

代码语言:javascript
复制
//Using statments
using Excel = Microsoft.Office.Interop.Excel;    
using VBIDE = Microsoft.Vbe.Interop;
using System.Reflection;

Excel.Application excelApp = null;
Excel._Workbook excelWorkbook;
Excel._Worksheet excelSheet;
excelApp = new Excel.Application();
excelApp.Visible = true;
excelWorkbook = (Excel._Workbook)(excelApp.Workbooks.Add(Missing.Value));
excelSheet = (Excel._Worksheet)excelWorkbook.ActiveSheet;
VBIDE.VBComponent oModule = new VBIDE.VBComponent();  //<--BAM throws an error

使用CLSID {BE39F3DA-1B13-11D0-887F-00A0C90F2744}检索组件的COM类工厂,由于以下错误而失败: 80040154类未注册(来自HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)的例外)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-20 04:51:12

工作代码:

代码语言:javascript
复制
VBIDE.VBComponent oModule;

oModule = excelWorkbook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6757033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档