Откройте книгу как скрытую, а затем установите ее как «сохраненную», чтобы пользователи не получали приглашения при закрытии.
Dim w As Workbooks
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Set w = Workbooks
w.Open Filename:="\\server\PriceList.xlsx", UpdateLinks:=False, ReadOnly:=True 'this is the data file were going to be opening
ActiveWindow.Visible = False
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
w.Item(2).Saved = True 'this will suppress the safe prompt for the data file only
End Sub
Это в некоторой степени производное от ответа Ашока.
Поступая таким образом, вы не будете получать приглашение сохранить изменения в файле Excel, из которого вы читаете. Это замечательно, если файл Excel, из которого вы читаете, предназначен для проверки в качестве источника данных. Например, если рабочая книга содержит названия продуктов и данные о ценах, ее можно скрыть, и вы можете показать файл Excel, который представляет счет-фактуру с выпадающими списками для продукта, который проверяется по этому прайс-листу.
Затем вы можете сохранить прайс-лист в общем месте в сети и сделать его доступным только для чтения.