Tag: 加载项

使用C#Excel Interop在Excel中计算用户定义的函数

我试图直接从C#的外接程序,以便当我打开一个工作簿,并做一个Workbook.Calculate()UDF的(用户定义函数)在外部插件定义正确计算在工作表中。 目前,我正在循环每个添加和简单的设置: AddIn.Installed = true 这不起作用。 C#根本不加载插件,我想避免使用VBA。 我想打开一个工作簿,加载一个特定的加载的Excel工作簿,做一个完整的计算,并应该有工作表的所有值更新,包括与UDF的单元格。 谢谢你的帮助…. 一些代码: Excel.Workbook wkbk = ExcelApp.ActiveWorkbook; Excel.XlFixedFormatType paramExportFormat = Excel.XlFixedFormatType.xlTypePDF; Excel.XlFixedFormatQuality paramExportQuality = Excel.XlFixedFormatQuality.xlQualityStandard; bool paramOpenAfterPublish = false; bool paramIncludeDocProps = true; bool paramIgnorePrintAreas = true; object paramFromPage = Type.Missing; object paramToPage = Type.Missing; ExcelApp.Visible = true; //foreach (Excel.AddIn aiTemp in ExcelApp.AddIns) //{ // if (aiTemp.Name.Contains("")) // […]

Excel VBA UDF加载项函数#Name错误

我有一个UDF,我写了一个加载项。 我把它放在那里(与其他库),以便我可以改变function,只是部署一个更新的加载项,从而消除了需要修改数百个调用子/函数的工作簿,我需要改变它们。 这一切都在Office 2007中完成。 直到最近当用户开始转向Windows 7时,它运行良好。现在,只有在Windows 7上(XP仍然可以),单元格中存在#Name错误。 这在特定条件下发生(下面的schemeD只是一个问题)。 总之,我有两个工作簿,每个调用,我们称之为“FunctionX”,所以我们假设每个单元格A1都有“= FunctionX(parmA,parmB)”: Scenairo A – 如果我单独打开工作簿(一切正常) 情景B – 我同时打开两个工作簿(一切正常) schemeC-I在不同的情况下分别打开两个工作簿(一切正常) 场景D – 我打开一个工作簿,然后第二个,在同一个Excel实例(#Name第一个工作簿调用FunctionX的单元格中的错误) 我意识到解决方法是只通过场景AC操作,但是我不断得到用户抱怨D.如果他们进入任何调用FunctionName的#Name侵犯单元格,并回车,#Names走开,但编程强迫重新计算不这样做(我最初的尝试在一个创可贴)。 我唯一的办法是编写一个循环遍历所有打开的工作簿的程序,用我的函数进入一个单元格,强制执行代码驱动的用户正在做的事情,或者我错过了什么? 谢谢…任何/所有的build议表示赞赏。

有什么办法来loggingExcel加载项exception(无代码更改)?

我们有一个用C#编写的旧的Excel COM AddIn,它没有内置的日志。 现在,一个客户端有一个问题,当他点击一个function区button,一个窗口窗体显示了半秒钟,然后消失。 但它应该留下来。 在窗体窗体的初始化中,它使两个Web服务调用来获取数据来填充窗体上的控件。 我猜在初始化时出错了。 但不能没有日志。 所以我想知道是否有任何工具/方法来loggingExcel中发生的exception/错误? 非常感谢! 编辑我现在想VBA,因为我没有find一个工具来完成这一点 On Error GoTo ERR_ Dim cmd As CommandBarButton Set cmd = Application.CommandBars("MyTab").Controls("MyRibbonButton") cmd.Execute Exit ERR_: MsgBox ("Error " & Err.Number & " " & Err.Description & " LastDllError:" & Err.LastDllError & Err.Source) 希望这会给我一些线索。 不知道我能得到多less信息,直到在客户端运行。 谢谢

来自VSTO Excel Addin的进程COM-DLL的asynchronous调用?

我正在开发适用于Microsoft Excel 2007/2010的应用程序级VSTO 4 Addin。结果是使用.Net 4 Client Profile的基于Windows窗体的DLL。 现在我必须使用一个传统的COM-DLL。 设置引用并通过.Net通过COM-Interop访问COM方法是没有问题的。 但是我需要调用的(同步)方法可能需要一分钟或更长时间才能恢复。 我知道你的答案:使用工作者线程… 我已经使用任务并行库将长效操作放在工作任务中,并保持GUI(Excel)响应。 但是:进程中的COM调用(在工人任务/线程)似乎仍然阻止我的GUI线程。 为什么? 是因为Excel总是作为STA(单线程公寓)运行? 我如何保持Excel GUI的响应? 有没有办法让它真的asynchronous? 感谢任何答案, 约尔格

双击Excel-Workbook打开时Excel 2010 AddIn不加载

我写了一个Excel 2010加载项。如果从“开始”菜单打开Excel,它工作正常。 但是,只要双击Excel工作簿,AddIn就不能被加载。 我在ThisAddIn.cs检查ThisAddIn.cs , InternalStartup()方法没有涉及。 有人可以帮我吗? 谢谢! 但是从命令行“excel.exe table1.xlsx”打开文件的作品!

WPF窗口显示空白

