Tag: excel addins

加载项function在复制的工作表中不起作用

我有一个Addin,它定义了一些在Excel中不可用的math函数。 我已经在模板工作表(位于模板工作簿)中安装并正常工作,但是当我将包含模板工作簿中的function的模板工作表复制到新的工作簿中时,外挂程序似乎停止工作并给我一个名字?” 调用函数的单元格中的错误。 有谁知道发生了什么事? 提前致谢 编辑:我应该更具体。 Add in用于用户定义函数(UDF),位于xla文件中。 上面,当我提到一个“模板工作簿”时,这实际上是不正确的。 它是一个正常的工作簿(.xls),我们根据需要将单个工作表复制到一个新的工作簿中。 我会把这个叫做“Master”的工作簿叫做“模板”。 由于我们有许多不同的“主”工作簿,我们从中定期提取特定工作表,所以我试图自动select工作表进行复制(使用工作表中的checkbox)。 一旦勾选了所有必要的checkbox,就会按下一个button来创build一个新的工作簿,然后从各个主工作簿中导入所有需要的工作表。 在这个新的工作表中,UDF不起作用。 随着下面的响应者的一些提示和广泛的网页search,问题在于UDF函数引用本身。 让我解释: UDF被定义为: 公共函数Ber(ByVal x As Double)作为双端函数 这在“Master”TPLATE.xls工作簿中工作正常。 当我从这里复制一个包含具有公式的单元格的表格时,在新表格中说“= Ber(A1)”,公式变成:“= TPLATE.xls!Ber(A1)”。 如果我然后手动租用在单元格的公式正确的UDF,它的作品。 我不想这样做。 我find了一个很有希望的解决scheme,但似乎无法得到它的工作: http : //www.jkp-ads.com/Articles/FixLinks2UDF00.asp (注:点击绿色框中的箭头继续文章) 有没有办法确保复制的工作表中的UDF保留对Addin的正确引用? 我已经尝试了以下内容: 包括代码来查找和replace“=”符号和“Ber(A1)”之间的任何文本,只用“= Ber(A1)” – >不起作用 从上面的链接解决scheme。 – >不能得到它的工作。 再次感谢您的帮助!

运行VBA加载项时出错

我正在Excel 2010中编写一个.xlam文件中的VBAmacros。 当我尝试运行它时,我得到这个错误: 对象variables或块variables未设置 它应该交换特定的表中的列,当我只是一个macros运行它(而不是在加载项)它完美的作品。 这是我的macros: Sub SwapTable(ByVal control As IRibbonControl) Dim LastCol As Long Dim LastRow As Long Dim Swaps As Long Dim i As Integer Dim DocumentTitle As String Dim SearchDetails As String LastRow = LastRowInOneColumn() LastCol = LastColumnInOneRow(LastRow) StartTitlesRow = Find_TitlesRow() 'copy title rows With ActiveSheet DocumentTitle = .Cells(StartTitlesRow – 3, 1).Value […]

Excel 2016 MSO下的Office-JS:Excel Host API不再可用

我目前正在使用Microsoft Excel 2016 MSO(16.04266.1001)64位运行Windows 10。 我觉得这是通过MSI安装的版本。 在过去几个月中,我使用Excel Host API实现了一个基于React的Excel加载项。 根据Office开发人员中心提供的Excel JavaScript API需求集文档,该版本似乎包含“ExcelApi 1.1,WordApi 1.1和通用API”需求集。 截至昨天,我不再能够通过JavaScript或通过F12开发人员工具( window.Excel === undefined )访问Excel主机API。 看起来,那个名字空间下的所有function已经变得不可用了。 看来(除其他脚本之外),从CDN加载的office.js脚本现在请求并embeddedExcel-15.02.js作为加载项。 我不知道在昨天之前embedded的Excel-*.js Excel-winrt-16.00.js版本,但是在仔细Excel-winrt-16.00.js了CDN上提供的Excel-15.02.js , Excel-winrt-16.00.js和其他版本的内容之后,我怀疑它是比15.02更新的版本。 为了logging,以下两个运行时检查都返回false – 我说都是这样,因为在dev.office.com上可用的文档中“API”大小写不一致。 Office.context.requirements.isSetSupported("ExcelApi", 1.1); // false Office.context.requirements.isSetSupported("ExcelAPI", 1.1); // false 请指教; 最好的祝福。

如何将超链接添加到Excel中的选项卡?

我想添加一个超链接到Excel中的一个选项卡。 其实我想做一个Excel添加? 但现在看来没有select它直接定制function区。 我知道有一个文件位置下拉列表。 但是我想要一个链接到一个URL。 据我所知,超链接只能放在单元格上。 请给我一些想法。

在Excel加载项中select工作表以运行VBAmacros

