我有一些VBA打开电子表格并从Access导入数据,如何锁定原始文件并自动“另存为”?

时间:2015-07-08 13:38:31

标签: excel vba access-vba ms-access-2010 database-administration

以下代码附加到命令按钮并打开Excel工作簿,然后从Access窗体导入十几个(主要在下面的代码中编辑)字段。我遇到的麻烦是用户:

(1)使用按钮一次。

(2)点击“保存”而不是“另存为”。

(3)第二次使用按钮。

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

在下面的代码中,我该怎么做:

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

(B)打开时自动显示“另存为”对话框。

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提供的解决方案但到目前为止没有运气。

1 个答案:

答案 0 :(得分:1)

试试这个:

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