Outlook編程問題:怎樣用程式去改變收件箱、發件箱內容的存儲路徑?

dreamyyuan 2002-09-10 09:15:05
Miscisoft outlook的封存項目好象是:outlook.pst
Deleted Items.dbx
Inbox.dbx
Outbox.dbx
Sent Items.dbx
是outlook express的封存項目,
我說得對不對呢?
...全文
1099 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamyyuan 2002-09-11
  • 打赏
  • 举报
回复
我要改變系統outlook默認的收件者,改為我自定義的收件者。怎麼辦?

因為我不想接收別人的郵件,只接收自定義郵件者的郵件,該怎麼做呢?

這也許是最後一個問題了,
http://www.csdn.net/expert/topic/1009/1009115.xml?temp=.4873773
你也可以去這裡一下,也把這裡的100分全給你,是一樣的問題。
deldelmeme979 2002-09-11
  • 打赏
  • 举报
回复
第二个问题牵涉到Outlook中的事件处理。你打开VBE编辑器,在Project列表中展开Microsoft Outlook Objects,双击其下的ThisOutlookSession,然后在代码区上方的左侧列表中找到Application对象,在右侧列表中点击NewMail事件,VBE会自动加入对该事件的处理框架。你就可以在其中编写对该事件(当有新邮件时触发)的处理代码了。VBA代码搞懂后,再做的只是把它转换成Object Pascal了。
dreamyyuan 2002-09-11
  • 打赏
  • 举报
回复
第一問題我懂了
第二個問題還不是很明白
“你可以在接收邮件时处理该事件”,1、不知道接收郵件的命令,2、我要改變系統outlook默認的收件者,改為我自定義的收件者。怎麼辦?
dreamyyuan 2002-09-10
  • 打赏
  • 举报
回复
procedure TfrmMain.SpeedButton1Click(Sender: TObject);
var
outlook,MailItem,Recipient:variant;
OutlookNameSpace: variant;
OutlookFolder: variant;
OutlookAttachment: variant;
i:integer;
itm: TListItem;
begin
if Checkoutlookexists then
begin
lvHeaders.clear;
try
outlook:=CreateOleObject('OutLook.application');
except
Outlook :=GetActiveOleObject('Outlook.Application');
end;
OutlookNameSpace :=Outlook.GetNamespace('MAPI');
OutlookFolder:=OutlookNameSpace.GetDefaultFolder(olFolderinbox);
MailItem:=OutlookFolder.items;
if MailItem.count>0 then
for i:=1 to MailItem.count do
begin
itm := lvHeaders.Items.Add;
itm.ImageIndex := 5;
itm.Caption := MailItem.item[i].subject;
itm.SubItems.Add(MailItem.item[i].SentOnBehalfOfName);
itm.SubItems.Add(DateToStr( MailItem.item[i].ReceivedTime));
itm.SubItems.Add(IntToStr(MailItem.item[i].Size));
itm.SubItems.Add('n/a');
end;
end;
end;

這段代碼可以把收件箱的已讀郵件找出來,我有一兩個問題:
1、怎樣用outlook打開已找到的郵件
2、怎樣得到新的郵件.
dreamyyuan 2002-09-10
  • 打赏
  • 举报
回复
我開始也想用這個的思路去做,但總覺得不是很好的方法,這個路径應該是有屬性可以寫值的,上面的列表不知是哪個對應這個路径?
還有,我怎樣用程式去改變默認寄件者?

我寫這個程式的目的,因為有一客戶,他想在自已的移動硬碟裡使用Outlook,而又不去改變別人電腦的默認屬性,這樣就要求:
1、能調用自已移動硬碟的郵件,
2、發下來的郵件,也是備份在自已的移動硬碟上
3、寄件者也是自已設定的帳號

我該怎麼辦?
deldelmeme979 2002-09-10
  • 打赏
  • 举报
回复
我曾经用过一个Outlook上的宏插件,它的主要功能是对Outlook.pst文件进行备份(当然,要在关闭Outlook的时候进行)。我想这里主要的问题是如何用VBA调用几个API函数,比如找到当前用户文件(.pst)的路径后,怎样才能把它复制下来,并粘贴到一个新的、用户设定好的目录中去;在导入的时候,也要读取备份文件的所在,然后将该备份复制到用户指定导入的位置。我想过程大致是这样的,由于我对VB本身不熟悉,所以没法给你写代码,你自己看看吧。
dreamyyuan 2002-09-10
  • 打赏
  • 举报