Excel插件,C#,.NET 4.0,Windows 7,function区我的插件有一个function区选项卡,几个function区button,当一个function区被点击,插件会发送几个Web服务调用,一个窗口将popup提供数据标签,树视图,gridview等数据在树视图中,gridview从Web服务调用填充。 所有工作的特定最终用户,直到昨天当他点击button,窗口似乎显示出来,但它是一种背后的Excel,不能集中。 也没有选项卡,树形视图,GridView等,我确认所有的Web服务调用返回正常。 用户有Windows 7,Excel 2010(32位)。 我不知道是什么原因造成的。 请帮忙。 这是我的WPF窗口。 谢谢 <Window x:Class="MIMICWPFLib.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sharedC="clr-namespace:MIMICShared.Converter;assembly=MstarCommodityShared" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxt="clr-namespace:DevExpress.Xpf.Utils.Themes;assembly=DevExpress.Xpf.Core.v11.2" xmlns:Controls="clr-namespace:MIMICWPFLib.Controls" Title="{Binding Title}" Height="600" Width="850" Top="223" Left="164" ResizeMode="CanResize" Closing="WindowClosing" WindowStyle="ToolWindow"> <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="MainWindowResources.xaml" /> <ResourceDictionary Source="Controls/BizzySpinner.xaml" /> </ResourceDictionary.MergedDictionaries> <sharedC:BooleanToHiddenVisibility x:Key="boolToVis"/> <sharedC:NegativeBooleanToHiddenVisibiltyConverter x:Key="negativeBoolToVis" /> <DataTemplate x:Key="{dxt:DXTabControlThemeKey ResourceKey=BackgroundTemplate, ThemeName=Office2007Silver}"> <Border BorderBrush="#FF828790" BorderThickness="1" Background="#E5E3E3"/> </DataTemplate> <DataTemplate x:Key="{dxt:DXTabControlThemeKey […]

c#Excel 2007 Addin – 在其他电脑上安装

我用vs2010创build了一个软件。 它是一个Excel 2007加载项。 它的工作完美。 但我想安装在另一台电脑上。 所有安装程序包装安装没有错误。 我添加了.vsto文件,但它不工作,只是“非活动插件”… 我按照步骤一步一步地正式msdn和非官方的,但完整的vsto-installer文章写道。 但它不工作。 安装步骤成功运行。 所有需要安装的软件包(vsto4.0,.net框架,互操作办公室),如果我通过双击自我安装添加.vsto,它运行正常。 但是 – 正如我在开始时写的 – 它不工作,vsto插件列为非活动插件。 我做错了什么,我怎么能在另一台电脑上安装vsto? 更新我find了答案。 只需简单地重新安装整个电脑(窗户,办公室),然后它的工作。 所以问题不仅仅是安装程序,系统集成也是如此。 我也尝试OneClick解决scheme,也是它的工作。 在MSDN(链接在上面)sol非常重要的正确的registry键和正确的安装程序pre-req(如果有东西失踪其从未运行/正确安装)。

安装Excel AddIn时popup“插入智能卡”窗口

我的Excel AddIn是用C#编写的,它使用Excel DNA,AddIn Express RTD,使用Advanced Installer创buildNetOffice Installer,再加上VBA,VBA代码在install.xls中 Private Sub Workbook_Open() Dim quit As Integer Dim added As Boolean Add_Addin If Workbooks.Count = 1 Then Application.quit Else Me.Close End If End Sub Private Sub Add_Addin() On Error GoTo ERR_ Dim addinFile As String addinFile = ThisWorkbook.Path & "\" & "MyAddIn.xll" If Len(addinFile) > 0 Then Dim […]

在Excel应用程序级C#加载项中,设置不带向导的数据源

我正在尝试编写一个允许用户连接到SQL数据库并将表中的数据绘制到Excel中的插件。 (这是最简单的解释,但不是必要的function的全部解释。)我发现这篇文章: http://msdn.microsoft.com/en-us/library/cc668212%28v=vs.100%29.aspx 它很好地工作。 但是,我的问题是:我怎么能编程创build数据源(在上面的链接“创build数据源”中提到)? 例如,我希望用户(通过Excel加载项)能够input服务器名称,数据库名称和表名称,然后创build特定的数据集,tableAdapter和bindingsource。 我不想在启动Excel之前在加载项中“硬编码”(或使用向导来实现)。 我认为有一些可以将数据导入到Excel的东西。 那不是我正在寻找的。 有一些理由想要使用加载项。 任何帮助/引用将不胜感激! 🙂

在VS2010的VB.NETdebugging过程中,Excel加载项无法加载(xx.dll)

VS2010,VB.NET。 使用function区创buildExcel加载项。 当我开始debugging(F5)时,Excel启动查找但我的加载项不加载。 Excel 2010打开后,出现以下错误消息: 无法加载文件或程序集'SatelliteRibbon,Version = 1.0.0.0,Culture = neutral'或其依赖项之一。 给定的程序集名称或代码库无效。 (从HRESULTexception:0x80131047) 它似乎在另一个开发人员的机器上正常工作。 我在插件启动和function区加载中设置了断点。 他们从不执行。 我有源代码和文件在一个可信的位置。 所有的macros,等我已经设置为“允许”或启用。 有任何想法吗?