亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發(fā)設計 > 正文

outlook 插件:導出rss的link地址

2019-11-17 02:43:25
字體:
供稿:網(wǎng)友

Outlook 插件:導出rss的link地址

由于對于rss的應用程序不熟悉,所以使用Outlook接收rss。使用過程和平時收郵件沒有什么差別。

唯一的遺憾是鑒于安全考慮,outlook沒有全部下載網(wǎng)頁,所以每次都要打開瀏覽器。有時候遇到一些需要詳細閱讀或要收藏的(比如我預備加入pocket)都要走一遍瀏覽器。網(wǎng)頁多了,就感覺有些煩人了。

有需求,就找解決方案。

我的方案:創(chuàng)建一個outlook的插件,保存需要的網(wǎng)址。

IDE:vs2010。

outlook:2007

step 1:創(chuàng)建項目,名稱RssLinkExport. 請注意我沒有選擇c#節(jié)點下的outlook插件類型。采用通用的插件模型,這樣可以更好控制outlook。

proj-type

step 2:選擇目標對象Microsoft OutLook。這個是必須的,關(guān)系到注冊表的設定。

wiz-2

step 3:給插件起一個名稱,這是給outlook用戶看的。

wiz-3

step 4:決定安裝程序用戶是否共享這個組件。建議全部勾選。省得用的時候要重啟一下。

wiz-4

step 5:匯總信息,finish即可。

wiz-5

step 6:開發(fā)前,加入必要的reference。因為我們開發(fā)的模型是通用的。所以需要增加outlook互操作的dll。默認位置在C:/Windows/assembly/GAC/Microsoft.Office.Interop.Outlook/12.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Outlook.dll

ref-wiz

step 7:檢查是否加入成功Microsoft.Office.Interop.Outlook。

add-ref

step 8: 寫代碼了。由于代碼不多,就都寫在Connect類里面了。

申明變量

PRivate string rssEntryID; // 用于識別rss目錄,按照outlook開發(fā),每個對象都有一個id。private Microsoft.Office.Interop.Outlook.application app; // 緩存outlook的對象CommandBarButton exportBtn; // 控件Regex reUrl; // 正則對象,篩選url。

初始化

