XML工作表名称似乎不符合VBA工作表名称
我有一个大型的臃肿的工作簿。
我做了一个zip文件,并打开zip来检查XML文件。 然后我看了一下zip中的工作表文件夹来看看这个:
如果我再看看vba编辑器,我可以看到这个:
但是vba中的“Sheet25”是只有5行文字的注释选项卡,所以这些名称是不一样的。
有没有一种简单的方法来映射两个不同的标识符? 例如什么Sheet
是sheet25.xml
?
最简单的检查是打开sheet25.xml
。 您将在顶部的这一行看到匹配的codeName:
<sheetPr codeName="Sheet22"/>
编辑 :
如果您不想打开xml文件(因为它太大),还有另一种方式可以跟踪xml表单文件名到工作簿中表单的代码名称的映射。
打开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
=> 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"
=> name="Sheet3"
然后从VBE编辑器中:
Sheet3 (Sheet3)
将名称与括号内的选项卡名称进行匹配以获取codeName:
Sheet3
<= (Sheet3)
完成。