Вы явно передаете 'false' для параметра 'ReadOnly', поэтому это поведение странно.
У меня есть две идеи:
(1) Вы уверены, что ваша книга представляет собой файл .XLS, а не .XLT? если это .XLT, как в «C: \ template.xlt» вместо «C: \ template.xls», то поведение, которое вы видите, является НОРМАЛЬНЫМ, потому что ваша книга открывается как шаблон. Измените расширение на «.XLS», и вы получите желаемое поведение.
(2) Если вы не можете заставить его вести себя так, как вам нужно, измените процедуру на «Workbooks.Open», затем немедленно вызовите «Workbooks.SaveAs» и задайте имя и / или путь к файлу рабочей книги в любом месте вы хотите. После этого любой вызов пользователем «Сохранить» (или с помощью кода) приведет к сохранению книги без открытия диалогового окна «Сохранить как».
Обновление
Хорошо, другие мысли:
Вы должны попытаться открыть книгу вручную, а затем попытаться сохранить ее. У тебя такая же проблема? Происходит ли это, когда эта рабочая книга является единственной открытой книгой или только когда открыты другие? Помогает ли переименование рабочей книги?
Суть в том, что это действительно звучит как некое странное разложение. Если ничего из вышеперечисленного не принесет ничего интересного - или, возможно, даже если они это сделают - вы, вероятно, захотите начать с новой рабочей книги. Начиная с пустой книги, присвойте ей то же имя и поместите в то же место. Работает ли это сейчас (по крайней мере, с точки зрения открытия и сохранения). Затем попробуйте добавить свои данные и другие аспекты к нему. Это будет работать, но вы сможете восстановить эту книгу и заставить ее работать.
- Майк