| Platform SDK: Exchange 2000 Server |
[This is preliminary documentation and subject to change.]
This example demonstrates setting properties on items in the Web Store. Note that the Web Store schema does not define the properties. These custom properties are used and defined by this application.
Dim Rec
Dim DomainName
Dim strSource
Dim strNewRec
Dim flds
Dim strSchemaName
Dim strF1
Dim strF2
Const adCreateNonCollection = 0
Const adCreateOverwrite = 67108864
Const adModeReadWrite = 3
Const adCurrency = 6
Const adDate = 7
Set Rec = CreateObject("ADODB.Record")
'specify your own domain
DomainName = "microsoft.com"
'construct the base for naming the cutom properties
strSchemaName = "http://" & DomainName & "/schema/"
'specify a URL for a new item
strNewRec = "public folders/test/proptest3.txt"
strSource = "file://./backofficestorage/" & DomainName & "/" & strNewRec
'Create the item, and specify content-class
Rec.Open strSource, , adModeReadWrite, (adCreateNonCollection Or adCreateOverwrite)
Rec.Fields("urn:schemas:mailheader:content-class").Value = "urn:schemas:content-classes:item"
Rec.Fields.Update
'Add a couple of custom properties to the item
Set flds = Rec.Fields
'append the custom properties
flds.Append strSchemaName & "Amount", adCurrency, , , 50000
flds.Append strSchemaName & "Date", adDate, , , Date
Flds.Update
Rec.Close
'Open the record and test the custom properties
Rec.Open strSource
'names of the properties
strF1 = strSchemaName & "Amount"
strF2 = strSchemaName & "Date"
'write the custom property values
Response.Write "Amount: " & Rec.Fields(strF1).Value & "</p>"
Response.Write "Date: " & Rec.Fields(strF2).Value & "</p>"
Rec.Close
This example shows how to set custom properties.
Dim strURI As String
strURI = "file://./backofficestorage/" & _
Environ("USERDNSDOMAIN") & _
"/Public Folders/mytestfolder/"
Dim Rec As New Record
Rec.Open strURI, , adModeReadWrite, (adCreateOverwrite Or adCreateCollection)
Dim doc As New Record
doc.Open _
"item1.txt", _
Rec.ActiveConnection, _
adModeReadWrite, _
(adCreateNonCollection Or adOpenIfExists)
Dim Flds As Fields
Set Flds = doc.Fields
With Flds
.Append "urn:schemas-unique-tld:modified", adDate, , , Now
.Append "urn:schemas-unique-tld:status", adBSTR, , , "Behind Schedule"
.Append "urn:schemas-unique-tld:author", adBSTR, , , "Paul West"
.Append "urn:schemas-unique-tld:author-email", adBSTR, , , """Paul west"" <pw@somewhere.exchange.microsoft.com>"
.Append "urn:schemas-unique-tld:editor", adBSTR, , , "Wendy Wheeler"
.Append "urn:schemas-unique-tld:editor-email", adBSTR, , , """Wendy Wheeler"" <ww@somewhere.exchange.microsoft.com>"
.Update
End With
' This example shows how to retrieve custom property values just set in the previous example.
Dim strURI As String
strURI = "file://./backofficestorage/" & _
Environ("USERDNSDOMAIN") & _
"/Public Folders/mytestfolder/"
Dim Rec As New Record
Rec.Open strURI, , adModeReadWrite
Dim doc As New Record
doc.Open _
strURI + "item1.txt", _
Rec.ActiveConnection, _
adModeReadWrite
Dim Flds As Fields
Set Flds = doc.Fields
Dim Props(10) As Variant
Props(1) = " urn:schemas-unique-tld:modified"
Props(2) = " urn:schemas-unique-tld:status"
Props(3) = " urn:schemas-unique-tld:author"
Props(4) = " urn:schemas-unique-tld:author-email"
Props(5) = " urn:schemas-unique-tld:editor"
Props(6) = " urn:schemas-unique-tld:editor-email"
For i = 1 To 6
Debug.Print Props(i) & vbCrLf
Debug.Print Flds(Props(i))
Next i