我的工作簿很庞大。
我已将文件设为zip并打开zip以检查xml文件。然后我查看了zip中的工作表文件夹,看看:
如果我查看vba编辑器,我可以看到:
但" Sheet25"在vba中是一个注释标签,上面只有5行文字,因此这些名称不一样。
我可以轻松地在两个不同的标识符之间进行映射吗?例如Sheet
sheet25.xml
是什么?
答案 0 :(得分:1)
最简单的检查是打开sheet25.xml
。您将在顶部的此行中看到匹配的codeName:
<sheetPr codeName="Sheet22"/>
修改强>:
如果您不想打开xml文件(因为它太大了),还有另一种方法可以跟踪xml工作表文件名到工作簿中工作表的codeNames的映射。
打开xl/_rels/workbook.xml.rels
文档。你应该看到这样的行:
<Relationship Target="worksheets/sheet3.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Id="rId3"/>
<Relationship Target="worksheets/sheet2.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Id="rId2"/>
<Relationship Target="worksheets/sheet1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Id="rId1"/>
将xml工作表名称链接到最右侧的资源ID,例如
worksheets/sheet2.xml
=&gt; Id="rId2"
然后打开xl/workbook.xml
文档,获取:
<sheet r:id="rId1" sheetId="1" name="one"/>
<sheet r:id="rId2" sheetId="3" name="Sheet3"/>
<sheet r:id="rId3" sheetId="4" name="Sheet1"/>
将资源ID链接到工作表名称,例如
r:id="rId2"
=&gt; name="Sheet3"
然后从VBE编辑器:
Sheet3 (Sheet3)
将名称与括号内的选项卡名称匹配,以获取codeName:
Sheet3
&lt; = (Sheet3)
完成。
答案 1 :(得分:0)
我认为 xml 文件的工作表编号只是工作簿中工作表中工作表的顺序,从保存文件时的左侧开始计数。要找到它,您可以打开电子表格并取消隐藏所有工作表。或者,您可以在工作表中使用公式 =SHEET() 来标识其编号。
请注意,这与 VBA 中的工作表代码不同,后者是您在 VBA 中打开项目资源管理器时看到的永久工作表编号。如果您四处移动,工作表代码不会改变。