public Connect(){      rssEntryID = null; 
     // 初始化正則表達式。至于為什么要這樣寫,可以參考rss的數(shù)據(jù)格式。
     reUrl = new Regex("HREF=/"(?<key>http:[^/"]+)/"", RegexOptions.Compiled);}
緩存application對象
public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom){
    applicationObject = application;
    addInInstance = addInInst;    // 在啟動階段,緩存應用的對象。如果您熟悉com開發(fā),應該對此很熟悉。
    app = application as Microsoft.Office.Interop.Outlook.Application;
}
增加工具欄的按鈕,需要的時候觸發(fā)保存。
public void OnStartupComplete(ref System.Array custom){
    // save rss ID
     Microsoft.Office.Interop.Outlook.MAPIFolder rssFolder = app.ActiveExplorer().session.GetDefaultFolder(OlDefaultFolders.olFolderRssFeeds); 
 rssEntryID = rssFolder.EntryID;
 CommandBars commandBars = app.ActiveExplorer().CommandBars;     // 判斷:萬一插件有異常,之前新增控件沒有移除的話,就不需要新增了。
 foreach (CommandBarControl control in commandBars["Standard"].Controls)
 { 
 if (control.Caption == "export")
 { 
               exportBtn = control as CommandBarButton; 
 break;
 }
 }
 if (exportBtn == null)
 {
 exportBtn = (CommandBarButton)commandBars["Standard"].Controls.Add(1                                                                       , System.Reflection.Missing.Value                                                                       , System.Reflection.Missing.Value                                                                       , System.Reflection.Missing.Value                                                                       , System.Reflection.Missing.Value); 
 exportBtn.Caption = "export"; 
 }
 exportBtn.Click += new _CommandBarButtonEvents_ClickEventHandler(exportBtn_Click);}
移除control
public void OnBeginShutdown(ref System.Array custom) 
{     // 程序退出前,銷毀新增的控件。
 if (exportBtn != null) 
     {
 exportBtn.Delete(System.Reflection.Missing.Value);
 exportBtn = null; 
     }
}
觸發(fā)事件
 void exportBtn_Click(CommandBarButton Ctrl, ref bool CancelDefault) 
{
 List<string> urls = new List<string>();
      // 檢查當前目錄是否rss 
 Microsoft.Office.Interop.Outlook.MAPIFolder selectedFolder = app.ActiveExplorer().CurrentFolder; 
     Microsoft.Office.Interop.Outlook.MAPIFolder parentFolder = selectedFolder.Parent as Microsoft.Office.Interop.Outlook.MAPIFolder; 
     if (parentFolder == null) return; 
     if (rssEntryID == null || rssEntryID.Equals(parentFolder.EntryID) == false) return; 
     // 獲取界面操作后,選擇的對象列表。selection是office的對象。 
     Selection selectdItems = app.ActiveExplorer().Selection; 
     if (selectdItems == null) return; 
     foreach (object objSelected in selectdItems) 
     { 
           // 轉(zhuǎn)換成PostItem
           Microsoft.Office.Interop.Outlook.PostItem pItem = objSelected as Microsoft.Office.Interop.Outlook.PostItem; 
           if (pItem == null) continue; 
           // 獲取格式,這是防御性編碼,因為我常用的rss對象都是html的。
           OlBodyFormat bodyFmt = pItem.BodyFormat; 
           string pItemBody = null; 
           if (bodyFmt == OlBodyFormat.olFormatHTML) 
           { 
             pItemBody = pItem.HTMLBody; 
           } 
           else 
           { 
             pItemBody = pItem.Body; 
           } 
           // 導出的對象標注藍色分類,我并沒有刪除。所以如果已經(jīng)標注就說明曾經(jīng)導出過了。 
           if (pItem.Categories == null) 
           { 
              pItem.Categories = "Blue Category"; 
              // 這步很關(guān)鍵。否則outlook不會立即刷新界面。 
              pItem.Save(); 
              // 獲取url地址 
              Match urlMa = reUrl.Match(pItemBody); 
              if (urlMa.Success) 
              { 
                urls.Add(urlMa.Groups["key"].ToString()); 
              } 
           } 
     } 
     // 把全部url保存到我的文件夾。 
     if (urls.Count > 0) 
     { 
        string baseFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
        string targetFolder = string.Format("{0}//bel", baseFolder); 
        DirectoryInfo di = new DirectoryInfo(targetFolder); 
        if (di.Exists == false) 
        { 
           di.Create(); 
        } 
        DateTime dtNow = DateTime.Now; 
        string targetFile = string.Format("{0}//urls_{1}{2}{3}.txt", targetFolder, dtNow.Year, dtNow.Month, dtNow.Day); 
        StreamWriter sw = new StreamWriter(targetFile, true); 
        foreach (string url in urls) 
        { 
          sw.W
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
麻豆精品久久精品色综合| 另类天堂av| 日韩成人精品视频在线观看| 成年免费网站| 四季久久免费一区二区三区四区| 神马电影在线观看| 美女国产在线| 亚洲成人激情小说| 成人午夜大片免费观看| 国产日韩精品视频一区二区三区| av在线com| 精品999日本久久久影院| 国产精品入口芒果| 国产亚洲精久久久久久| 在线观看午夜av| 日美av在线| 婷婷亚洲久悠悠色悠在线播放| 97在线中文字幕| 精品国产一区二区三区麻豆免费观看完整版| 国产一区二区三区日韩| 麻豆成人在线看| 午夜视频免费在线观看| 国产精品videosex极品| 怡红院一区二区| 国产精品123区| 丰满人妻一区二区| 欧美大尺度在线观看| 日韩高清中文字幕一区| 91精品久久久久久久久久久久| 久久久99999| 91蜜臀精品国产自偷在线| 国产成人无码一二三区视频| 国产乱人伦精品一区二区在线观看| 污视频网址在线观看| 欧美12av| 男女私大尺度视频| 国语对白中文字幕| 欧美最猛黑人xxxx| 人人鲁人人莫人人爱精品| 亚洲激情网站| 91福利国产成人精品播放| 国产福利热线视频| av网址在线免费观看| 国产成人亚洲精品乱码在线观看| 欧美另类变人与禽xxxxx| 污黄网站在线观看| 欧美亚洲国产成人精品| 91 在线视频观看| 久久aⅴ国产紧身牛仔裤| 国产精品久久久久久精| 亚洲啪啪aⅴ一区二区三区9色| 韩国一区二区视频| 国产亚洲人成网站| 国产真实有声精品录音| 69ww免费视频播放器| 欧美精品久久久久a| 国产精品免费久久久久影院| www.欧美精品| 伦理一区二区三区| 久久久男人的天堂| 手机成人av在线| 久久久久免费网站| 亚洲精品国产高清久久伦理二区| 精品少妇一区二区三区| 亚洲人高潮女人毛茸茸| 领导边摸边吃奶边做爽在线观看| 国产又粗又猛视频免费| 性中国xxx极品hd| 黄色av一区二区三区| 免费看av在线| 国产精品丝袜在线播放| 亚洲欧美日本一区二区| 色噜噜狠狠一区二区三区狼国成人| 日本高清视频在线观看| 亚州福利视频| 欧美精品aⅴ在线视频| 国产亚洲在线播放| 亚洲av无一区二区三区久久| 97超视频免费观看| 亚洲成人黄色小说| 国产专区欧美精品| 91精品国产66| 国产午夜精品久久久久久免费视| 国产精品午夜在线| 国产蜜臀av在线一区二区三区| 国产亚洲精品久久久久动| 国产专区综合网| a级影片在线| 国产精品一区二区女厕厕| 五月婷婷伊人网| 国产精品777| 99在线看视频| www.射射射| 日本一区二区三区在线免费观看| 久久久久久久97| 久久99偷拍| 大桥未久女教师av一区二区| 强开小嫩苞一区二区三区网站| 日韩精品人妻中文字幕| 欧美xxxhd| 亚洲天堂免费在线观看视频| 麻豆一区区三区四区产品精品蜜桃| av一区观看| 亚洲国产综合色| 爱爱爱免费视频在线观看| 国产精品一级二级三级| 豆国产97在线| 9.1在线观看免费| 国产精品99一区| 日韩av毛片网| 日本在线观看一区二区三区| 欧美日韩你懂得| 福利视频在线| a级片在线观看视频| 亚洲欧洲第一视频| 丰满湿润大白屁股bbw按摩| 亚洲精品中文综合第一页| 希岛爱理一区二区三区av高清| 久久久精品人妻无码专区| 国产极品一区二区三区| 精品无人乱码一区二区三区| 9191久久久久久久久久久| 另类图片国产| 久久精品最新免费国产成人| 国产福利在线| 亚洲精品色午夜无码专区日韩| 日本中文字幕一区二区有限公司| 可以直接看的黄色网址| 日韩精品视频在线观看免费| 91在线短视频| 亚洲情趣在线观看| 羞羞免费视频| 欧美性资源免费| 红杏aⅴ成人免费视频| 成人一区二区三区视频在线观看| 国产在线一区二区三区欧美| videos性欧美另类高清| 日韩在线第三页| 1区2区在线| 日韩一区二区三区四区| 亚洲精品色图| 久久精品成人| 久操视频在线播放| 丁香六月激情综合| 成人免费视频国产免费| 亚洲欧美另类色图| 青青热久免费精品视频在线18| 国偷自产av一区二区三区麻豆| 国产福利免费视频| 亚洲国产欧美久久| 羞羞色国产精品| 国产精品传媒毛片三区| 亚洲精品小区久久久久久| 影音先锋男人资源在线| 国产丝袜一区二区| 免费看国产片在线观看| 久久久噜噜噜久久狠狠50岁| 日韩经典中文字幕在线观看| 粉嫩av在线播放| 国产喷水theporn| 中文一区二区在线观看| 在线成人av影院| 中文字幕黄色片| 国产亚洲成aⅴ人片在线观看| 国产精品高清免费在线观看| 美女毛片在线看| 三级黄在线播放| 久久中文资源| 一区二区在线观看视频在线| 国产欧美va欧美不卡在线| 另类av一区二区| 国产97在线 | 亚洲| 亚洲www永久成人夜色| 久久艹在线视频| a天堂中文在线官网| 色呦哟—国产精品| 网红女主播少妇精品视频| 日本卡一卡2卡3卡4精品卡网站| 亚洲伦在线观看| 欧美a一级片| 超碰在线观看99| 91精品国产综合久久久久久漫画| 欧美xxxxx性| 国产精品专区h在线观看| 97久久精品人人做人人爽| 色婷婷综合成人av| av一级在线| 国产一本一道久久香蕉| 视频一区二区中文字幕| 久久成人免费网| 免费99精品国产自在在线| 51精品久久久久久久蜜臀| 国产精品腿扒开做爽爽爽挤奶网站| 欧美亚洲日本在线观看| chinese叫床对白videos| 韩国三级大全久久网站| 国产精品入口日韩视频大尺度| 日韩三区在线观看| 日韩中文字幕久久| 亚洲色图欧美制服丝袜另类第一页| 国产精品99久久久久久久| 亚洲午夜激情影院| 久久久免费网站| 亚洲欧洲日本精品| 精品美女被调教视频大全网站| 国内精品在线播放| a√天堂在线观看| 国内自拍视频在线播放| 女人公敌韩国| 欧美h视频在线观看| 国产伦精品一区三区精东| www.狠狠色.com| 影视先锋久久| 丰满熟女人妻一区二区三| fc2ppv在线观看| 欧美a级片视频| 天天插天天干| 午夜在线播放视频欧美| 韩国三级视频在线观看| 国产中文字幕亚洲| 色综合天天综合色综合av| 美女国产精品久久久| 91麻豆成人精品国产免费网站| 天天综合av| 性插视频在线观看| 亚洲成人久久久| 欧美中文字幕一二三四区| 大尺度一区二区| 岛国精品一区二区三区| 国产大学生校花援交在线播放| 蜜桃视频网站在线| 91欧美在线视频| 色哟哟中文字幕| 欧美一级日本a级v片| 国产日韩欧美一二三区| 糖心vlog精品一区二区| 激情亚洲网站| 欧美一区二区在线不卡| 人妖粗暴刺激videos呻吟| www在线观看免费| 伊人精彩视频| 国产不卡视频在线| 图片小说视频色综合| 久草在线视频资源| 色哟哟欧美精品| 亚洲成成品网站| 国产婷婷在线视频| 国产免费一区二区三区最新不卡| 在线观看日韩av先锋影音电影院| 午夜一区二区三视频在线观看| 欧美a免费在线| 91福利在线尤物| 亚洲一区二区伦理| 东京热av一区| 久久久久99| 婷婷亚洲综合| 久久99久久99精品免观看软件| 免费成人美女女在线观看| h网站在线免费观看| 日韩影视在线| 欧美丝袜一区二区| 日本熟妇人妻xxxx| 91精品国产91久久久久久三级| 日本在线观看免费视频| 韩国一区二区三区视频| 欧美一级xxxx| 制服丝袜中文字幕第一页| 亚洲精品97久久| 两个人hd高清在线观看| 欧美日本一区二区高清播放视频| 视频一区二区三| 色乱码一区二区三区网站| 在线观看国产精品一区| 91精品国产黑色瑜伽裤| 日韩久久一区| 日韩伦理一区二区三区av在线| 国产福利在线播放麻豆| 一区二区视频在线观看免费的| 婷婷色在线播放| 成人动漫在线视频| 人偷久久久久久久偷女厕| 红桃视频国产一区| 清纯唯美日韩制服另类| 亚洲最大免费视频| 国产成人精彩在线视频九色| 亚洲欧美日韩国产成人精品影院| 亚洲一区免费网站| 久久久久高清| 日韩在线视频国产| 欧美国产专区| 欧美性猛交xxxx乱大交极品| 538国产精品一区二区在线| 欧美视频中文在线看| 日韩视频免费观看高清| 日韩免费电影网站| 日韩一级片av| 天天射综合网视频| 999国产精品视频免费| 久久精品人人做人人爽人人| jizzjizz亚洲中国少妇| 中文字幕你懂的| 日韩一区二区免费在线电影| 激情伊人五月天久久综合| 天堂中文在线免费观看| 亚洲一区二区三区在线观看视频| 亚洲日本激情| a√天堂在线观看| 国产高清一区视频| 免费看成人人体视频| 国产视频福利一区| 日本人成精品视频在线| 亚洲成人手机在线| 成年大片免费视频播放二级| 国产日韩精品久久| www.黄色在线| 欧美精品播放| 好想男人揉我下面好多水| 中文字幕一区二区视频| 成人午夜大片| 永久免费毛片在线观看| 欧美成人a视频| 国产aⅴ精品一区二区三区色成熟| 亚洲成人激情视频| 午夜免费入口| 2023国产精品| 波多野吉衣在线视频| 性色av蜜臀av色欲av| 久久久99精品免费观看|