Don ha un computer che ha accesso a diversi server sulla rete del suo ufficio. Questi server non hanno i loro orologi sincronizzati e Don si chiedeva se ci fosse un modo, in VBA, per determinare la discrepanza temporale tra un dato server e la sua macchina.

Per calcolare la discrepanza temporale, dovrai calcolarne due volte, una sulla tua macchina e una sul server, e poi confrontarle. Ottenere il tempo sulla propria macchina è abbastanza facile; basta usare la funzione Time in VBA. Ottenere il tempo su un’altra macchina è più difficile, poiché non esiste una funzione incorporata che faciliti questo compito.

È tuttavia possibile utilizzare una chiamata di funzione API per determinare l’ora su un server remoto. Esattamente come svilupperesti una tale chiamata di funzione va oltre lo scopo di questo suggerimento, ma puoi trovare un buon tutorial online per portare a termine il compito:

http://www.mvps.org/access/api/api0039.htm

Dai un’occhiata alla pagina e puoi adattare il codice alle tue esigenze.

La funzione fGetServerTime restituisce una stringa che contiene la data e l’ora complete. È quindi possibile utilizzare la funzione TimeValue nella macro per convertire questa stringa in un valore temporale Excel nativo. Una volta convertito, puoi confrontare il valore con l’ora del sistema interno per determinare la discrepanza di cui hai bisogno.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3258) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: