【问题标题】:Runtime Error in Trying to Paste from One Excel Workbook to Another尝试从一个 Excel 工作簿粘贴到另一个工作簿时出现运行时错误
【发布时间】:2019-04-23 20:22:28
【问题描述】:

我以前偶尔会收到此错误,但现在每次运行宏时都会收到此错误:

运行时错误“-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 上编辑/查看文件。这可能是什么原因造成的?

【问题讨论】:

  • 这段代码既不复制也不粘贴。它使用SaveAs 方法保存文件(单击链接。)只是猜测:也许以“独占模式”保存与问题有关。此外,在调试完所有内容之前禁用DisplayAlerts 也不是一个好主意。除此之外,您需要先弄清楚/澄清您要做什么,然后才能有人提供帮助。

标签: excel vba


【解决方案1】:

最后你需要有文件格式,我认为这就是引发错误的原因。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 2013-11-27
    • 2017-09-08
    相关资源
    最近更新 更多