回复
Outlook 物件模型屬性
% 完成 PercentComplete
帳戶 Account//傳回 ContactItem 物件, String 類型,可讀寫。傳回設
定連絡人的帳戶。
實際運作 ActualWork
選定地址 N/A
地址選擇 N/A
全天 AllDayEvent
紀念日 Anniversary
分派 DelegationState
助理姓名 AssistantName
助理電話 AssistantTelephoneNumber
附件 Attachments代表項目的所有附件。
密件副本 BCC傳回 MailItem 的密件副本 (BCC) 名稱的顯示欄表格。
此屬性僅包括顯示名稱。應使用 Recipients 集合變更密件副本
收件者。
帳目資訊 BillingInformation
生日 Birthday
商業地址 BusinessAddress
商業地址縣/市 BusinessAddressCity
商業地址國家(地區) BusinessAddressCountry
商業地址郵政信箱 BusinessAddressPostOfficeBox
商業地址郵遞區號 BusinessAddressPostalCode
商業地址省/自治區 BusinessAddressState
商業地址地址 BusinessAddressStreet
商業傳真 BusinessFaxNumber
公司首頁 BusinessHomePage
商業電話 BusinessTelephoneNumber
商業電話 2 Business2TelephoneNumber
回呼 CallbackTelephoneNumber
行動電話號碼 CarTelephoneNumber
類別 Categories
副本 CC傳回 MailItem 的副本 (CC) 名稱的顯示欄表格。
此屬性僅包括顯示名稱。應使用 Recipients 集合變更副本收件者。
修改人 N/A
小朋友 Children
縣/市 HomeAddressCity
色彩 Color
公司 Companies
公司 CompanyName
公司代表線 CompanyMainTelephoneNumber
完成 Complete
電腦網路名稱 ComputerNetworkName
連絡人 FormDescription.ContactName
連絡人 Links
內容 Body備註 只存取項目的 Body 屬性(如在 MsgBox myItem.Body 中)
時,不影響 EditorType 屬性。但重設 Body 屬性
(如在 myItem.Body = "This is a new body") 中)時,
EditorType 恢復到使用者的預設編輯器。
交談主旨 ConversationTopic
國家(地區) HomeAddressCountry
建檔時間 CreationTime
顧客識別項 CustomerID
完成日期 DateCompleted
延至 DeferredDeliveryTime
部門 Department
通信群組清單名稱 DLName
不要自動封存 NoAging
下載狀態 N/A
期限 FlagDueBy
截止日期 DueDate
持續時間 Duration
電子郵件 Email1Address
電子郵件 2 Email2Address
電子郵件 3 Email3Address
選定電子郵件 N/A
電子郵件選擇 N/A
結束時間 End
項目類型 Type
到期 ExpiryTime
表示為 FileAs
名字 FirstName
標幟狀態 FlagStatus
下一筆標籤 FlagRequest
寄件者 SentOnBehalfOfName傳回郵件預訂寄件者的顯示名稱。
該屬性相當於 MAPI 的 PR_SENT_REPRESENTING_NAME 屬性。
FTP 網址 FTPSite
全名 FullName
性別 Gender
政府識別碼 GovernmentIDNumber
使回覆傳送給 ReplyRecipientNames
嗜好 Hobby
住家地址 HomeAddress
住家地址縣/市 HomeAddressCity
住家地址國家(地區) HomeAddressCountry
住家地址郵政信箱 HomeAddressPostOfficeBox
住家地址郵遞區號 HomeAddressPostalCode
住家地址省/自治區 HomeAddressState
住家地址地址 HomeAddressStreet
住家傳真 HomeFaxNumber
住家電話 HomeTelephoneNumber
住家電話 2 Home2TelephoneNumber
圖示 FormDescription.Icon
重要性 Importance
在資料夾 Parent傳回指定物件的上一層物件。
簡稱 Initials
Internet 閒忙地址 InternetFreeBusyAddress
ISDN ISDNNumber
職稱 JobTitle
日誌 Journal
垃圾電子郵件類型 N/A
語言 Language
姓氏 LastName
前次儲存 N/A
地點 Location
郵件地址 MailingAddress
地址指示器 N/A
上司姓名 ManagerName
會議狀態 MeetingStatus
郵件 Body
郵件類別 MessageClass
標幟訊息 FlagStatus
別名 MiddleName
里程數 Mileage
行動電話 MobileTelephoneNumber
修改日期 LastModificationTime
暱稱 NickName
記事 Body
辦公地點 OfficeLocation
列席者 OptionalAttendees
組織的識別碼 OrganizationalIDNumber
召集人 Organizer
其它住址 OtherAddress
其它住址縣/市 OtherAddressCity
其它住址國家(地區) OtherAddressCountry
其它住址郵政信箱 OtherAddressPostOfficeBox
其它住址郵遞區號 OtherAddressPostalCode
其它住址省/自治區 OtherAddressState
其它住址地址 OtherAddressStreet
其他傳真 OtherFaxNumber
其它電話號碼 OtherTelephoneNumber
Outlook 內部版本 OutlookInternalVersion
Outlook 版本 OutlookVersion
擁有者 Owner傳回或設定工作擁有者。該屬性為自由格式的字串欄位。
如果將此屬性設定為目前使用者之外的某個人,
則無法使其獲得代理人工作的權限。
呼叫器 PagerNumber
個人首頁 PersonalHomePage
選定電話 n N/A
電話 n 選擇 N/A
郵政信箱 HomeAddressPostOfficeBox
主要電話號碼 PrimaryTelephoneNumber
優先順序 Importance
私有 Sensitivity
專業 Profession
無線電話 RadioTelephoneNumber
已讀 UnRead如果 Outlook 項目未開啟(閱讀),則為 True。
收到日期 ReceivedTime傳回收到的郵件、會議項目或公告的日期和時間。
週期 RecurrencePattern.RecurrenceType
循環模式 N/A
週期範圍結束 RecurrencePattern.PatternEndDate
週期範圍開始 RecurrencePattern.PatternStartDate
週期性 IsRecurring
參照者 ReferredBy
事前提醒 ReminderMinutesBeforeStart
提醒 ReminderSet
提醒覆寫預設值 ReminderOverrideDefault
提醒聲音 ReminderPlaySound
提醒音效檔 ReminderSoundFile
提醒時間 ReminderTime
提醒主旨 N/A
遠端狀態 RemoteStatus
要求狀態 N/A
申請人 N/A
必要的與會者 RequiredAttendees
資源 Resources
回覆請求 ResponseRequested
取得時間 N/A
角色 Role
Schedule+ 優先權 SchedulePlusPriority
只傳送純文字 N/A
敏感度 Sensitivity
傳送時間 SentOn
時間顯示成 BusyStatus
大小 Size
配偶 Spouse
開啟 Start
開啟日期 StartDate
省/自治區 HomeAddressState
狀態 Status
地址 HomeAddressStreet
主旨 Subject
中文字尊稱 Suffix
群組工作 TeamTask
電報 TelexNumber
英文尊稱 Title
收件者 To傳回或設定 Outlook 項目之收件人的顯示名稱清單,
名稱之間以分號分隔。此屬性僅包含顯示名稱。To 屬性相當於
MAPI 的 PR_DISPLAY_TO 屬性。修改該屬性應使用 Recipients
集合。
總計工作時數 TotalWork
追蹤傳閱狀態 TrackingStatus
TTY/TDD 電話 TTYTDDTelephoneNumber
使用者欄位 1 User1
使用者欄位 2 User2
使用者欄位 3 User3
使用者欄位 4 User4
Web 網頁 WebPage
郵遞區號 HomeAddressPostalCode

dreamyyuan 2002-09-10
  • 打赏
  • 举报
回复
但是,默認路徑怎麼用程式取得呢?可不可以用程式去改變默認路徑?因為我要備份郵件,也要去讀取備份的郵件,怎麼辦?我的備份是會把上面的那些文件全給備份下來的做法。
deldelmeme979 2002-09-10
  • 打赏
  • 举报
回复
没错。
deldelmeme979 2002-09-10
  • 打赏
  • 举报
回复
1、打开一封邮件在VBA中是这样的:
MailItem.Display
或者:
OlFolderInbox.Items(i).Display
我好久没用Delphi了,所以现在没法把代码转成OP。

2、至于得到新的邮件,你可以在接收邮件时处理该事件,或者在收件箱中比较得到收到日期最新的邮件。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