CDO and Folder Home Page

  • Thread starter Thread starter kc2kth
  • Start date Start date
K

kc2kth

I'm having a problem getting the last piece of a project together. I
need to be able to write a home page value and associated info (enable
it, etc.) via CDO. Unfortunately the Outlook Object Model won't work
for this case. Note I am working in vbscript here.

Anyhow, I've referenced a posting from Sue Mosher from a year or so
ago in this group (http://groups.google.com/group/
microsoft.public.outlook.program_vba/browse_frm/thread/
fe30a84f1c346e48/2270fac9f34589fb?
lnk=st&q=PR_FOLDER_WEBVIEWINFO&rnum=6&hl=en#2270fac9f34589fb), which
provides some great info. However, I haven't been able to translate
that into working code.

I've tried writing each value to the property individually as well as
tried writing the data to the property as a single hex vbblob. Neither
has worked. Writing as a single vbblob gave no feedback at all, while
writing the values individually returned an "INVALIDARG" error.

Any input would be greatly appreciated as I've run out of ideas and I
can't find very much information on this process at all.

Here is a small section of the code I've been working with (picking up
after the session is established):

Set CdoInbox = CdoSession.Inbox
Set CdoInfostore = CdoSession.GetInfostore(CdoInbox.StoreID)
Set CdoRootFolder = CdoInfostore.RootFolder

'On Error Resume Next
Set CdoNewFolder = CdoRootFolder.Folders("VB2Test")
'If CdoNewFolder is Nothing Then
' Set CdoNewFolder = CdoRootFolder.Folders.Add("VB2Test")
'End If

Set CdoFields = CdoNewFolder.Fields

CdoNewFolder.Fields.Add
"0x36DF0102",vbBlob,"020000000100000001000000000000000000000000000000000000000000000000000000000000002C00000068007400740070003A002F002F0061007200630068006900760065006D0061006E0061006700650072000000"


'CdoNewFolder.Fields.Add "0x36DF0102",vbBlob,"dwType","1"
'CdoNewFolder.Fields.Add "&H36DF0102",vbBlob,"dwFlags","0x00000001"
 
You need to set your data as an array of binary bytes. Then when you write
the data you need to do something like this:

CdoNewFolder.Fields.Add &H36DF0102, vbByte, dataArray
 
You need to set your data as an array of binary bytes. Then when you write
the data you need to do something like this:

CdoNewFolder.Fields.Add &H36DF0102, vbByte, dataArray


Thanks Ken,

Not being real familiar with the tools I'm using here, I'm not sure
I'd know where to look for help on how to do what you suggest
(although I just received the same suggestion in another forum).

Would you or anyone else here be able to point me to any resource that
may be helpful in dealing with this specific task, keeping in mind I'm
not well versed in VB/VBScript (that seems to be rapidly changing
however)?

Thank you for the reply!
 
For CDO the best is www.cdolive.com, especially www.cdolive.com/cdo5.htm and
/cdo10.htm. However, there are some mistakes there and the material hasn't
been updated in years.

Use the link at http://www.cdolive.com/cdo.htm to download the CDO Help,
that's got some useful examples.

For general Outlook coding, with some CDO snippets definitely
www.outlookcode.com.

If you can find it on the used market Professional CDO Programming from Wrox
Press by Sig Weber, Dan Mitchell, etc. is really the only game in town.

Posting here is good too. I used to program extensively with CDO until
Redemption came around and Sue and Dmitry also know CDO.
 
Back
Top