Tag: excel addins

在VSTO Addin for Excel中如何处理活动工作表中的button单击事件?

目前我正在开发一个使用VB.NET 2010和VSTO的Excel 2010插件。 活动工作表有一个button,其单击事件将由其自己的VBA代码处理。 现在我想在Addin中处理相同的button单击事件,而不影响其原始的VBAfunction。 可能吗? 我怎样才能做到这一点? 这个任务的前提是在Excel模板(包括VBA代码)上不允许修改任何内容。 这就是为什么我尝试从VB.NET的事件处理。 触发点在于Excel模板中的button被点击了,那么肯定会引发一定的事件,这个事件肯定会被VBAmacros处理,但是我想在VB.Net中增加另一个监听器(事件处理程序)同样的事件,所以我可以做一些额外的任务。 有没有人知道如何添加这样的事件处理程序? 谢谢。

在Excel中禁用快捷方式的替代方法

在Excel 2007-2013中,我使用了Application.OnKey来禁用快捷方式 Application.OnKey("{F5}", "") 但在Excel 2016中会引发Excel崩溃(稍后爆炸,然后按F5)。 我想这是在新的Excel中的一些错误,也许有一天它将被修复,但现在我需要一个解决方法,另一种方法来禁用快捷方式。 有什么build议么?

Excel Office加载项API工作表保护密码

我有一个问题涉及Excel的工作表保护… 上下文是,我需要不同的工作表可供不同的用户组编辑,但所有组必须至less看到所有工作表,例如usergroup1可以编辑工作表二和三,部分工作表,usergroup2可以编辑只有工作表一。 我可以相应地设置FormatProtection( range.format.protection.locked = false; )和WorksheetProtection( worksheet.protection.protect(); )来启用这个function,但我似乎没有能力通过设置密码针对工作表保护的API? 这意味着,例如,任何一个组都可以简单地点击审阅function区中的取消保护页选项,并编辑我不想要的表。 我已经尝试过下面的文档,但不幸的是无济于事。 http://dev.office.com/reference/add-ins/excel/worksheetprotection https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/worksheetprotection.md 作为一个例子,这是一个我想完成的function: function CopyWorksheet() { var newAddress; Excel.run(function (ctx) { var worksheet = ctx.workbook.worksheets.getActiveWorksheet(); var range = worksheet.getUsedRange(); range.load(); // insert new worksheet var newWorksheetName = "Copied_Sheet"; var newWorksheet = ctx.workbook.worksheets.add(newWorksheetName); return ctx.sync().then(function () { // copy the old values to the new […]

无法在Excel Online中导入Excel加载项

您好我已采取示例github项目https://github.com/OfficeDev/Excel-Add-in-JS-QuarterlySalesReport/blob/master/Readme.md ,并在清单中的一些变化后,能够成功导入在我的桌面上添加excel应用程序版本1611 Build 7571.2006 (附加web应用程序正在本地盒子上运行) 现在我试图上传这个在线excel上添加,而我的web应用程序运行在我的本地盒子,但我得到这个错误在线excel 这里是清单,我上传到在线excel(这个清单文件是相同的清单,在Excel桌面上工作,除了我取代了IP地址从127.0.0.1到我的公共IP) <?xml version="1.0" encoding="UTF-8"?> <OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp"> <Id>adc22a5f-62c5-472e-b258-2ae44be6fccf</Id> <Version>1.0.0.0</Version> <ProviderName>ML LABS</ProviderName> <DefaultLocale>en-US</DefaultLocale> <DisplayName DefaultValue="ML LABSII" /> <Description DefaultValue="ML LABSII"/> <Hosts> <Host Name="Workbook" /> </Hosts> <DefaultSettings> <SourceLocation DefaultValue="http://172.22.136.62:3000/" /> </DefaultSettings> <Permissions>ReadWriteDocument</Permissions> </OfficeApp> 我已经尝试过,并从其他机器浏览器加载的Web应用程序没有问题。

Excel加载项行索引和值作为未定义返回

