Hi All,

Pulling what is left of my hair out with this COM stuff.
All I want to do today to read the TIMESCALE value from the
Outlook Calendar.
Code below compiles and runs but always shows 0 for the Time Scale.

Code:
#COMPILE EXE
#DIM ALL
#INCLUDE "WIN32API.INC"
#INCLUDE "Outlook.Inc"

FUNCTION PBMAIN () AS LONG
LOCAL ProgID_OutlookApplication   AS STRING
LOCAL Outlook                     AS OutlookApplication
LOCAL olCalView                   AS OutlookCalendarView
LOCAL olNameSpace                 AS OutlookNameSpace
LOCAL vNameSpace                  AS VARIANT
LOCAL vType                       AS VARIANT
LOCAL vTimeScale                  AS VARIANT
LOCAL vVNT                        AS VARIANT

  ProgID_OutlookApplication = PROGID$(CLSID$("Outlook.Application"))
  IF LEN(ProgID_OutlookApplication) = 0 THEN ProgID_OutlookApplication = "Outlook.Application"

  SET Outlook = OutlookApplication IN ProgID_OutlookApplication
  IF ISFALSE ISOBJECT(Outlook) THEN SET Outlook = NEW OutlookApplication IN ProgID_OutlookApplication

  IF ISFALSE ISOBJECT(Outlook) THEN
    MSGBOX "Unable to open or start Outlook!"
    EXIT FUNCTION
  END IF

  vType = "MAPI"
  OBJECT CALL Outlook.GetNameSpace(vType) TO vNameSpace
  SET olNameSpace = vNameSpace

  OBJECT CALL olNameSpace.Logon

  OBJECT GET Outlook.ActiveExplorer.CurrentView TO vVNT
  SET olCalView = vVNT

  OBJECT GET olCalView.DayWeekTimeScale TO vTimeScale

  MSGBOX FORMAT$(VARIANT#(vTimeScale))

  OBJECT CALL olNameSpace.Logoff

  SET Outlook     = NOTHING
  SET olNameSPace = NOTHING
  
  
END FUNCTION