Страницы: 1
RSS
Текущая дата, Как можно получить РЕАЛЬНУЮ (не системную, а именно реальную) дату?
 
Здравствуйте!
Немного греческих календ... :)
Книга не должна открываться, скажем, в среду до 14.00 (защита от постороннего вездесуя).
Код написал, всё работает автозапуском безукоризненно. НО...
Стоит сменить системную дату/время, как всё – псу под хвост! Комп подключён к Инету. Существует ли возможность синхронизации даты/времени с временем Инета силами самого excel'я?
 
Как бы сказать...найти сайт, где тикает время, получить код страницы, пропарсить. Сверить.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Отличный код!
 
Цитата
Самсон пишет:
Стоит сменить системную дату/время, как всё – псу под хвост! Комп подключён к Инету.
ИМХО следует решить проблему административными методами: лишить юзера права менять системное время.
Если требуется поддерживать системное время с высокой точностью, надо включить синхронизацию времени через инет средствами ОС.
Изменено: Казанский - 26.03.2013 22:21:34
 
Нет, высокая точность не нужна. Нужно, чтобы при открытии книги дата/время автоматом синхронизировались. Дело в том, что синхронизация с помощью ОС имеет какие-то интервалы. Я же не могу поставить это ежесекундно. А в этот интервал книгу можно открыть, распечатать, и т.д., и т.п.
 
И что, если Ваш шаловливый юзер захочет накосячить, то не сможет отключиться от сети? Или запустить Экс с отключенными макросами, или... и т.д. и т. п.
Изменено: KuklP - 26.03.2013 22:45:10
Я сам - дурнее всякого примера! ...
 
Цитата
Самсон пишет:
Отличный код!
А Вы просили код? Или я нанимался Вам его предоставить? Где Ваши попытки решить свою проблему? Перечитайте свое сообщение и что Вы в нем просите:
Код
Существует ли возможность синхронизации даты/времени с временем Инета силами самого excel'я?

Я Вам описал возможность получения времени, если иное Вам недоступно. Или Вы думаете, что тут только и делают что каждому по требованию и без коды стряпают, если им самим что-то попытаться сделать лень или некогда?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Ах, боже ж мой! Это другой вопрос! Неинтересный. Я могу просто блокировать книгу по ошибке соединения, а без включённых макросов её открывать вообще смысла нет – значения рассчитываются и прописываются в ячейки только макросом, при запуске, в свёрнутом состоянии. Без макроса – просто лист с кучей неутрамбованных данных. Просто об этом знаю только я. И я не собираюсь эти ошибки оснащать всякими MsgBoxами с бубенцами!
Выворачиваться-то меня обстоятельства научили, мне нужна помощь в ЭТОЙ ситуации.
 
Цитата
The_Prist пишет:
А Вы просили код? Или я нанимался Вам его предоставить? Где Ваши попытки решить свою проблему? Перечитайте свое сообщение и что Вы в нем просите:
Нет, не просил. Нет, не нанимал. Я всё понял, кроме одного – чем мне может пригодиться Ваш пост? Ни разу не попадали в ситуацию, когда Вас отчитывают, как школяра, не выучившего урок? Так попадёте.
Жизнь больше, чем Excel.
 
Самсон, Понимаю Вашу озабоченность, но...
Вы хотите защитить свою интеллектуальную собственность, вероятно с целью получения выгоды... при этом хотите воспользоваться такой же собственностью другого человека...
Может стоит поделится выгодой?
Простите за прямоту, я так сказал потому, что сам не знаю, как сделать то, что Вам нужно.
 
Цитата
Самсон пишет:
Я всё понял, кроме одного – чем мне может пригодиться Ваш пост?
Самсон, сбавьте обороты! Дмитрий подсказал Вам способ. Откройте, например, Яндекс - там есть текущая дата и даже время (для текущего часового пояса). Вот ОТТУДА и можно брать дату.
 
Самсон, прозвучало "Код написал, всё работает автозапуском безукоризненно".
Это подразумевает определенный уровень знаний и навыков в excel и VBA,
то есть, читается "нужны идеи, с кодированием нет проблем"
Идеи же и предлагались, причем хорошие.

Смотрите сами, вот ответ Дмитрия(The_Prist), но разжеванный до безобразия  :)  

Достаточно вручную сделать на каком-нибудь (скрытом) листе Web-запрос к сайту с датой и временем.
Например, для Москвы запрос к этому: http://free.timeanddate.com/clock/i3k7r5ed/n166/tlru33/tt0
Результат запишется в одну ячейку. Запрос сохраняется вместе с книгой.
В свойствах диапазона данных поставить галочку "Обновление при открытии файла".
При открытии книги заглядывать кодом в эту ячейку.

