我有一个大型的臃肿的工作簿。XML工作表名称似乎不同意vba工作表名称
我制作了一个zip文件并打开zip文件来检查xml文件。然后我看了看工作表文件夹中的zip看到这样的:
如果我再看看在VBA编辑器,我可以看到这一点:
但“Sheet25 “在vba中是只有5行文字的注释选项卡,所以这些名称不一样。
有没有简单的方法让我在两个不同的标识符之间进行映射?例如Sheet
是sheet25.xml
?
我有一个大型的臃肿的工作簿。XML工作表名称似乎不同意vba工作表名称
我制作了一个zip文件并打开zip文件来检查xml文件。然后我看了看工作表文件夹中的zip看到这样的:
如果我再看看在VBA编辑器,我可以看到这一点:
但“Sheet25 “在vba中是只有5行文字的注释选项卡,所以这些名称不一样。
有没有简单的方法让我在两个不同的标识符之间进行映射?例如Sheet
是sheet25.xml
?
最简单的检查是打开sheet25.xml
。您将看到匹配代号在这条线在顶部:
<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)
匹配名称,括号内的标签名称获取代号:
Sheet3
< = (Sheet3)
完成。
他们是不一样的 - 正如我所说的“Sheet25”是与5行文本的笔记 - 它绝对不是那个大小 – whytheq
@whytheq当你打开sheet25,xml时,你看到codeName的代码是什么? – robinCTS
很好的一部分我希望甚至不必打开该文件 - 你能看到它的大小 - 因此我的问题的开始“有没有简单的方法...“ – whytheq