首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对象'_Workbook‘的方法'SaveAs’失败

对象'_Workbook‘的方法'SaveAs’失败
EN

Stack Overflow用户
提问于 2017-10-18 23:20:02
回答 2查看 4.2K关注 0票数 0

我有一个连接到数据库的工作簿,当您刷新工作簿时,它会刷新工作簿中的数据。然后运行一个宏,将新的(原始)数据保存在两个不同的位置,然后宏将对该原始数据进行分析,并在以后将相同的工作簿保存在4个其他位置。当我尝试第一次保存原始数据时,我能够保存到第一个位置,但是当它移动到第二个位置时,我得到了错误:运行时错误'1004':对象'_Workbook‘的方法'SaveAs’失败。这两个位置都是有效位置。

下面是宏中执行第一个文件保存的一个子文件:

代码语言:javascript
复制
Sub saveraw()

Dim rdate As String
Dim rawfilename As String, rawfilename1 As String
Dim mywb As Workbook

Set mywb = ActiveWorkbook

rdate = Format(Now(), "mm-dd-yy")

rawfilename = "\\sw\mes\PS\SC\SCM_Supply_Execution\Spares\This Weeks Number Database\This Weeks Numbers(raw) " & rdate & ".xlsm"
rawfilename1 = "\\sw\mes\PS\SC\SCM_Shared\Spares Reports\This Weeks Numbers(raw) " & rdate & ".xlsm"

mywb.Save

Worksheets("Sheet2").Range("A2") = Null

Application.DisplayAlerts = False

mywb.SaveAs Filename:=rawfilename
mywb.SaveAs Filename:=rawfilename1

Application.DisplayAlerts = True

End Sub

我也尝试过使用

代码语言:javascript
复制
ActiveWorkbook.SaveAs

来代替这两个mywb.SaveAs,但这也不起作用。

EN

回答 2

Stack Overflow用户

发布于 2017-10-18 23:49:24

作为测试,只针对您有权访问的文件位置运行代码。我注意到在第二个命令中引用了共享驱动器,所以可能有人已经在其中,它无法保存。

暂时将display alerts设置为true。

此外,当您运行测试宏时,请确保您没有打开任何windows资源管理器窗口,并在此处反馈结果,如果它再次调试,我将提供帮助。

从表面上看,代码对我来说很好。

票数 1
EN

Stack Overflow用户

发布于 2017-10-18 23:35:56

尝尝这个

代码语言:javascript
复制
ActiveWorkbook.SaveAs Filename:="\\sw\mes\PS\SC\SCM_Supply_Execution\Spares\This Weeks Number Database\This Weeks Numbers(raw) " & rdate & ".xlsm" _
        , FileFormat:=xlOpenXMLWorkbookMacroEnabled

如果文件已存在,则可能会出现问题,因为弹出窗口将询问您是否要覆盖该文件

尽管我认为该错误是由于该特定位置的权限问题或连接问题造成的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46813704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档