将表格保存到onedrive同步文件夹时,我遇到了这个奇怪的问题。基本上我用以下代码做的是我从工作簿中复制一张工作表然后将其保存到同步文件夹中。执行此操作时,同步文件夹中将显示一个保存的副本,该副本具有存储在特定单元格中的文件名以及另一个具有相同保存名称且文件名后面带有1的副本。当我跨步测试代码时,不会发生这样的错误。只有在运行宏时才会出现错误。我可以知道为什么吗?以下是我的代码;
Sub SheetSplit1()
'
'Creates an individual workbook for each worksheet in the active workbook.
'
Dim wbDest As Workbook
Dim wbSource As Workbook
Dim sht As Object
Dim strSavePath As String
Dim sname As String
Dim relativepath As String
Set wbSource = ActiveWorkbook
'For Each sht In wbSource.Sheets
Sheet10.Copy
Set wbDest = ActiveWorkbook
sname = Sheet9.Range("I5") & "_" & _
Format(Sheet9.Range("I8"), "ddmmmyyyy") & ".xlsx"
relativepath = "C:\Users\" & Environ$("Username") & _
"\SharePoint\Open Project Transition Check - Doc\Transition Dashboard Report\" & sname 'use path of wbSource
'wbDest.Sheets(1).Range("A1").Clear 'clear filename from new workbook cell A1
Application.DisplayAlerts = False
ActiveWorkbook.CheckCompatibility = False
ActiveWorkbook.SaveAs Filename:=relativepath, FileFormat:=xlOpenXMLWorkbook, _
CreateBackup:=False
Application.DisplayAlerts = True
wbDest.Close False 'close the newly saved workbook without saving (we already saved)
'Next
MsgBox "DashBoard Report Saved!"
End Sub
非常感谢任何可以帮助我的人。谢谢。
答案 0 :(得分:0)
我希望我能给出明确的答案,否则微软会做出贡献。 我有类似的连接问题。似乎该文件的另一个版本可能是或者似乎是"在其他地方打开,从而阻止excel / Onedrive完成保存操作。 它不是覆盖它(让我们面对t,这就是命令),而是创建一个"版本"文件名(1)。 我猜这与手动执行时相同,并且要求您解决冲突。 到目前为止,我没有找到如何在代码中发现和解决问题。 我在一个实例中解决了这个问题,方法是在有问题的桌面上映射驱动器,然后在保存前先关闭所有打开的版本,但这不是一个强大的长期解决方案。
通过设置Application.DisplayAlerts = True并捕获错误来测试它。 "错误得到了捕获"在最后一个尺寸线之后 "退出功能 抓住: msgbox err.description" 之前"结束子"