我已经使用VBA创build了一个加载项,这是一个带有计算的工作簿。 该加载项具有一个用户窗体来从访问数据库提取相关信息并填充工作簿。 填充数据后,在Sheet1中执行计算。 我需要将工作表“Sheet1”从加载项工作表粘贴到运行加载项macros的新工作簿。 但是,当我运行加载项时,工作表似乎被隐藏,所以我的数据没有更新。 我得到这个错误:“运行时错误'1004':对象'_Global'失败的方法'工作表'。 有人能告诉我如何使用一个加载项,其中有一个工作表,所需的计算执行? 有趣的部分是,当我加载插件后,从Excel加载项列表中删除它,它运行完美。 但是,当我重新运行macros,工作表变得隐藏,所以同样的错误出现。 我相当新的VBA所以任何build议,将不胜感激! 编辑 码: Private Sub OptionOK_Click() 'On selecting OK from userform Dim ws1 As Worksheet Sheets("Sheet1").Visible = True Set ws1 = Worksheets("Sheet1") 'User Form Validation If Trim(Me.cboData.value) = "" Then Me.cboData.SetFocus MsgBox "Please complete the form" Exit Sub End If 'copies data to given cell in […]

如何通过在List C#中传递checkbox名称来在Winform上创builddynamiccheckbox?

我正在开发excel插件项目c#。 想要创buildList中传入名称的checkbox列表,我怎样才能创build与名为? 并且还想取那个checkbox的选定值。 目前我有一个buttonLoadEmployee当我点击所有EmployeeNames从Sql表直接加载到Excel工作表 现在我想要做的是,当我点击LoadEmployee ,将打开一个包含所有员工姓名的popup窗口,每个emplyee名称都有一个checkbox,我select哪一个员工姓名只填充其他。 在@Vajura给出的答案的帮助下,我尝试了一下 称为popup窗体使用 new FilterDataForm().ShowDialog(mylist); popup窗体.cs internal void ShowDialog(MyModel.ListEmployee> mylist) { GenerateFilterList(mylist); } private void GenerateFilterList(List<ListEmployee> mylist) { System.Windows.Forms.CheckBox box; for (int i = 0; i < mylist.Count; i++) { box = new System.Windows.Forms.CheckBox(); box.Tag = mylist[i]; box.Text = mylisti].ToString(); box.AutoSize = true; box.Location = new Point(10, i * 50); […]

微星如何检测是Excel运行

我们的应用程序是Excel加载项。 我们使用Wix 3.10来构buildMSI。 目前我们可以执行卸载的应用程序,即使Excel运行连接加载项。 如果Excel正在运行,我需要中断卸载过程。 我们不需要closuresExcel,我只需要检测它是否正在运行。 如果是这样,我需要向用户显示适当的消息,并停止卸​​载过程。 如何检测在卸载过程中运行的Excel(任何应用程序)? 我可以使用“标准”MSI / Wixfunction实现所需的行为,还是应该编写一些自定义操作?

Excel插件实时更改

我正在寻找一个侦听器/事件,当用户在Excel中对某个单元格进行一些更改时会触发,这样我的加载项可以在后台执行一些处理,即通过服务调用保存后端中的更改。 目前,当用户单击加载项中的发布button时,通过服务调用将数据保存在一组行中。 但是,如果用户不需要这样做,那么一旦用户改变了某个特定的行就会被保存起来。 Office.js中有这样的function吗? 或者,也许有一种方法来模拟它?

无论如何,以获得单元格的先例和依赖在Excel JavaScript API?

与在Range对象中包含“Precedents”和“Dependents”的桌面Excel API不同的是,Excel Javascript API的简短回答是否定的。 有没有一种方法或第三方代码来规避微软这个巨大的缺陷? 如果我无法导航公式树,那么就可以使用Excel Online的加载项添加更多function。 用于Excel的Javascript API 在线办公 更新:添加一些上下文,我一直在编写审计加载项在C#过去,评估公式的复杂性,执行高级公式的调和,重构公式不同,等等…我试图将一个小块作为一个JavaScript原型插件,看看在线Excel是否可以处理它。

Excel 32位使用64位插件

我在Windows 7 64位下运行Excel 2007 32位,我开发了一个Excel插件,它有一个自定义任务窗格和2个命令栏button。 任务窗格使用MSXML从几个XML文件中加载一些信息。 用C#编写的插件,它使用另一个加载XML的原生COM组件。 在debugging的时候,我把VS2010中的活动configuration设置为Debug | Win32,认为32位办公只能使用32位的插件。 上下文菜单将显示好,但是当涉及到加载XML,我会得到一个“无法加载Typelibrary”错误在ISAXXMLReader :: parseURL。 令人困惑的部分是成功加载XML,我必须将活动configuration设置为Debug | x64。 有什么我失踪? 不应该32位Excel只能加载32位插件? NB在VS解决scheme中,Win32和x64平台的.NET代码目标是任何CPU,然后本机代码目标分别是x86 / x64。