停止ms Access VBA打开Excel文件只读

斯宾塞·巴恩斯(Spencer Barnes)

我有一个Access文件,该文件使用链接到Excel文件的表,而Excel文件本身具有其他需要刷新的链接。
(请不要怀疑它的逻辑,这是解决一些棘手问题的一种解决方法,这是目前唯一的解决方法,因为访问不能使用.odc连接)
我在访问表单中有一个按钮,应该更新数据。但是,当该button_onclick子项打开Excel时,它始终以只读方式打开它,因此在尝试保存文件时会中断。我该如何预防?

我已经尝试过AppExcel.AlertBeforeOverwrite = False并在ReadOnlyfalse上输入参数,Workbook.Open但仍然会发生。

代码如下;

Private Sub btnUpdate_Click()
Dim AppExcel As Excel.Application
Dim wbConn As Excel.Workbook

Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set wbConn = AppExcel.Workbooks.Open("Z:\Company Records\System Files\Connection Data.xlsx", True, False) 'Note that last parameter, Readonly = False
With wbConn
    .RefreshAll
    'Debug.Assert False
    AppExcel.AlertBeforeOverwriting = False 'This doesn't work
    .Save 'BREAKS HERE - message boxes in Excel because the file is Read-only
    .Close
End With
Set wbConn = Nothing
Set AppExcel = Nothing

End Sub
呼叫

尝试添加 IgnoreReadOnlyRecommended:=True

Set wbConn = AppExcel.Workbooks.Open("YourFilePath", True, False, IgnoreReadOnlyRecommended:=True)

如果不起作用,请直接尝试:

Set wbConn = AppExcel.Workbooks.Open("YourFilePath", True, IgnoreReadOnlyRecommended:=True)

另一种解决方案是始终.SaveAs使用文件而不是使用文件.Save,您可以更改文件名或ConflictResolution覆盖现有文件

.SaveAs Filename:="YourFilePath", ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges 

AppExcel.DisplayAlerts = False如果您要避免覆盖文件可能导致的提示消息,建议您添加到代码的开头

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MS Access打开Excel文件强制链接更新

来自分类Dev

VBA 全屏打开 MS Access 表单

来自分类Dev

MS Access VBA 打开文本文件并写入特定行而不覆盖文件

来自分类Dev

MS Access VBA IF()

来自分类Dev

从MS Access打开时,VBA Excel实例未关闭-后期绑定

来自分类Dev

内联MS Access to Excel

来自分类Dev

如何通过只读数据连接到MS Excel /从MS Excel进行访问,才能防止MS Access文件被锁定进行编辑?

来自分类Dev

通过Excel VBA打开Access 2003 .mde文件

来自分类Dev

如何从MS Access 2003 VBA处理MS Excel分页符

来自分类Dev

如何查找打开的MS Access文件的文件路径

来自分类Dev

如何使用MS Excel建立与读写锁定的MS Access的只读数据连接?

来自分类Dev

Int()函数MS Access VBA

来自分类Dev

MS ACCESS vba-错误

来自分类Dev

MS Access VBA 运行查询

来自分类Dev

如何在Java中从InputStream打开MS Access文件?

来自分类Dev

如果打开,请关闭MS Access(.accde)文件

来自分类Dev

在打开JDBC连接后无法移动MS Access文件

来自分类Dev

使用Javascript打开本地MS Access文件

来自分类Dev

在使用VBA从Access自动进行打开和搜索之前,请检查打开的Excel文件

来自分类Dev

MS Access 仅在更改特定方法时停止工作

来自分类Dev

使用MS Access在Excel VBA中运行代码

来自分类Dev

在MS Access中使用Excel VBA进行SQL删除

来自分类Dev

MS Access-VBA-创建新的Excel工作簿

来自分类Dev

使用vba将MS Access查询输出到Excel

来自分类Dev

使用MS Access在Excel VBA中运行代码

来自分类Dev

MS Access,VBA-将交叉表导出到Excel

来自分类Dev

从Access vba关闭Excel文件

来自分类Dev

从Access vba关闭Excel文件

来自分类Dev

MS Access使用VBA从访问文件中删除模块

Related 相关文章

热门标签

归档