powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно отловить изменение имени книги?
10 сообщений из 10, страница 1 из 1
Как можно отловить изменение имени книги?
    #37069544
SuperJur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!

Если такая возможность, чтобы после того, как было сделано "Сохранить как...", на выполнение запустилась определенная
процедура... Ну что-то типа AfteSave ?
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069646
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно отловить изменение имени книги?
Изменить имя книги можно не открывая файл вообще, так что подумай, надо ли тебе это отлавливать. Максимум - ты можешь запретить save as в событии BeforeSave.
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069691
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

а может ТС как раз и хочет при старте сверять название книги с эталонным
и вот он хочет менять эталонное по пересохранению

в общем название книги хранится в свойстве name объекта workbook
имя активной книги это activeworkbook.name
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069746
SuperJur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, спасибо за подсказку! В принципе, устроит.
Но неужели нет возможности отловить изменение наименования книги из VBA ? Просто в книге есть ссылка на файл формата XML и он будет называться так же, как новое название книги, поэтому после записи книги под новым наименованием необходимо обновить данные из XMK.
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069754
SuperJur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanus ActiveWorkBook.Name я использую, да. Но мне нужно отловить именно тот момент, когда оно станет новым, чтобы обновить данные на листе.
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069773
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: SuperJur
> Shamanus ActiveWorkBook.Name я использую,

Используй ThisWorkBook и при открытии книги проверяй нужные места и исправляй.



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069809
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именем книги является название файла. Поменять имя книги программно из экселя нельзя принципиально, потому что файл открыт и заблокирован. При "сохранении как" создается новый файл, а старый закрывается. При этом ни у кого имя не меняется.
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069841
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код модуля ЭтаКнига (ThisWorkbook - для англ. ворсии):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim OldName As String

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  OldName = ThisWorkbook.Name
  Application.OnTime Now, ThisWorkbook.CodeName & ".CheckName"
End Sub

Private Sub CheckName()
  If ThisWorkbook.Name <> OldName Then MsgBox "Name was changed!"
End Sub
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069872
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ZVI


Я думал предложить OnTime, но потом передумал. Потому что файл могут закрывать и при закрытии спросят о
сохранении опять думал не в ту степь :)
Можно попробовать и таймер использовать

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как можно отловить изменение имени книги?
    #37069889
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносЯ думал предложить OnTime, но потом передумал. Потому что файл могут закрывать и при закрытии спросят о
сохранении опять думал не в ту степь :)
Можно попробовать и таймер использовать
Игорь,
Ну да, при закрытии другое имя Excel не предложит.
А OnTime метод в данном случае хорош именно тем, что сработает без задержки сразу после неизвестно сколько длящегося сохранения.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно отловить изменение имени книги?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]