gpt4 book ai didi

excel-dna - 无法更改 Excel 功能区上的标签

转载 作者:行者123 更新时间:2023-12-04 14:30:23 38 4
gpt4 key购买 nike

我在尝试使用 Excel-DNA 用丝带设置自定义标签时遇到问题。

如果我不包含注释“getLabel='GetLabel'”,那么插件加载正常。即功能区选项卡显示有 2 个按钮,并且按钮回调工作正常。

如果我确实包含属性“getLabel='GetLabel'”,则该插件甚至不会加载,即不会调用 onLoad 并且不会在 Excel 中显示功能区选项卡。

谁能看到我在这里做错了什么。在调试器中运行时我没有看到任何错误。

这是我的 DNA 文件。我试图以其中一个样本为基础,以便更容易理解。

<DnaLibrary Name="Emsx Addin" RuntimeVersion="v2.0">
<ExternalLibrary Path="EmsxExcelTech1.dll" />
<Reference AssemblyPath="System.Windows.Forms.dll" />

<!-- Some images that can be used in the Ribbon ui -->
<Image Name="M" Path="M.png" Pack="true" />

<CustomUI>
<customUI xmlns='http://schemas.microsoft.com/office/2009/07/customui' loadImage='LoadImage' onLoad='OnLoad'>
<ribbon>
<tabs>
<tab id='CustomTab' label='K2 Emsx' insertAfterMso='View'>
<group id='SampleGroup' label='Global Sheet Status'>
<button id='LoginCmd' label='Logon' image='M' onAction='OnLogonPressed' getLabel='GetLabel' />
<button id='BetaCmd' label='Use Beta Route' image='M' size='normal' onAction='RunTagMacro' tag='OnUseBetaRoutes' />
</group >
</tab>
</tabs>
</ribbon>
</customUI>
</CustomUI>
</DnaLibrary>

这是我的 Ribbon 派生的 C# 文件。
[ComVisible(true)]
public class EmsxRibbon : ExcelRibbon
{
private IRibbonUI ribbon = null;

public void OnLogonPressed(IRibbonControl control)
{
EmsxIntegration.Instance.Login();
MessageBox.Show("Hello from control " + control.Id);
if (ribbon != null)
{
ribbon.InvalidateControl(control.Id);
}

}

string GetLabel(IRibbonControl control)
{
if (control.Tag == "Logon")
{
return "Logon";
}
else
{
return "Logoff";
}
}

public static void OnUseBetaRoutes()
{
MessageBox.Show("Hello from 'ShowHelloMessage'.");
}

public void OnLoad(IRibbonUI ribbon)
{
this.ribbon = ribbon;
}

}

最佳答案

使用 getLabel 事件时,不应使用 label 属性,因此更改

<button id='LoginCmd' label='Logon' image='M' onAction='OnLogonPressed' getLabel='GetLabel' />


<button id='LoginCmd' image='M' onAction='OnLogonPressed' getLabel='GetLabel' />

希望这可以帮助。

关于excel-dna - 无法更改 Excel 功能区上的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967306/

38 4 0