可怕的" Excel在...中找到了不可读的内容。添加自定义图标后的消息

时间:2014-12-02 09:48:42

标签: excel vba excel-vba ribbon

我一直在研究使用功能区的Excel插件。一切都很好,直到我尝试添加一些自定义的16 x 16图标。在办公室,我们有Excel 2007,即

Microsoft Office Excel 2007(12.0.6683.5002)SP3 MSO(12.0.6683.5000)

我的WinZip是

WinZip 15.0(9334)

当我将.xlam文件作为Zip文件打开时,我目前有customUI \ _rels和customUI \ images子目录。我的customUI.xml.rels文件的内容是

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="nbinsert" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/nbinsert.png" />
<Relationship Id="nbchange" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/nbchange.png" />
<Relationship Id="nbdelete" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/nbdelete.png" />
</Relationships>

随附的customUI \ images子目录为空。

在此阶段,文件正确打开。主要的customUI.XML甚至没有引用这些新图标。相关部分如下所示:

  <box id="box01b" boxStyle="horizontal">
    <button id="bb00" onAction="NB.wrChange" imageMso="ChangeBinding"
      getScreentip="NB.wrChangeScreentip" getSupertip="NB.wrChangeSupertip" /> 
    <button id="bb01" onAction="NB.wrInsert" imageMso="RecurrenceEdit"
      getScreentip="NB.wrInsertScreentip" getSupertip="NB.wrInsertSupertip" />
    <button id="bb02" onAction="NB.wrDelete" imageMso="CancelRequest" 
      getScreentip="NB.wrDeleteScreentip" getSupertip="NB.wrDeleteSupertip" />
  </box>

我不使用自定义UI编辑器,所有XML都是手动编码或生成的。

一旦图标出现,我就不得不改变,例如imageMso =“ChangeBinding”改为image =“nbchange”。至少,这就是我所希望的。

然后我将新图标,三个.png文件复制到images子目录中,并保存并重命名回.xlam文件。当它试图打开插件时,Excel会抱怨上述错误消息。因此,在我删除这些有问题的图标后,插件会正确打开。

在Word 2010中,我的图像子目录中有额外的,未引用的图标,我没有任何问题。此外,对XML中不存在的图标的引用导致图标不显示,但从不出错。

自定义图标是否有任何特殊需要观察才能使用,例如,没有透明度?或者addin文件是如此脆弱和敏感?或者我应该尝试以后的WinZip版本?

最初在www.iconfinder.com上找到这些图标,然后使用MS Paint将其缩小(最初为32 x 32,然后缩小为16 x 16)。我也尝试将它们改为24色.BMP图标并遇到同样的问题。

我在Excel 2010中有自定义图标(从同一个地方复制,但是32 x 32),没有任何麻烦。

欢迎任何建议。

0 个答案:

没有答案