Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Ayuda por favor!!!!
Message
 
À
24/04/2004 09:59:21
Information générale
Forum:
Visual FoxPro
Catégorie:
Contrôles ActiveX en VFP
Divers
Thread ID:
00897893
Message ID:
00899019
Vues:
13
Hola Paisano, esto es lo que yo uso, puedes copiar este codigo en un PRG
o puedes crear un objeto o "class" con los metodos descritos en el codigo
y copiarlos, buena suerte,

DEFINE CLASS MsOutLook AS CUSTOM

PROCEDURE INIT
THIS.oOutLookReference = CREATEOBJECT("OutLook.Application")
LOCAL loOutLook

loOutLook = THIS.oOutLookReference
THIS.oNameSpace = loOutLook.GetNameSpace("MAPI")

THIS.DoDefine()
ENDPROC


PROCEDURE AddAppointment

LPARAMETERS tcBody,;
tdStart,;
tdEnd,;
tcSubject,;
tcLocation,;
tcCateGories,;
tlAllDayevent


LOCAL loAppointment,;
loOutLookReference

#DEFINE olAppointmentItem 1
#DEFINE olBusy 2

IF TYPE('THIS.oOutLookReference') <> 'O'
MESSAGEBOX("Could not instatiate a reference to outlook")
RETURN -1
ENDIF

loOutLookReference = THIS.oOutLookReference

loAppointment = loOutLookReference.CreateItem(olAppointmentItem)

IF VARTYPE(tlAlldayEvent) <> 'L'
tlAllDayEvent = .F.
ENDIF

IF VARTYPE(tcBody) <>'C'
tcBody = ''
RETURN -1
ENDIF

IF !INLIST(VARTYPE(tdStart),'D','T')
MESSAGEBOX("Start date/time can't be empty")
RETURN -2
ENDIF

IF !INLIST(VARTYPE(tdEnd),'D','T')
MESSAGEBOX("End date/time can't be empty")
RETURN -2
ENDIF

IF VARTYPE(tcLocation) <> "C"
tcLocation = ''
ENDIF

IF VARTYPE(tcCategories) <> 'C'
tcCategories = ''
ENDIF

WITH loAppointment
.AllDayEvent = IIF(tlAllDayEvent,1,0)
.Body = tcBody
.START = tdStart
.END = tdEnd
.Subject = tcSubject
.Location = tcLocation
.BusyStatus = olBusy
.Categories = IIF(!EMPTY (tcCategories),tcCategories,.Categories)
.ReminderMinutesBeforeStart = 5
.SAVE
ENDWITH
ENDPROC

PROCEDURE AddContact
LPARAMETERS tcBody,;
tdStart,;
tdEnd,;
tcSubject,;
tcLocation,;
tcCateGories,;
tlAllDayevent


LOCAL loAppointment,;
loOutLookReference

#DEFINE olAppointmentItem 1
#DEFINE olBusy 2

IF TYPE('THIS.oOutLookReference') <> 'O'
MESSAGEBOX("Could not instatiate a reference to outlook")
RETURN -1
ENDIF

loOutLookReference = THIS.oOutLookReference

loAppointment = loOutLookReference.CreateItem(olAppointmentItem)

IF VARTYPE(tlAlldayEvent) <> 'L'
tlAllDayEvent = .F.
ENDIF

IF VARTYPE(tcBody) <>'C'
tcBody = ''
RETURN -1
ENDIF

IF !INLIST(VARTYPE(tdStart),'D','T')
MESSAGEBOX("Start date/time can't be empty")
RETURN -2
ENDIF

IF !INLIST(VARTYPE(tdEnd),'D','T')
MESSAGEBOX("End date/time can't be empty")
RETURN -2
ENDIF

IF VARTYPE(tcLocation) <> "C"
tcLocation = ''
ENDIF

IF VARTYPE(tcCategories) <> 'C'
tcCategories = ''
ENDIF

WITH loAppointment
.AllDayEvent = IIF(tlAllDayEvent,1,0)
.Body = tcBody
.START = tdStart
.END = tdEnd
.Subject = tcSubject
.Location = tcLocation
.BusyStatus = olBusy
.Categories = IIF(!EMPTY(tcCategories),tcCategories,.Categories)
.ReminderMinutesBeforeStart = 5
.SAVE
ENDWITH

ENDPROC


PROCEDURE AddJournal
LPARAMETERS tcBody,;
tdStart,;
tdEnd,;
tcSubject,;
tcLocation,;
tcCateGories,;
tlAllDayevent


LOCAL loAppointment,;
loOutLookReference

#DEFINE olAppointmentItem 1
#DEFINE olBusy 2

IF TYPE('THIS.oOutLookReference') <> 'O'
MESSAGEBOX("Could not instatiate a reference to outlook")
RETURN -1
ENDIF

loOutLookReference = THIS.oOutLookReference

loAppointment = loOutLookReference.CreateItem(olAppointmentItem)

IF VARTYPE(tlAlldayEvent) <> 'L'
tlAllDayEvent = .F.
ENDIF

IF VARTYPE(tcBody) <>'C'
tcBody = ''
RETURN -1
ENDIF

IF !INLIST(VARTYPE(tdStart),'D','T')
MESSAGEBOX("Start date/time can't be empty")
RETURN -2
ENDIF

IF !INLIST(VARTYPE(tdEnd),'D','T')
MESSAGEBOX("End date/time can't be empty")
RETURN -2
ENDIF

