我正在尝试将最新版本的XML文件复制到Excel Addin中。要手动执行此操作,首先将.zip
添加到addin文件名的末尾,然后将xml复制到.xlam.zip
文件夹中,最后将该文件夹重命名为.xlam
文件。
我试图通过制作VBS脚本来加快这个过程。这就是我所拥有的:
Dim Fso, ShellApp
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
'rename the addin to be a zip file
fso.MoveFile "C:\Users\me\AppData\Roaming\Microsoft\AddIns\MyAddIn.xlam", _
"C:\Users\me\AppData\Roaming\Microsoft\AddIns\MyAddIn.xlam.zip"
wscript.sleep 1000
'copy the xml into the addin
Set ShellApp = CreateObject("Shell.Application")
ShellApp.namespace ("C:\Users\me\AppData\Roaming\Microsoft\AddIns\MyAddIn.xlam.zip\customUI").copyhere _
"C:\Users\me\Desktop\customUI.xml", 12 ' 4 + 8 no progress bar, yes to all dialogs
'unzip the addin
fso.MoveFile "C:\Users\me\AppData\Roaming\Microsoft\AddIns\MyAddIn.xlam.zip", _
"C:\Users\me\AppData\Roaming\Microsoft\AddIns\MyAddIn.xlam"
wscript.echo "Done!"
这是间歇性的......
有时它会在目录中创建一个新的zip文件夹,在其中创建一个customUI文件夹,然后将文件复制到那里。
不太频繁(以及我想要发生的事情)它会将我的插件更改为zip,将xml复制到子文件夹中,然后将其更改回插件。
有关如何使其更加一致或可能导致不一致的任何想法?提前谢谢。