Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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 VBA:工作簿。保存&;关闭而不保存_Excel_Vba - Fatal编程技术网

Excel VBA:工作簿。保存&;关闭而不保存

Excel VBA:工作簿。保存&;关闭而不保存,excel,vba,Excel,Vba,我有以下代码正在工作,但行。关闭关闭WB而不保存: Option Explicit Public Function updateStatus(fpath As String, fname As String, num As String) Dim wk As String, yr As String Dim owb As Workbook Dim trow As Variant With Application .DisplayAlerts = False .ScreenUp

我有以下代码正在工作,但行。关闭关闭WB而不保存:

Option Explicit
Public Function updateStatus(fpath As String, fname As String, num As String)

Dim wk As String, yr As String
Dim owb As Workbook
Dim trow As Variant

With Application
    .DisplayAlerts = False
    .ScreenUpdating = False
    .EnableEvents = False
End With

Set owb = Application.Workbooks.Open(fpath & fname)

trow = owb.Sheets(1).Range("Change" & num).Row
owb.Sheets(1).Cells(trow, 5).value = "Test"

With owb
    .Save
    .Close SaveChanges:=True 'This line doesn't seem to work
End With

With Application
    .DisplayAlerts = True
    .ScreenUpdating = True
    .EnableEvents = True
End With

End Function

如果我删除该行,WB将保持打开状态,我将看到更改。如果我添加行并打开特定文件,我看不到任何更改。

如注释中所述,代码看起来正常,您可能在Excel上启用了一些数据保护,这不允许保存。试着做一个最小的例子,如下所示:

Option Explicit

Public Sub TestMe()

    Dim owb As Workbook

    Set owb = Application.Workbooks.Open("C:\Users\vityata\Desktop\Testing.xlsx")
    owb.Save
    owb.Close

End Sub
然后用
F8进行调试,一旦经过
owb.Save
,就会看到收到的消息

只是你知道:

.Save
.Close SaveChanges:=True

使用
.Save
行可以使
SaveChanges:=True
部分无效。反之亦然。

使用子文件夹顶部的应用程序
行远程控制
(注释掉它们),并查看是否显示警告。如果我删除行则没有警告使用F8删除错误是一个完美的提示-我在打开工作簿时发现一个脚本正在运行,该脚本覆盖了先前脚本编写的内容。移除/更改scirpt后,它工作正常。非常感谢。