вопрос по WorkbookBeforeSave
От: Аноним  
Дата: 02.11.10 12:20
Оценка:
Перехватываю событие WorkbookBeforeSave вызываемое при нажатии Save или Save As...
При этом если нажимается Save, то имя файла в который будет выполняться сохранение можно получить из передаваемого параметра, а если нажималось Save As..., то оно в момент перехвата не известно.
Как получить имя которое пользователь выберет для сохранения файла, через диаолог Save As... ?
Спасибо.
Re: вопрос по WorkbookBeforeSave
От: ZAMUNDA Земля для жалоб и предложений
Дата: 02.11.10 15:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Перехватываю событие WorkbookBeforeSave вызываемое при нажатии Save или Save As...

А>При этом если нажимается Save, то имя файла в который будет выполняться сохранение можно получить из передаваемого параметра, а если нажималось Save As..., то оно в момент перехвата не известно.
BeforeSave перед показом окна сохранения вызывается, вот оно и не известно. Это ж Before...

А>Как получить имя которое пользователь выберет для сохранения файла, через диаолог Save As... ?

Сделать Cancel = True, показать окно сохранения Application.GetSaveAsFilename, сделать ThisWorkbook.SaveAs.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re[2]: вопрос по WorkbookBeforeSave
От: Аноним  
Дата: 09.11.10 06:32
Оценка:
Здравствуйте, ZAMUNDA, Вы писали:

ZAM>Здравствуйте, Аноним, Вы писали:


А>>Перехватываю событие WorkbookBeforeSave вызываемое при нажатии Save или Save As...

А>>При этом если нажимается Save, то имя файла в который будет выполняться сохранение можно получить из передаваемого параметра, а если нажималось Save As..., то оно в момент перехвата не известно.
ZAM>BeforeSave перед показом окна сохранения вызывается, вот оно и не известно. Это ж Before...

А>>Как получить имя которое пользователь выберет для сохранения файла, через диаолог Save As... ?

ZAM>Сделать Cancel = True, показать окно сохранения Application.GetSaveAsFilename, сделать ThisWorkbook.SaveAs.

сделал как вы предложили, но во время вызова ThisWorkbook.SaveAs (внутри этого метода) вызывается мой обработчик, причем в него передается имя старого файла (не того который я передал в saveas) и SaveAsUI имеет значение false.
это нормальная ситуация или я чего-то не учел ?
изменения в старый файл не сохраняются, сохраняются в новый
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.