Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Фиксирование времени открытия файла - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Фиксирование времени открытия файла
k987 Дата: Среда, 11.02.2015, 10:25 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Подскажите, пожалуйста, как можно зафиксировать время открытия и закрытия файла в определенной ячейке листа. Файл будет использоваться для отображения результатов теста. И нужно отобразить и зафиксировать время начала и окончания теста. Возможно это можно сделать при помощи макроса?
Я смогла додуматься только до отображения с помощью формулы (в файле), но это не годится (значения не фиксируется)
Заранее спасибо!
К сообщению приложен файл: 9795176.xlsx (11.3 Kb)
 
Ответить
СообщениеДобрый день! Подскажите, пожалуйста, как можно зафиксировать время открытия и закрытия файла в определенной ячейке листа. Файл будет использоваться для отображения результатов теста. И нужно отобразить и зафиксировать время начала и окончания теста. Возможно это можно сделать при помощи макроса?
Я смогла додуматься только до отображения с помощью формулы (в файле), но это не годится (значения не фиксируется)
Заранее спасибо!

Автор - k987
Дата добавления - 11.02.2015 в 10:25
vikttur Дата: Среда, 11.02.2015, 10:37 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

В модуле книги
[vba]
Код
Private Sub WorkBook_Open()
      Лист1.Cells(2, 2).Value = Now
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Application.DisplayAlerts = False

      With ThisWorkbook
          Лист1.Cells(3, 2).Value = Now
          .Save
      End With
        
      Application.DisplayAlerts = True
End Sub
[/vba]
При закрытии книга сохраняется без лишних вопросов
К сообщению приложен файл: open.xlsm (17.7 Kb)


Сообщение отредактировал vikttur - Среда, 11.02.2015, 10:38
 
Ответить
СообщениеВ модуле книги
[vba]
Код
Private Sub WorkBook_Open()
      Лист1.Cells(2, 2).Value = Now
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Application.DisplayAlerts = False

      With ThisWorkbook
          Лист1.Cells(3, 2).Value = Now
          .Save
      End With
        
      Application.DisplayAlerts = True
End Sub
[/vba]
При закрытии книга сохраняется без лишних вопросов

Автор - vikttur
Дата добавления - 11.02.2015 в 10:37
_Boroda_ Дата: Среда, 11.02.2015, 10:46 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16892
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Если именно так, как Вы написали:
зафиксировать время открытия и закрытия файла в определенной ячейке листа
, то можно так
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Sheets("Лист1").Range("B5") = "Тест окончен " & Format(Now, "DD.MM.YYYY hh:mm:ss")
End Sub

Private Sub Workbook_Open()
      Sheets("Лист1").Range("B4") = "Тест начат " & Format(Now, "DD.MM.YYYY hh:mm:ss")
End Sub
[/vba]
Но тогда у Вас всегда при открытии файла будет писаться время открытия, а во времени закрытия будет записано время ПРОШЛОГО закрытия
К сообщению приложен файл: 9795176_1.xlsm (17.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли именно так, как Вы написали:
зафиксировать время открытия и закрытия файла в определенной ячейке листа
, то можно так
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Sheets("Лист1").Range("B5") = "Тест окончен " & Format(Now, "DD.MM.YYYY hh:mm:ss")
End Sub

Private Sub Workbook_Open()
      Sheets("Лист1").Range("B4") = "Тест начат " & Format(Now, "DD.MM.YYYY hh:mm:ss")
End Sub
[/vba]
Но тогда у Вас всегда при открытии файла будет писаться время открытия, а во времени закрытия будет записано время ПРОШЛОГО закрытия

Автор - _Boroda_
Дата добавления - 11.02.2015 в 10:46
buchlotnik Дата: Среда, 11.02.2015, 10:49 | Сообщение № 4
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
k987, здравствуйте. Можно так:
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
     Cells(ActiveSheet.UsedRange.Rows.Count, 2).Value = "Тест окончен: " & Format(Now, "hh:mm:ss")
End Sub

Private Sub Workbook_Open()
     Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Value = "Тест начат: " & Format(Now, "hh:mm:ss")
End SubEnd Sub
[/vba]
К сообщению приложен файл: _9795176.xls (45.5 Kb)
 
Ответить
Сообщениеk987, здравствуйте. Можно так:
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
     Cells(ActiveSheet.UsedRange.Rows.Count, 2).Value = "Тест окончен: " & Format(Now, "hh:mm:ss")
End Sub

Private Sub Workbook_Open()
     Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Value = "Тест начат: " & Format(Now, "hh:mm:ss")
End SubEnd Sub
[/vba]

Автор - buchlotnik
Дата добавления - 11.02.2015 в 10:49
k987 Дата: Среда, 11.02.2015, 12:40 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

Спасибо большое!
 
Ответить
СообщениеСпасибо большое!

Автор - k987
Дата добавления - 11.02.2015 в 12:40
k987 Дата: Среда, 11.02.2015, 12:42 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, Это именно то, что мне нужно!
 
Ответить
Сообщение_Boroda_, Это именно то, что мне нужно!

Автор - k987
Дата добавления - 11.02.2015 в 12:42
МВТ Дата: Среда, 11.02.2015, 19:08 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Только, если файл снова открыть, значение, хранящееся в ячейке с временем открытия перезапишется. Ну и при закрытии, соответственно. Поэтом предлагаю дополнить процедуры функцией MsgBox с запросом перезаписи информации
[vba]
Код
if MsgBox("Перезаписать время открытия ", vbYesNo) = vbYes then Sheets("Лист1").Range("B4") = "Тест начат " & Format(Now, "DD.MM.YYYY hh:mm:ss")
[/vba]
И точно так же для закрытия
 
Ответить
СообщениеТолько, если файл снова открыть, значение, хранящееся в ячейке с временем открытия перезапишется. Ну и при закрытии, соответственно. Поэтом предлагаю дополнить процедуры функцией MsgBox с запросом перезаписи информации
[vba]
Код
if MsgBox("Перезаписать время открытия ", vbYesNo) = vbYes then Sheets("Лист1").Range("B4") = "Тест начат " & Format(Now, "DD.MM.YYYY hh:mm:ss")
[/vba]
И точно так же для закрытия

Автор - МВТ
Дата добавления - 11.02.2015 в 19:08
dredd812 Дата: Суббота, 01.05.2021, 17:42 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, Доброго времени суток! Прекрасный инструмент! Но как сделать. что бы данные не перезаписывалис? А записались только 1 раз. Заранее спасибо за ответ!
 
Ответить
Сообщение_Boroda_, Доброго времени суток! Прекрасный инструмент! Но как сделать. что бы данные не перезаписывалис? А записались только 1 раз. Заранее спасибо за ответ!

Автор - dredd812
Дата добавления - 01.05.2021 в 17:42
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!