试图从一个Excel工作簿粘贴到另一个Excel中的运行时错误

时间:2019-04-22 05:23:15

标签: excel vba

我过去偶尔会遇到此错误,但现在每次运行宏时都会得到此错误:

运行时错误'-2147417851(80010105)': 对象“ _Workbook”的方法“ SaveAs”失败

本质上,我试图做的是将数据从大型个人excel工作簿复制到Sharepoint上的Excel工作簿。我通过第三个辅助电子表格来完成此操作。该帮助电子表格(设置为ActiveWorkbook)成功打开了两个Excel工作表,并在复制和粘贴数据之前进行了一些错误检查。但是现在,它不会保存到Sharepoint ...这是调试器在以下位置停止的代码块:

我已将助手工作簿设置为活动工作簿。我试图将SPwkbk设置为活动工作簿,但这会导致Excel崩溃。

我在Sharepoint上为.xlsx添加了FileFormat:= 1标记,但这似乎没有效果。

我曾考虑一次保存到一个工作表(个人工作表和Sharepoint的工作表名称相同),但是我认为这会使程序比现在慢...

Application.DisplayAlerts = False
SPwkbk.SaveAs Filename:=SPwkbkPath, AccessMode:=xlExclusive, _
        ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges
SPwkbk.Close                                                          
myWkbk.Close SaveChanges:=False

我知道它可以像以前一样正确地复制和粘贴...但是我不明白是什么阻止了它的保存,即使没有人在Sharepoint上编辑/查看该文件也是如此。可能是什么原因造成的?

1 个答案:

答案 0 :(得分:0)

您需要在文件末尾添加文件格式,我认为这就是为什么会引发错误。

ActiveWorkbook.SaveAs Filename:=myFileName, FileFormat:=xlWorkbookNormal

.SaveAs Application.UserLibraryPath & AddinName, 55 'file type for addins extension