XML工作表名称似乎不符合VBA工作表名称

我有一个大型的臃肿的工作簿。

我做了一个zip文件,并打开zip来检查XML文件。 然后我看了一下zip中的工作表文件夹来看看这个:

在这里输入图像说明

如果我再看看vba编辑器,我可以看到这个:

在这里输入图像说明

但是vba中的“Sheet25”是只有5行文字的注释选项卡,所以这些名称是不一样的。

有没有一种简单的方法来映射两个不同的标识符? 例如什么Sheetsheet25.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)

完成。