Расчет разницы во времени между двумя компьютерами (Microsoft Excel)
У Дона есть компьютер, который имеет доступ к нескольким различным серверам в его офисной сети. У этих серверов не синхронизированы часы, и Дону было интересно, есть ли способ в VBA определить расхождение времени между данным сервером и его машиной.
Чтобы вычислить расхождение во времени, вам нужно вычислить два раза — один на вашей машине и один на сервере, а затем сравнить их. Достаточно легко найти время на своей машине; просто используйте функцию времени в VBA. Получить время на другой машине сложнее, так как нет встроенной функции, облегчающей эту задачу.
Однако вы можете использовать вызов функции API для определения времени на удаленном сервере. Этот совет не касается того, как именно разработать такой вызов функции, но вы можете найти в Интернете довольно хорошее руководство для выполнения этой задачи:
http://www.mvps.org/access/api/api0039.htm
Взгляните на страницу, и вы сможете адаптировать код под свои нужды.
Функция fGetServerTime возвращает строку, содержащую полную дату и время. Затем вы можете использовать функцию TimeValue в своем макросе, чтобы преобразовать эту строку в собственное значение времени Excel. После преобразования вы можете сравнить значение с внутренним системным временем, чтобы определить необходимое расхождение.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9268) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Calculating_Time_Differences_between_Two_Machines [Расчет разницы во времени между двумя машинами]
.