酷!學園
技術討論區 => 程式討論版 => 主題作者是: 小徒兒 於 2008-06-12 14:48
-
***outlook object
Application object
NameSpace object
==============
'列出信箱所有信
Set oInbox = Application.GetNameSpace("MAPI").GetDefaultFolder(6)
Set oItems = oInbox.Items
'Notice how you can get the count
For i = 1 to 3
Msgbox oItems(i).Subject
Next
MAPIFolder object
Dim WithEvents oApp As Outlook.Application
Dim WithEvents oNS As Outlook.NameSpace
Dim WithEvents oItems As Outlook.Items
Dim oFolders As Outlook.Folders
Dim oFolder As Outlook.MAPIFolder
Dim WithEvents oExplorer As Outlook.Explorer
'get the folder by specific name
Set oNS = oApplication.GetNamespace("MAPI")
Set oFolder = oNS.Folders("Public Folders").Folders("All Public Folders").Folders("CITS")
'list all folders
Set oFolders = oNS.Folders("Public Folders").Folders( _
"All Public Folders").Folders
If Not (oFolders Is Nothing) Then
Set oFolder = oFolders.GetFirst
Do While Not (oFolder Is Nothing)
'ListFolderscontent oFolder
If oFolder Is Nothing Then
Set oFolder = oFolders.GetNext
Else
Exit Do
End If
Loop
end if
'find out folder by link
strURL = "file://.//companydomain/myfolder/Events/"
strSQL = "SELECT ""urn:schemas:httpmail:subject"" " & _
"FROM """ & strURL & """"
Explorer object
Set myPane = myExplorer.Panes("OutlookBar")
Set myPanecontent = myPane.Contents
Items collection
Inspector object
PostItem object
Pages collection
MailItem object
Set conn = New ADODB.Connection
With conn
.Provider = "exoledb.datasource"
.Open strURL
End With
'Create a new Recordset object
Set rst = New Recordset
With rst
'Open Recordset based on the SQL string
.Open strSQL, conn
End With
If rst.BOF And rst.EOF Then
Msgbox "No values found!"
End
End If
iCount = 0
rst.MoveFirst
Do Until rst.EOF
iCount = iCount + 1
strFrom = rst.Fields("urn:schemas:mailheader:from").Value
Debug.Print "From: " & strFrom
rst.MoveNext
Loop
Debug.Print "There are " & iCount & _
" distinct FROM addresses in your inbox."
'get mails by .net
using System.Reflection;
private void ReadMail()
{
ADODB.RecordsetClass aRS = new ADODB.RecordsetClass();
ADODB.ConnectionClass aConn = new ADODB.ConnectionClass();
string strurl = @"file://./backofficestorage/"+GetDomainName+"/mbx/"+strchanged+"/收件箱/";
//GetDomainName = exchange server domain
//strchanged = mail receipt name
aConn .provider="exoledb.datasource";
aConn .Open(strurl,String.Empty,String.Empty,0);
string strQ="";
strQ = "select ";
strQ = strQ + " \""urn:schemas:mailheader:thread-topic"\""; //topic
strQ = strQ + ", \""urn:schemas:httpmail:displayto"\""; //receipt name
strQ = strQ + ", \""urn:schemas:httpmail:displaycc"\""; //cc name
strQ = strQ + ", \""urn:schemas:httpmail:thread-topic"\"";
strQ = strQ + ", \""urn:schemas:httpmail:priority"\"" ;//priority
strQ = strQ + ", \""urn:schemas:httpmail:importance"\"" ; //importance
strQ = strQ + ", \""urn:schemas:mailheader:message-id"\"";
strQ = strQ + ", \""urn:schemas:httpmail:htmldescription"\"";//mail content
strQ = strQ + ", \""urn:schemas:httpmail:subject"\"";
strQ = strQ + ", \""urn:schemas:httpmail:sendername"\"";
strQ = strQ + ", \""urn:schemas:mailheader:received"\""; //receive date
strQ = strQ + ", \""DAV:contentclass"\""; //content class
strQ = strQ + ", \""DAV:displayname"\""; //displayname
strQ = strQ + ", \""DAV:id"\""; //mail primary key id
strQ = strQ + ", \""DAV:href"\"";
strQ = strQ + " from scope ('shallow traversal of " ;//what kind of search
strQ = strQ + "\"" strurl + "\"') ";
strQ = strQ + "where \""urn:schemas:mailheader:message-id"\"='"+itemtypes+"'and \""DAV:contentclass"\"<>'urn:content-classes:document'";
aRS.Open(strQ ,aConn,ADODB.CursorTypeEnum.adOpenForwardOnly,ADODB.LockTypeEnum.adLockReadOnly,0);
while(!aRS.EOF)
{
Response.Write("mailconten"+aRS.Fields("urn:schemas:httpmail:htmldescription").Value.ToString());
string strmsgurl=strurl+aRS.Fields("DAV:displayname").Value.ToString();
CDO.MessageClass cMsg=new CDO.MessageClass();
cMsg.DataSource.Open(strmsgurl,o,ADODB.ConnectModeEnum.adModeRead,ADODB.RecordCreateOptionsEnum.adOpenIfExists,ADODB.RecordOpenOptionsEnum.adOpenSource,String.Empty,String.Empty);
if(cMsg.Attachments.Count>0)
{
foreach(CDO.IBodyPart ibd1 in cMsg.Attachments)
{
}
}
Rs.MoveNext
}
}
Page object
ContactItem object
Controls collection
AppointmentItem object
Control object
MeetingItem object
TaskItem object
AddressLists collection
Recipients collection
AddressList object
Recipient object
AddressEntries collection
UserProperties collection
AddressEntry object
UserProperty object
Folders collection
FormDescription object
***regedit
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\9.0\Outlook\Webview\mailbox]
"url"="http://YOURLOCATION/default.htm"
"navigation"="yes"
建立表單和控制項
1. 開啟您的 [ 收件匣 ], 然後開啟新郵件表單。
2. 表單, [ 工具 ] 功能表上按一下 [ 「 設計表單 Outlook ] 」 進入設計模式。
3. " 顯示此頁面 」 在表單 ] 功能表, 按一下 [ 按一下 [ (P.2) ] 索引標籤, 並。
4. 在 [ 表單 ] 功能表, 按一下 [ 工具箱 」 控制項 ] 」 以顯示 [ 控制工具箱 ]。
5. 拖曳至頁面的表單 P.2 ComboBox 控制項。
6. 拖曳至頁面的表單 P.2 TextBox 控制項。
回此頁最上方
ComboBox 控制項繫結至欄位
名為 Field 1, 至 ComboBox 控制項欄位, 繫結執行下列步驟。 這個欄位是 Red、 Blue 和 Green, 的可能值。 1. 在 P.2 表單頁面, 使用您的下拉式方塊按一下滑鼠右鍵並在快速鍵功能表, 按一下 [ 內容 ]。
2. 按一下 [ 數值 ] 索引標籤及 [, 新增 ] 以建立新的使用者定義欄位。
3. 在 [ 名稱 ] 方塊, 再鍵入 Field 1 及確定 ], 以返回到 [ 內容 ] 對話方塊。 Field 1 是任意使用者定義欄位名稱。
4. 在越慢越好 「 值 」 方塊, 紅色; 綠色; 藍色輸入然後按一下 [ 確定 ]
回此頁最上方
TextBox 控制項繫結至同一個欄位
執行下列步驟也控制 TextBox 項繫結至 Field 1 欄位。 1. 以滑鼠右鍵按一下文字方塊控制項然後在快速鍵功能表, 按一下 [ 內容 ]。
2. 按一下 [ 數值 ] 索引標籤, 按一下 [ 選擇欄位 ], 按一下 [ User - defined, 收件匣 ] 中的欄位然後按一下 Field 1 欄位。
3. 按一下 [ 確定 ] 以關閉 [ 內容 ] 對話方塊。
4. 在 [ 工具 ] 功能表, 按一下 [ 「 設計表單 Outlook ] 」 以結束設計模式。
當您按一下可供選取 Red、 Blue 或綠色下拉式方塊, 您選擇自動填入 TextBox。