Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Автоматический перенос данных

Автор Геннадий, 08.06.2012, 13:07

« назад - далее »

Геннадий

Здравствуйте. Подскажите пожалуйста как сделать, чтобы данные автоматически переносились из файла. Например, открыт один и тот же файл, один для редактирования, другой для чтения. Если внести изменения в файл для редактирования и сохранить, надо чтобы эти изменения автоматически появлялись в фале для чтения. Спасибо

GWolf

Добрый день, ув. Геннадий!

Рекомендую Вам еще раз перечитать Ваш пост, на тему его адекватности!?
Путей к вершине - множество. Этот один из многих!

kuklp

Цитата: GWolf от 15.07.2012, 17:12
Рекомендую Вам еще раз перечитать Ваш пост, на тему его адекватности!?
+!
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

IKor

А по-моему все понятно:
Человеку нужно, чтобы изменения в файле немедленно после сохранения отображались в копиях файла, открытых только для чтения.

Другое дело, что я не знаю как это реализовать физически...

GWolf

Цитата: IKor от 16.07.2012, 12:13
А по-моему все понятно:
Человеку нужно, чтобы изменения в файле немедленно после сохранения отображались в копиях файла, открытых только для чтения.

Другое дело, что я не знаю как это реализовать физически...

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

Шпец Докапыч

А вот и макрос:
для модуля ЭтаКнига:
Private Sub Workbook_Open()
 If Me.ReadOnly Then UpdateFile
End Sub

для модуля Module1:
Sub UpdateFile()
 Set fso = CreateObject("Scripting.FileSystemObject")
 DLM = fso.GetFile(ThisWorkbook.FullName).DateLastModified
 LST = ThisWorkbook.BuiltinDocumentProperties("Last save time")
 
 Application.OnTime Now + TimeValue("00:00:10"), "UpdateFile"
 If Abs(DateDiff("s", DLM, LST)) > 9 Then
   Application.DisplayAlerts = False
   Workbooks.Open ThisWorkbook.FullName
 End If
End Sub
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Геннадий

Спасибо огромное! Случайно заглянул. А то столько просмотров и ни одного ответа. Попробовал-все получилось. Еще раз огромное спасибо.