Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel “错误”;“未找到文件”;保存活动工作簿_Excel_Vba - Fatal编程技术网

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)
。你还知道错误吗?