Tag: 加载项

Excel加载项中的Application.ActiveWorkbook为空

我正在写一个Excel加载项。 以下是我的代码 private void ThisAddInStartup(object sender, EventArgs e) { Excel.Sheets sheets = Application.ActiveWorkbook.Sheets; _worksheet = (from Excel.Worksheet sheet in sheets where sheet.Name.Contains(SheetName) select sheet).FirstOrDefault(); Application.SheetChange += ApplicationSheetChange; } 当我debugging时,一切都很好。 但是,当我直接从我的硬盘驱动器打开Excel文件,然后我得到Application.ActiveWorkbook为null 。 任何人都可以帮助我理解这一点。 我想在excel文件打开时启动我的加载项。 基本上我的加载项跟踪Excel工作簿中的变化,并做一些必要的行动。 如果有问题,我正在使用Office 2007,Visual Studio 2012.我可以在更改项目文件并用12replaceOffice 14部分后运行解决scheme。

VSTO:无法打开另一个Excel文件,而第一个文件被加载项中的模式窗口阻止

我们无法打开另一个Excel文件,而第一个文件被我们的加载项中的模式窗口阻止。 closures对话窗口解除所有未决的文件打开。 Excel版本是2007.是否有一个编程工作,这将允许Microsoft Excel 2007在单独的窗口中打开第二个文件,而第一个窗口正在等待加载项退出模态对话窗口? 注意:这个行为似乎也适用于Excel自己的对话窗口。

创buildExcel加载项 – 获取单元格值

我正在使用visual studio 2010创build一个excel插件。我能够使用这个代码获取单元格地址。 label1.Label = Globals.MyAddIn.Application.ActiveCell.Address.ToString(); 我想获得细胞价值。 另外,如果你可以告诉我如何为给定单元格设置一个值。 请帮忙。

Excel加载项和VBA引用的范围是什么?

当我安装一个加载项(通过checkbox)什么是规则/机制pipe理多久,加载项保持安装? 它似乎是安装在应用程序级别,这意味着它适用于Excel应用程序中的任何工作簿,直到您自己取消选中。 如果这是正确的,这意味着只要用户自己安装加载项,他们应该没问题; 但他们将不得不第一次安装它(这可以通过编程来完成)。 关于VBA引用,我想这些不需要每次都被“检查”,这意味着它在文档的范围之内。 但是,如果这是真的,那么为什么当软件准备好分发时,人们推荐使用后期绑定方法? 后期绑定真的只是为了使其与不同的版本兼容,但不一定是使得DLL作为参考被“检查”? 在这个假设下,只要每个人都使用与我一样的Excel版本,放弃所有的后期绑定是否安全,只需手动添加引用?

如何防止Excel加载项文件将单元格引用更改为R1C1 /列到字母

我创build了Excel加载项文件( .xlam ),以便能够将我的macros分配给我的部门。 但是,当我在网上search答案时,我遇到了一个似乎无法find的问题。 当我添加和安装加载项文件到Excel(通过VBScript,如果有的话),它将Excel设置为R1C1模式,所以列编号,而不是字母。 任何想法可能导致这个? 是否可以在vbscript或Add-In文件中触发这个改变? 在部署Excel加载项之前,有没有人有过这种情况? 我如何防止它?

使用VSTO读取Excel中的ActiveCell内容

我正在尝试从Excel加载项中读取ActiveCell,但没有得到太多的帮助。 任何任何想法? Excel.Window W = this.Application.ActiveWindow as Excel.Window; Excel.Range R = W.ActiveCell as Excel.Range; MessageBox.Show(R.Value2.ToString()); 抛出最后一行的exception是: 无法获取types为“Microsoft.Office.Interop.Excel.Range”的实例的字段或调用方法,因为它是远程对象的代理。 我试过。值,它说: 属性,索引器或事件“值”不受该语言支持; 尝试直接调用访问器方法'Microsoft.Office.Interop.Excel.Range.get_Value(object)'或'Microsoft.Office.Interop.Excel.Range.set_Value(object,object)' 在尝试get_Value()我再次得到初始的exception。 无法获取types为“Microsoft.Office.Interop.Excel.Range”的实例的字段或调用方法,因为它是远程对象的代理。 有任何想法吗? 干杯, 菲尔。

当调用AddIns.Item 时,索引无效(从HRESULTexception:0x8002000B(DISP_E_BADINDEX)))

我调用Excel.AddIns.Item[0]时收到无效索引COMexception 。 Excel.AddIns.Count工作正常,返回4.但我不明白为什么Excel.AddIns.Item[0]无法返回第一个Excel.AddIn对象。 API似乎也没有太多的说。 http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.addins.item 谁能帮忙? 谢谢。

寻求build议 – Excel Addin – C#服务

我们目前可以使用具有特定接口的WCF DataService。 该服务基本上提供了基于传递给服务的DataRequest对象所需的数据。 此服务已被其他.net前端使用… 现在我想在Excel中公开这个服务; 这样用户可以通过这个服务直接获取数据。 我知道我需要在Excel中开发某种插件。 在技​​术方面我有什么select。 这个添加将被分发给他们安装的不同的商业用户,并将这个插件包含在excel中并查询他们的数据。 提前致谢

你能用FCell创buildExcel插件吗?

这样就可以在没有安装FCell的计算机上加载用户定义的函数。 这是我的理解,你不能加载.dll到Excel; 只有插件。 您还可以在没有安装FCell的计算机上打开使用FCell完成的Excel工作簿(但需要Internet连接😒)

使用VBScript卸载Excel加载项

我正在尝试创build一个MSI安装程序,在Microsoft Excel中安装一个加载项(.xla)(2007)。 安装它很好。 我使用运行这个VBScript文件的“自定义操作”: Dim SourceDir Dim objExcel Dim objAddin SourceDir = Session.Property("CustomActionData") Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Add Set objAddin = objExcel.AddIns.Add(SourceDir & "addin.xla", True) objAddin.Installed = True objExcel.Quit Set objExcel = Nothing 我使用CustomActionData属性将插件的位置传递给脚本。 加载项被复制到“程序文件”内的一个文件夹中,在那里它将一直保留,直到它被卸载。 这由安装程序自己处理。 问题是当我使用卸载脚本: Dim objExcel Dim addin On Error Resume Next Set objExcel = CreateObject("Excel.Application") For i = 0 To objExcel.Addins.Count […]