Как я могу найти смещение часового пояса пользователя в Excel - PullRequest
0 голосов
/ 10 февраля 2009

Я использую макрос Excel для создания RSS-канала. Смещение часового пояса пользователя должно идти в поле RSS-канала. Как я могу сделать это программно в макрос функции Excel?

1 Ответ

0 голосов
/ 10 февраля 2009

Вставьте следующий код в модуль в Excel:

Private Declare Function GetTimeZoneInformationAny Lib "kernel32" Alias _
  "GetTimeZoneInformation" (buffer As Any) As Long

Function GetTimeZone() As Single
  Dim retval As Long
  Dim buffer(0 To 42) As Long

  Const TIME_ZONE_ID_INVALID = &HFFFFFFFF
  Const TIME_ZONE_ID_UNKNOWN = 0
  Const TIME_ZONE_ID_STANDARD = 1
  Const TIME_ZONE_ID_DAYLIGHT = 2

  retval = GetTimeZoneInformationAny(buffer(0))

  Select Case retval
    Case TIME_ZONE_ID_INVALID
      GetTimeZone = 0
    Case TIME_ZONE_ID_STANDARD, TIME_ZONE_ID_UNKNOWN
      GetTimeZone = (buffer(0) + buffer(21)) / -60
    Case TIME_ZONE_ID_DAYLIGHT
      GetTimeZone = (buffer(0) + buffer(42)) / -60
    Case Else
      GetTimeZone = 0
  End Select

End Function

(от http://binaryworld.net/Main/CodeDetail.aspx?CodeId=152)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...