Web-запросы в Excel 2003 создаются из меню: Данные - Импорт внешних данных - Создать web-запрос.
В Excel 2007+ на ленте, вкладка Данные - Из Веба.
В открывшемся окне ткнуть желтую стрелку, она превратится во флажок, нажать кнопку Импорт, указать ячейку вывода результата, нажать OK.
Правым кликом на ячейке результата можно задать "Свойства диапазона данных" (упоминал выше)

Если нужен код формирования запроса, то перед созданием запроса достаточно включить макрорекодер.
Кодом можно и удалить запрос после проверки даты-времени, чтобы не светиться.

Если возникнут проблемы с реализацией, спрашивайте конкретнее, что именно не получается.
Изменено: ZVI - 27.03.2013 08:56:58
 
Цитата
Михаил С. пишет:
Самсон,  Понимаю Вашу озабоченность, но...
Вы хотите защитить свою интеллектуальную собственность, вероятно с целью получения выгоды...
Простите за прямоту, я так сказал потому, что сам не знаю, как сделать то, что Вам нужно.
Ваша прямота мне импонирует! Но на самом деле всё проще: человек, о котором я упоминал как о вездесущем, не совсем понимает, как подготавливаются данные для отчёта и раньше времени "сливает" промежуточные.итоги наверх. В результате этого нас начинают мучить разборками, поисками виноватых, проверками, вынуждают оправдываться. Слова, что "ещё не готово" не принимаются, так как "вот же, я вижу!" Но, видимо, тут изливаться не принято, поэтому извините, пожалуйста!
 
Цитата
ZVI пишет:
Самсон, прозвучало "Код написал, всё работает автозапуском безукоризненно".
Это подразумевает определенный уровень знаний и навыков в excel и VBA,
то есть, читается "нужны идеи, с кодированием нет проблем"
Идеи же и предлагались, причем хорошие.
Рад поблагодарить Вас ещё раз. Самое смешное, что я это делал, но, видимо, где-то не догнал и подумал, что это тупиковое решение. Теперь всё вскопаю в этом направлении! Спасибо!

Я-таки дожал :)
ActiveWindow.WindowState = xlMinimized
Sheets("Лист2").Unprotect ("8524")
With ActiveSheet.QueryTables.Add(Connection:= _
       "URL;http://free.timeanddate.com/clock/i3k7r5ed/n166/tlru33/tt0", Destination _
       :=Range("Лист2!$C$52"))
       On Error GoTo 122
       .Name = "tt0_1"
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .BackgroundQuery = True
       .RefreshStyle = xlOverwriteCells
       .SavePassword = False
       .SaveData = False
       .AdjustColumnWidth = False
       .RefreshPeriod = 0
       .WebSelectionType = xlEntirePage
       .WebFormatting = xlWebFormattingNone
       .WebPreFormattedTextToColumns = True
       .WebConsecutiveDelimitersAsOne = True
       .WebSingleBlockTextImport = False
       .WebDisableDateRecognition = False
       .WebDisableRedirections = False
       .Refresh BackgroundQuery:=False
Sheets("Лист2").Protect ("8524"): Sheets("Лист1").Select: ActiveWindow.WindowState = xlMaximized
   End With
...........
122 Application.DisplayAlerts = False: Sheets("Лист1").Select
ActiveWorkbook.Save: Application.DisplayAlerts = True: ActiveWindow.WindowState = xlMaximized
ActiveWorkbook.Close

Вот и всё, совсем небольно! И, несмотря на чванство некоторых, всем большое спасибо!!!
Изменено: Самсон - 27.03.2013 18:31:51 (Дополнение)
 
Цитата
Но на самом деле всё проще: человек, о котором я упоминал как о вездесущем, не совсем понимает, как подготавливаются данные для отчёта и раньше времени "сливает" промежуточные.итоги наверх. В результате этого нас начинают мучить разборками, поисками виноватых, проверками, вынуждают оправдываться. Слова, что "ещё не готово" не принимаются, так как "вот же, я вижу!" Но, видимо, тут изливаться не принято, поэтому извините, пожалуйста!
а зачем такие сложности? достаточно настроить планировщик которые в определенное время будет выполнять макрос. Макрос будет создавать отдельную книгу только с готовыми данными  и отправлять ,например по email, конечному пользователю.
Тогда и не потребуется лепить псевдозащиту на макрос, пользователь просто не будет знать о нем
Изменено: Jom - 27.03.2013 12:54:39
Страницы: 1
Наверх