我试图通过Excel加载项删除表中的一些行。 我正在使用的代码如下: var table = ctx.workbook.tables.getItem('TableName'); if (Office.context.requirements.isSetSupported('ExcelApi', 1.2) === true) { table.clearFilters(); } var tableRows = table.rows.load('items'); ctx.sync().then(function () { for (var i = (tableRows.count – 1); i >= 0; i -= 1) { var row = tableRows.getItemAt(tableRows.items[i].index); row.delete(); } }); 这在Excel在线(包括Internet Explorer 11)中工作正常。此外,它还可以与版本1601(内部版本6741.2088)及更高版本一起使用。 但是,它不适用于版本1509(内部版本4266.1001)。 在这个版本中,我将行项目的值和索引取为undefined。 我该如何解决这个问题?

在Excel加载项中保护SQL身份validation数据的方法

我写了一个连接到特定数据库并从中提取数据的Excel插件。 目前,SQL Server身份validation数据在加载项中被硬编码。 我打算分发加载项而不删除SQL Server连接function。 authentication数据的保护是必不可less的先决条件。 但是,我正在寻找一个合适的解决scheme。 SQL Server的身份validation数据不是唯一的。 为每个最终用户设置一个唯一的login名将是几乎不可能的。 是否有任何build议如何最好地实现SQL Server身份validation数据的良好保护级别?

Excel VSTO在Excel崩溃后继续添加软禁用。 当excel重新启动时,任何运行addin.Connect = true的方法

我开发了一个从数据库中提取数据的excel插件。 有一些情况下,Excel变得无响应和崩溃。 然后,我重新启动Excel,外挂程序列在活动的AddIns中,但不显示在function区中。 然后我必须去文件 – >选项 – > AddIns-> Com AddIns->取消勾选选中的AddIns,然后再次相同的path,并再次检查AddIn,它显示出来。 我需要帮助检查每当Excel重新启动我应该检查是否添加连接(或用户可见),如果没有,连接它并显示。 在我惨淡的尝试中,我尝试了以下内容: private void ThisAddIn_Startup(object sender, System.EventArgs e) { int i =1; try { foreach (COMAddIn addin in Application.COMAddIns) { if ( addin.Description.Contains("ExcelAddInNewTest") ) { // addin.Guid.ToString(); addin.Connect = true; MessageBox.Show(addin.Description.ToString()); //if (addin.Connect != true) //{ // addin.Connect = true; //}// addin. } } […]

Excel Add In开发

我想要开发Excel加载项使用我想要从其不同的列读取数据,并将其发送到我的数据库。 所以,你可以build议我好的电子书或任何网站的链接,教最好的补充发展….

Excel 2007 VSTO加载项即使成功安装后也不可见

我有点混淆了Excel 2007的插件行为。 任何想法是高度赞赏。 这是我按时间顺序做的事。 我有一个Excel 2007的VSTO插件,它构build和debugging文件,所以我发布到一个文件夹 我去文件夹并运行安装插件的安装程序。 下次我打开excel时,插件是可见的。 到目前为止完美! 然后我去Excel办公室button – > Excel选项 – >加载项 – >pipe理 – > COM加载项,并删除我刚刚安装的插件。 这使得插件脱离了我的excelfunction区。 如预期! 但在这一点上,我的插件已安装,只能从活动插件列表中删除。 正确吗? 如果是正确的,我如何重新添加它,因为我看不到它在非活动插件列表中。 我得到它的唯一方法是从添加/删除程序中删除它并重新安装并重新启动Excel。 这是唯一的方法,或者我可以以某种方式重新添加插件,因为它已经安装。

设置单元格的值join

我将解释我find的所有东西,但总之我只想在后面的代码中设置单元格A1的值 。 我已经尝试创buildExcel加载项 – 获取单元格值加上其他链接,所有这些技术只有当我在macros上运行它们,但我想要从一个函数执行它们。 所以让我开始解释一下: 我不明白为什么我得到一个奇怪的行为,当我在一个函数上运行相同的代码与Sub。 以下面的例子: Dim TimeToRun Sub Macro1() 'Dim addIn As COMAddIn 'Dim automationObject As Object 'Set addIn = Application.COMAddIns("ProbeAddIn") 'Set automationObject = addIn.Object 'automationObject.ImportData MsgBox "Hello world" End Sub Sub Macro2() TimeToRun = Now + TimeValue("00:00:01") Application.OnTime TimeToRun, "Macro1" ' run Macro1 on 1 seconds End Sub Function Test() TimeToRun […]