Comment obtenir le datetime actuel en UTC à partir d'une macro VBA Excel
Est-il un moyen dans un fichier Excel macro VBA pour obtenir le courant datetime au format UTC?
Je peux appeler Now()
pour obtenir l'heure actuelle dans le fuseau horaire local; est-il un générique façon à ensuite convertir ce à l'UTC?
Grâce
source d'informationauteur Jon
Vous devez vous connecter pour publier un commentaire.
http://excel.tips.net/Pages/T002185_Automatically_Converting_to_GMT.html
Il y a une macro sur cette page avec un LocalTimeToUTC méthode. Regarde comme il ferait l'affaire. Aussi quelques exemples de formules si vous voulez aller dans cette voie.
Modifier - un Autre lien. http://www.cpearson.com/excel/TimeZoneAndDaylightTime.aspx Cette page a plusieurs méthodes pour la date/l'heure. Choisissez votre poison. Soit devrait faire l'affaire, mais je pense que la deuxième est plus joli. 😉
Accordée à cette question est vieux, mais j'ai juste passé un peu de temps pour mettre en commun certaines de code propre sur cette base et je voulais le poster ici au cas où quelqu'un venir à travers cette page pourrait trouver utile.
Créer un nouveau Module dans le VBA Excel IDE (éventuellement en lui donnant un nom de
UtcConverter
ou quel que soit votre préférence peut être dans la Feuille de Propriétés) et le coller dans le code ci-dessous.HTH
Si tous vous avez besoin est à l'heure actuelle, vous pouvez le faire avec Fonction getsystemtimece qui implique moins d'appels Win32. Il vous donne un temps de struct, avec une précision à la milliseconde, ce qui vous permet de formater comment vous souhaitez:
Utilisation:
Simplement, vous pouvez utiliser l'Objet COM pour parvenir à l'Heure UTC de l'Information.
Si vous avez également besoin de tenir compte de l'heure d'été, vous pouvez trouver le code suivant utiles:
Mon projet d'Accès fonctionne avec la plupart des tables d'Accès lié à MS SQL Server tables. C'est un DAO projet et j'ai eu de la difficulté à obtenir même une procédure stockée SQL avec GETUTCDATE() pour revenir en arrière. Mais la suite a été ma solution.
Créer une table Access, dbo_tblUTCDate, lié via ODBC à la table SQL tblUTCDate.
Créer une requête Access pour sélectionner à partir de la table Access. Je l'ai appelé qryUTCDate.
En VBA: