7

我有一个用户偶尔更新的工作表,用于制作加载项 (.XLAM)。加载项位于网络共享上,用户链接到它。我希望用户能够轻松更新此加载项(确保将其标记为只读)

我在这里看到了 Ken Puls关于部署 Excel 插件的文章,但是.SaveCopyAs他使用的方法似乎无法接受文件类型。

.SaveAs方法可以,但是当尝试此方法时,我收到一条消息说文件格式或扩展名无效,我已尝试使用 .XLAM 和 .XLA ,如下所示。

DeployPath = "C:\Menu.xlam"
.SaveAs Filename:=DeployPath, ReadOnlyRecommended:=True, FileFormat:=xlOpenXMLAddIn

在这方面的任何帮助将不胜感激。

4

2 回答 2

6

我认为您需要使用(Excel 2003 及更早版本)

ThisWorkbook.IsAddin = True
ThisWorkbook.SaveAs "fredyy", xlAddIn

对于 Excel 2007+ 使用

ThisWorkbook.SaveAs "fredyy", xlOpenXMLAddIn
于 2010-12-22T19:39:05.770 回答
4

这是对我有用的解决方案:

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
于 2013-12-27T16:26:22.120 回答