我有一些 VBA 打开电子表格并从 Access 导入数据,如何锁定原始文件并自动 "Save As"?

I have some VBA that opens a spreadsheet and imports data from Access, how do I lock the original and automatically "Save As"?

下面的代码附加到一个命令按钮并打开一个 Excel 工作簿,然后从访问表单导入十几个(大部分在下面的代码中编辑)字段。我遇到的麻烦是用户:

(1) 使用按钮一次。

(2) 点击 "Save" 而不是 "Save As"。

(3) 再次使用该按钮。

(3)抱怨工作簿上有旧数据。

在下面的代码中,我如何:

(A) 防止用户编辑工作簿的主副本。

(B) 打开时自动弹出"Save As"对话框。

Private Sub cmd1_Click()
Dim appExcel As Excel.Application
Dim wbook As Excel.Workbook
Dim wsheet As Excel.Worksheet

Set appExcel = New Excel.Application
appExcel.Visible = True
Set wbook = appExcel.Workbooks.Open("F:\Network Folder\MySpreadsheet.xlsx")
Set wsheet = wbook.Worksheets("Sheet1")

With wsheet
.Cells(10, 1).Value = txt1
.Cells(10, 2).Value = txt2   
End With
End Sub

我已经尝试了 here 提供的解决方案,但到目前为止没有成功。

试试这个:

Set wbook = appExcel.Workbooks.Open(Filename:="F:\Network Folder\MySpreadsheet.xlsx", ReadOnly:=True)