Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Outlook, ContactItem, and field names
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01143190
Message ID:
01143249
Views:
10
Hi Steve,

It's bad idea to use work area numbers in SELECT because it makes program very hard to read and maintain. You should use alias instead.
		SELECT 0
		USE myLine
		SELECT 0
		USE myyline
		SELECT myline
* or		
		USE myLine IN 0
		USE myyline IN 0
		SELECT myline
>Thanks very much, I'm posting this for anyone else who may run into same problem
>Steve
>
>
>SET SAFETY off
>#DEFINE olContactItem	2	
>clear
>oOutlook   = CreateObject("Outlook.Application")
>oci = oOutlook.CreateItem( olContactItem )
>
>LOCAL ol AS Outlook.Application
>LOCAL oNamespace as Outlook.NameSpace
>LOCAL oContactFolder AS Outlook.MAPIFolder
>LOCAL oContactItem AS Outlook.ContactItem
>
>ol=CREATEOBJECT("outlook.application")
>oNameSpace = ol.GetNamespace("MAPI")
>* olContacts constant = 10
>oContactFolder = oNameSpace.GetDefaultFolder( 10 )
>
>oContactItems = oContactFolder.Items
>
>CREATE TABLE myyline ( zType c(10), zFieldName c(50), zContents c(250))
>
>xx = 1
>	IF xx = 2
>		CREATE TABLE myline ( myline c(80))
>		For ix = 1 to AMembers(aoci,oci,3)
>			If aOci[m.ix,2] == "PropertyPut"
>				myField = aOci[m.ix,1]
>				myCount = STR(AMEMBERS(aoci,oci,3))
>				AndShow = STR(ix) +" of  "+ myCount + " "  +myField
>				? AndShow
>				GO bott
>				APPEND BLANK
>				GO bott
>				REPLACE myline WITH myField
>			endif
>		ENDFOR
>	ELSE
>		CLOSE data
>		USE myLine
>		SELECT 2
>		USE myyline
>		SELECT 1		
>	Endif
>GO top
>*BROWSE WIDTH 40
>
>FOR EACH oContactItem IN oContactItems
>	*IF oContactItem.Class = 40
>	GO top
>	DO WHILE .not. EOF()
>	oMyField 	= ALLTRIM(myLine)
>	oField 		= "oContactItem." + oMyField
>	mVar 		= varTYPE(&oField)
>	isEmpty 	= 0
>	FieldCont 	= ""
>
>	** date
>	IF mVar == "T"
>		tField =  DTOC(&oField)
>		IF tField  	== "01/01/01"
>			isEmpty = 1
>		else
>			FieldCont = tField
>		Endif
>	endif
>
>	** charac
>	IF mVar == "C"
>		FieldLen 	=  LEN(alltrim(&oField))
>		IF FieldLen = 0	
>			isEmpty = 1
>		Else
>			FieldCont = alltrim(&oField)
>		Endif
>	endif
>
>	** number
>	IF mVar == "N"
>		FieldLen 	=  LEN(alltrim(STR(&oField)))
>		IF FieldLen = 0	
>			isEmpty = 1
>		Else
>			FieldCont = alltrim(STR(&oField))
>		Endif
>		** those 0 or 1 fields
>		IF FieldCont == "0" .or. FieldCont == "1"
>			FieldCont = ""
>		Endif
>	endif
>	
>	** result
>	IF LEN(ALLTRIM(FieldCont)) > 0
>		mTy 	=  	mVar
>		mFiel 	=  	oMyField
>		mCont 	= 	FieldCont
>		? mTy, mFiel, mCont
>		SELECT 2
>			GO bott
>			APPEND BLANK
>			GO bott
>			REPLACE zType 		WITH mVar
>			REPLACE zFieldName 	WITH mFiel
>			REPLACE zContents	WITH mCont
>		SELECT 1
>		*WAIT
>	Endif
>	****
>
>	Skip
>	Enddo
>		SELECT 2
>			GO bott
>			APPEND BLANK
>			GO bott
>			REPLACE zContents 		WITH "----------------------------------"
>		SELECT 1
>	*ENDIF
>ENDFOR
>
>** now move to Word
>
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform