以编程方式保存Excel加载项

我有一个用户偶尔更新的工作表,用于制作外接程序(.XLAM)。加载项位于网络共享上,用户链接到该共享。我希望用户能够轻松更新此加载项(确保它被标记为只读) 我在这里看到了Ken Puls关于部署Excel Add-Ins的文章,但是他使用的
.SaveCopyAs
方法似乎无法接受文件类型。
.SaveAs
方法确实如此,但是当我尝试这个时,我得到一条消息说文件格式或扩展名无效,我已尝试使用.XLAM和.XLA,如下所示。
DeployPath = "C:Menu.xlam"
.SaveAs Filename:=DeployPath, ReadOnlyRecommended:=True, FileFormat:=xlOpenXMLAddIn
在这方面的任何帮助将不胜感激。     
已邀请:
我认为你需要使用(Excel 2003及更早版本)
ThisWorkbook.IsAddin = True
ThisWorkbook.SaveAs "fredyy", xlAddIn
对于Excel 2007+使用
ThisWorkbook.SaveAs "fredyy", xlOpenXMLAddIn
    
这是对我有用的解决方案:
Dim strRawName As String
strRawName = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))
ThisWorkbook.IsAddin = True
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & strRawName & ".xlam", FileFormat:=xlOpenXMLAddIn
    

要回复问题请先登录注册