行业新闻
安卓手机如何打开.xlsm文件(Excel中的XLSM文件解密)
2021-11-26 21:59  浏览:0
EXCEL中的XLSM文件是有启用宏(VBA)的功能的工作表,如果使用解压的方式打开,你会发现不一样的结果,居然可以打开,在解压文件中存在_rels、docProps、xl这3个文件夹以及[Content_Types].xml文百思特网件。一个Excel文件实际上就是一个压缩文件,而这个压缩包中的文件,基本上都是由XML文件组成。,现在分析解压文件中结构,_rels文件夹:,Id:为任意字符串,在.rels文件中必须是唯一的,Type:表示关系的类型,Target:指定包含关系的目标的文件夹和文件。,docProps文件夹:包含各种XML文件,描述文件属性和应用程序设置。,app.xml和core.xml两个文件中包含着:创建者的名字、修改的和创建的日期等。,xl文件夹:包含文件的核心部分。,根据工作簿中的内容,该文件夹中含有一些子文件夹,还含工作簿设置的XML文件,如果工作簿中含有VBA代码,那么文件夹中还有以bin为扩展名的二进制文件。,Content_Types.xml:列出了包括在Excel文件程序包中其它部件的内容类型。,假设解压文件中的存在customUI文件夹,则说明存在Ribbon自定义功能区。,这里也介绍下Ribbon自定义功能区的创建步骤:,(1)创建一个名为customUI的文件夹,(2)customUI文件夹中,创建一个名为customUI.xml的文件,写入XML代码(添加自定义功能区),(3)创建一个名为demo的工作簿。,(4)添加customUI文件夹到demo工作簿文件中(压缩文件方式打开添加)。,(5)修改.rels文件夹中的.rels文件(和customUI文件夹的联系),(6)双击打开demo工簿!成功!,RibbonX使用简单易懂的可扩展的标识语言(XML)。,如果从事过网页设计,那么XML与HTML的语法结构是相同的,非常易习。,完整的自定义功能区:RibbobX(UI界面设计)+VBA(功能设计),RibbonX的元素,选项卡(Tabs),组(Groups),控件(Controls),customUI.xml的文件代码eg:,<?xml version="1.0" encoding="UTF-8" ?>,<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">,<ribbon startFromScratch="false">,<tabs>,<tab id="mytab1",label="LTE邻区工具",insertBeforeMso="TabHome" keytip="YE">,<group id="group1" label="LTE邻区" keytip="YEY">,<button id="bm1" label="清除数据" size="large" tag="清除数据" imageMso="Redo" onAction="biao" />,<button id="sql" label="获取数据" size="large" tag="获取数据" imageMso="S" onAction="biao" />,<button id="bjf2" label="邻区关系" size="large" tag="邻区关系" imageMso="ObjectEditPoints" onAction="biao" />,<button id="hsf3" label="TDD邻接小区" size="large" tag="TDD邻接小区" imageMso="T" onAction="biao" />,<button id="ffff4" label="FDD邻接小区" size="large" tag="FDD邻接小区" imageMso="F" onAction="biao"/>,</group>,<group id="group2" label="GSM邻区">,<button id="GsmRelation" label="GSM邻接关系" size="large" tag="GSM邻接关系" imageMso="ObjectEditPoints" onAction="biao" />,<百思特网;button id="GSM123" label="GSM邻接小区" size="large" tag="GSM邻接小区" imageMso=&q百思特网uot;G" onAction="biao" />,<button id="xsjl1" label="输出结果表" size="large" tag="输出结果表" imageMso="SaveAll" onAction="biao" />,<button id="fdd" label="提单添加邻区" size="large" tag="提单添加邻区" imageMso="AcceptInvitation" onAction="biao" />,</group>,<group id="group3" label="新版加快速度">,<button id="ZTELTE" label="4G邻区" size="large" tag="4G邻区" imageMso="L" onAction="biao" />,<button id="ZTEGSM" label="GSM邻区" size="large" tag="2G邻区" imageMso="G" onAction="biao" />,</group>,</tab>,</tabs>,</ribbon>,</customUI>,最后利用VBA中的名称与onAction进行回调,回调有点像事件过程一样,一旦触发,就会运行程序。(如onAction),回调需要在工作簿中写代码。必须保存为宏的文件格式。否则VBA代码会丢失。,例如biao为回调值,