IF VARTYPE(tcLocation) <> "C"
tcLocation = ''
ENDIF

IF VARTYPE(tcCategories) <> 'C'
tcCategories = ''
ENDIF

WITH loAppointment
.AllDayEvent = IIF(tlAllDayEvent,1,0)
.Body = tcBody
.START = tdStart
.END = tdEnd
.Subject = tcSubject
.Location = tcLocation
.BusyStatus = olBusy
.Categories = IIF(!EMPTY(tcCategories),tcCategories,.Categories)
.ReminderMinutesBeforeStart = 5
.SAVE
ENDWITH
ENDPROC


PROCEDURE AddNote
LPARAMETERS tcBody

#DEFINE olNoteItem 5

LOCAL loNote,;
loOutLookReference,;
llRtnVal


loOutLookReference = THIS.oOutLookReference


IF VARTYPE(tcBody) <> 'C'
RETURN -1
ENDIF

loNote = loOutLookReference.CreateItem(olNoteItem)

loNote.Body = tcBody
loNote.SAVE

RETURN 0
ENDPROC

PROCEDURE AddTask
LPARAMETERS tcBody,;
tdStart,;
tdDue,;
tcSubject


LOCAL loTask,;
loOutLookReference


#DEFINE olTaskItem 3


IF TYPE('THIS.oOutLookReference') <> 'O'
MESSAGEBOX("Could not instatiate a reference to outlook")
RETURN -1
ENDIF

loOutLookReference = THIS.oOutLookReference

loTask = loOutLookReference.CreateItem(olTaskItem)


IF VARTYPE(tcBody) <>'C'
tcBody = ''
RETURN -1
ENDIF

IF !INLIST(VARTYPE(tdStart),'D','T')
MESSAGEBOX("Start date/time can't be empty")
RETURN -2
ENDIF

IF !INLIST(VARTYPE(tdDue),'D','T')
MESSAGEBOX("End date/time can't be empty")
RETURN -2
ENDIF


WITH loTask
.Body = tcBody
.StartDate = tdStart
.DueDate = tdDue
.Subject = tcSubject
.SAVE
ENDWITH
ENDPROC

PROCEDURE CreateItem
LPARAMETER tnItemCode

LOCAL loOutlookRefence

loOutLookReference = THIS.oOutLookReference

IF TYPE('tnItemCode') <> 'N'
RETURN -1
ENDIF

RETURN loOutLookReference.CreateItem(tnItemCode)
ENDPROC

PROCEDURE DoDefine
*/ Item Constants
#DEFINE olMailItem 0
#DEFINE olAppointmentItem 1
#DEFINE olContactItem 2
#DEFINE olTaskItem 3
#DEFINE olJournalItem 4
#DEFINE olNoteItem 5
#DEFINE olPostItem 6

*/ Folder Constants

#DEFINE olFolderCalendar 9
#DEFINE olFolderContacts 10
#DEFINE olFolderDeletedItems 3
#DEFINE olFolderInBox 6
#DEFINE olFolderJournal 11
#DEFINE olFolderNotes 12
#DEFINE olFolderOutBox 4
#DEFINE olFolderSentMail 5
#DEFINE olFolderTask 13

#DEFINE olBusy 2
#DEFINE True .T.
#DEFINE False .F.
#DEFINE olPrivate 2

*/ Importance Constants

#DEFINE olImportanceLow 0
#DEFINE olImportanceNormal 1
#DEFINE olImportanceHigh 2

ENDPROC

PROCEDURE SendMail
LPARAMETER tcReceiver,tcMessage,tcSubject,tcCarbonCopy,tlCertified

#DEFINE olMailItem 0
#DEFINE olImportanceHigh 2

LOCAL loEmailItem,;
loOutLookReference

IF TYPE('THIS.oOutLookReference') <> 'O'
MESSAGEBOX("Could not instatiate a reference to outlook")
RETURN -1
ENDIF

loOutLookReference = THIS.oOutLookReference
loEmailItem = loOutLookReference.CreateItem(olMailItem) && See definition on init event

IF ISNULL('tcSubject') OR EMPTY(tcSubject)
tcSubject = "No Subject"
ENDIF

IF ISNULL('tcReceiver') OR EMPTY('tcReceiver')
= MESSAGEBOX("No receiver")
RETURN -1
ENDIF

IF ISNULL(tcCarboncopy) OR EMPTY(tcCarbonCopy)
tcCarboncopy = ''
ENDIF

IF ISNULL(tcMessage) OR EMPTY(tcMessage)
tcMessage =''
ENDIF

IF ISNULL(tlCertified) OR TYPE('tlCertified') <> 'L'
tlCertified = .F.
ENDIF

WITH loEmailItem
.Body = tcMessage
.TO = tcReceiver
.Subject = tcSubject
.ReadReceiptRequested = IIF(tlCertified,1,0)
.Importance = olImportanceHigh
IF NOT EMPTY(tcCarbonCopy)
.cc = tcCarbonCopy
ENDIF
.SEND()
ENDWITH

RETURN 0


ENDPROC


ENDDEFINE







>por favor necesito ayuda con los controles para enviar correo cuando trato de enviarlo me da un error en esta linea .ole.send()
Luis Guzman, MCP
"The only glory most of us have to hope for
is the glory of being normal." Katherine Fulleton Gerould
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform