【发布时间】:2019-01-30 20:36:05
【问题描述】:
我在 Access 中有一个脚本,它应该遍历共享网络驱动器中的 excel 文件,打开并保存它们。
在本地文件夹上运行脚本时,它按预期工作,但在网络驱动器上运行时,会出现一个弹出窗口:'此位置已存在具有此名称的文件,是否仍要保存它?当我按下是时,弹出窗口关闭,但在检查文件的时间戳时,没有一个文件被覆盖。
这是脚本:
Sub demo()
Dim directory As String, fileName As String
Dim Mywb As Workbook
Dim app As New Excel.Application
app.Visible = True
directory = "Y:\E. Data Hub\4. KPIs\C. Price Competitiveness\2018\07 July\DT\"
fileName = Dir(directory & "*.xls")
Do While fileName <> ""
Workbooks.Open (directory & fileName)
fileName = Dir()
ActiveWorkbook.CheckCompatibility = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Loop
app.Quit
End Sub
理想情况下,我什至不会收到那些我必须手动确认的弹出窗口,当然这些文件应该被保存/覆盖。
编辑:我认为问题似乎是文件以只读模式打开。我尝试通过在我的 Workbooks.Open 命令中添加“ReadOnly:=False, Notify:=False”来解决该问题,但这不起作用,文件仍以只读模式打开。
第二次编辑:查看下面的解决方案,我回答了我自己的问题。
【问题讨论】:
-
可能是 NTFS/Share 问题,权限不足。您可以重命名该共享中的文件吗?