отключить кнопку сохранения в Excel - PullRequest
0 голосов
/ 10 февраля 2012

Как отключить кнопку сохранения в Excel или переопределить ее функциональность по умолчанию? У меня есть проект VSTO Excel, и нет необходимости сохранять саму книгу Excel, потому что мы используем наши собственные способы сохранения данных документа с использованием WCF. Это даже создает проблемы для нас, когда у пользователя нет прав на запись: тогда он получает диалоговое окно «сохранить как», которое по-прежнему ничего не делает, потому что я отменяю событие сохранения, используя следующий код:

void ThisWorkbook_BeforeSave(bool SaveAsUI, ref bool Cancel)
    {
        Cancel = true;
    }

Я также могу отменить запрос «Вы хотите сохранить», используя:

 void ThisWorkbook_BeforeClose(ref bool Cancel)
    {
        this.Saved = true;
    }

Но если файл доступен только для чтения и я нажимаю кнопку Сохранить, я получаю сообщение «Этот файл только для чтения». Я не хочу получить это.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Если вы используете Office 2010 или 2007, вы можете загрузить ленту, которая отключает встроенные команды save и save-as.

Наиболее полная документация, которую я знаю для разметки ленты, находится здесь:

MSDN Настройка ленточного интерфейса Office - 1

MSDN Настройка ленточного интерфейса Office - 2

MSDN Настройка ленточного интерфейса Office - 3

0 голосов
/ 10 февраля 2012

Я понял, что если вы создадите проект шаблона вместо проекта рабочей книги, то ничего не произойдет, если вы нажмете Сохранить, если мой код из вопроса будет применен.

...