尝试使用excel-dna和C#创建一个功能区。加载加载项时,功能区不会显示在Excel中。
dna档案:
<a type="button" data-toggle="dropdown" ...>
cs文件:
<ul role="menu" ...>
<li role="presentation" value="thing" onclick="myFunction()"...> <span>some</span> </li>
</ul>
我使用Visual Studio Community Edition,代码使用.NET 4.6编译。我通过直接单击xll文件或将其加载到新的Excel文件中来加载加载项。在excel中,启用了加载项选项卡,并且宏安全性位于最低级别。此外,我在<DnaLibrary Name="falcon" RuntimeVersion="v4.0">
<ExternalLibrary Path="bin/Debug/falcon.dll" />
<!--<Reference AssemblyPath="System.Windows.Forms.dll" />-->
<CustomUI>
<customUI xmlns='http://schemas.microsoft.com/office/2009/07/customui' onLoad='OnLoad'>
<ribbon>
<tabs>
<tab id='CustomTab' label='My Tab' insertAfterMso='View'>
<group id='SampleGroup' label='My Group'>
<button id='LoginCmd' onAction='OnLogonPressed' label='logon' />
</group >
</tab>
</tabs>
</ribbon>
</customUI>
</CustomUI>
</DnaLibrary>
&gt;下启用了using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ExcelDna.Integration;
using System.Runtime.InteropServices;
using ExcelDna.Integration.CustomUI;
namespace MyLibrary
{
[ComVisible(true)]
public class Ribbon : ExcelRibbon
{
private IRibbonUI ribbon = null;
public void OnLogonPressed(IRibbonControl control)
{
if (ribbon != null)
{
ribbon.InvalidateControl(control.Id);
}
}
public void OnLoad(IRibbonUI ribbon)
{
this.ribbon = ribbon;
}
}
}
显示UI加载项的所有错误的选项。我使用excel 2010。
当我打开Excel时,功能区既不会显示错误消息。有人有什么建议吗?
答案 0 :(得分:0)
我遇到了类似的问题,但是在我做了汇编 ComVisible
之后它也有效:
[<assembly: ComVisible(true)>]