Excel “错误”;“未找到文件”;保存活动工作簿
下面代码中注释后的行出现错误Excel “错误”;“未找到文件”;保存活动工作簿,excel,vba,Excel,Vba,下面代码中注释后的行出现错误 Sub SyncToDatabase() Dim WS1 As Worksheet Set WS1 = Sheets("Observation Form") DbFile = WS1.Range("O3").Value LastLocalChange = WS1.Range("O5").Value Set objFSO = CreateObject("Scripting.FileSystemObject") Set
Sub SyncToDatabase()
Dim WS1 As Worksheet
Set WS1 = Sheets("Observation Form")
DbFile = WS1.Range("O3").Value
LastLocalChange = WS1.Range("O5").Value
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(DbFile)
If objFile.DateLastModified < LastLocalChange Then
Kill (DbFile)
ThisWorkbook.Sheets("Data Output(Hidden)").Copy
' i get the error on the next line
ActiveWorkbook.SaveAs DbFile, FileFormat:=51
ActiveWorkbook.Close False
End If
End Sub
子同步数据库()
将WS1设置为工作表
设置WS1=工作表(“观察表”)
DbFile=WS1.Range(“O3”).Value
LastLocalChange=WS1.Range(“O5”).Value
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
设置objFile=objFSO.GetFile(DbFile)
如果objFile.DateLastModified
错误消息是
“找不到文件”
文件路径为“C:\Users\paul.d\u wsd\Google Drive\Winchester\Science Department\Lessons Learned\Lessons Learned Excel Converted(Database).xlsm”正如我在评论中提到的,您无法在
行中找到错误“文件未找到”。在Set objFile=objFSO.GetFile(DbFile)
和Kill(DbFile)
中使用文件之前,需要检查该文件是否存在。否则将出现文件未找到
错误。这里有一个例子
'~~> Check if DbFile is not empty
If Len(Trim(DbFile)) = 0 Then Exit Sub
'~~> Check if file exists
If Dir(DbFile) <> "" Then
LastLocalChange = WS1.Range("O5").Value
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(DbFile)
If objFile.DateLastModified < LastLocalChange Then
Kill (DbFile)
ThisWorkbook.Sheets("Data Output(Hidden)").Copy
' i get the error on the next line (you cannot make code bold)
ActiveWorkbook.SaveAs DbFile, FileFormat:=51
ActiveWorkbook.Close False
End If
End If
“~~~>检查DbFile是否为空
如果Len(Trim(DbFile))=0,则退出Sub
“~~>检查文件是否存在
如果Dir(DbFile)“,则
LastLocalChange=WS1.Range(“O5”).Value
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
设置objFile=objFSO.GetFile(DbFile)
如果objFile.DateLastModified
它可能有助于说明错误和错误详细信息。以及DbFile
1的值。错误消息是什么?2.DbFile
的值是多少?抱歉,我是VBA新手。错误消息为…“未找到文件”,但是,已正确添加文件路径。C:\Users\paul.d\u wsd\Google Drive\Winchester\Science Department\Lessons leaved\lesss leaved Excel Converted(Database).xlsm您无法在.SaveAs
行中获取该错误(“未找到文件”)。您确定在Kill(DbFile)
中没有收到该错误吗?给我试试这个。将置于错误恢复下一步之前杀死(DbFile)
和在错误时转到0
之后杀死(DbFile)
。你还知道错误吗?