Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка события сохранения книги Excel / 6 сообщений из 6, страница 1 из 1
14.12.2012, 17:14
    #38079813
Тверд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка события сохранения книги Excel
Есть папка на локальной машине и, одноименная папка на сетевом диске. Необходимо поддерживать актуальность содержимого папки на сетевом диске.
На кнопку на ленте подвешена процедура, которая, через Replace в полном имени файла последовательно сохраняет книгу в локальной папке и в сетевой...

Но я иногда забываю про кнопку и сохраняю файл только в локальной папке! Хочу написать обработку события сохранения книги, с тем чтобы, в случае если книга лежит в заданной папке, срабатывала вышеуказанная процедура.

Проблема, для меня по крайней мере, в том, что хранимые файлы макросов не содержат в принципе, а ЭтаКнига в PERSONAL.XLSB обрабатывает события самой PERSONAL.XLSB. Т.е. я вижу задачу научить PERSONAL.XLSB обрабатывать события любой книги Excel, а как это сделать не понимаю.
...
Рейтинг: 0 / 0
14.12.2012, 21:07
    #38080140
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка события сохранения книги Excel
Может, переложить данный функционал на средства ОСи?
...
Рейтинг: 0 / 0
15.12.2012, 09:43
    #38080410
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка события сохранения книги Excel
Тверд,

Напиши код в твоей ЭтаКнига, который сначала сам пишет нужный тебе код в событие сохранения любой книги (таким образом они получают макро), а потом сохраняет книги локально, но код для сети уже будет, и он сработает. Пример кода (в смысле какие классы могут понадобиться) здесь 12910314 .
...
Рейтинг: 0 / 0
17.12.2012, 10:13
    #38081511
Тверд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка события сохранения книги Excel
VladConn,

Спасибо, буду разбираться.
...
Рейтинг: 0 / 0
17.12.2012, 14:10
    #38081898
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка события сохранения книги Excel
Тверд...я вижу задачу научить PERSONAL.XLSB обрабатывать события любой книги Excel, а как это сделать не понимаю.
Для этого в PERSONAL.XLSB в модуль ЭтаКнига нужно записать такой код:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
' Code of ThisWorkbook/ЭтаКнига module
Private WithEvents App As Application

Private Sub Workbook_Open()
  Set App = Application
End Sub

Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Const NetPath = "\\Server1\Share1\" ' <-- Change to suit
  Dim f As String
  f = NetPath & Me.Name
  If Len(Dir(f)) > 0 Then SetAttr f, vbNormal
  Wb.SaveCopyAs f
  SetAttr f, vbReadOnly
End Sub
...
Рейтинг: 0 / 0
18.12.2012, 10:15
    #38083031
Тверд
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка события сохранения книги Excel
ZVI,

Спасибо, загрузился по полной.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Обработка события сохранения книги Excel / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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