Outlook

Top / Coding / VBA / Outlook
 

ページ構成
−Top
  • −Coding
    • +.NET
    • +CUDA
    • +JavaScript
    • +MSOffice
    • +PHP
    • +PowerShell
    • +Python
    • +Ruby
    • −VBA
      • ・.NETFrameworkの使用
      • ・COMコンポーネントの使用
      • ・Closeメソッド
      • +Excel
      • ・FileSystemObject
      • ・Framework
      • ・GitHubで公開されているコード一覧
      • +IEの操作
      • ・INIファイルの読み書き
      • ・MACアドレスの取得
      • −Outlook
        • ・送信時のチェック
      • ・PowerPoint
      • +SelenuimVBA
      • ・SendKeys、SendInput
      • ・TemplateEngine
      • ・VBA7
      • +Word
      • ・Word参考記事
      • ・ウィンドウをアクティブに
      • ・オートコレクト
      • ・クリップボードの操作
      • ・タスクの終了
      • ・ドキュメント自動生成
      • ・ハッシュを求める
      • ・ヒアドキュメントの実現
      • ・メールの作成
      • +ユニットテスト
      • ・一歩前へ
      • ・開発者
      • ・公開されているクラス一覧
      • ・人に説明するとき用のメモ
      • ・正規表現
    • +misc
    • +画像処理
  • +Server
  • +memo
  • +misc
  • +カメラ
  • +科学技術
  • +記事
  • +数値解析
最新の10件
2018-01-16 更新
  • misc/Hardware/各種プロセッサの倍精度演算性能
2017-11-27 更新
  • Coding/misc/raspberrypi
2017-11-02 更新
  • Coding/.NET/NuGetパッケージの作成
2017-10-19 更新
  • Coding/MSOffice/VSTO/ThisAddin_Startupに処理を書く問題が起きる
2017-06-16 更新
  • Coding/.NET/VisualStudioビルドイベント
2017-05-28 更新
  • misc/Hardware/タブレット向けCPU/複製
2017-05-25 更新
  • Coding/Python/CloudVision
2017-05-24 更新
  • misc/ロードバイク/サイクルロード/奈良
2017-05-11 更新
  • misc/ソフトウェア/文章/文章校正、作成支援ツール
2017-03-15 更新
  • misc/ソフトウェア/プロジェクト管理ツール

Powered By

b_pukiwiki.official.png

edit

目次関連するページ
  • メモ
  • 個人ブログ
  • Outlook最上位オブジェクト一覧
    • Application
    • MAPIFolder
  • OutlookとExcelとの連携
  • Coding/VBA
  • Coding/VBA/.NETFrameworkの使用
  • Coding/VBA/Closeメソッド
  • Coding/VBA/COMコンポーネントの使用
  • Coding/VBA/Excel
  • Coding/VBA/Excel/Addin/Toolbarの作成
  • Coding/VBA/Excel/Addin/Toolbarの作成/FaceIDの一覧
  • Coding/VBA/Excel/Addin/右クリックメニューの拡張
  • Coding/VBA/Excel/Addinの作り方
  • Coding/VBA/Excel/Formの表示位置を制御
  • Coding/VBA/Excel/Outlookと連携してメール作成・送信
  • Coding/VBA/Excel/SQLite
  • Coding/VBA/Excel/Wordを操作する
  • Coding/VBA/Excel/ソースコードの管理
  • Coding/VBA/Excel/共有の解除
  • Coding/VBA/FileSystemObject
  • Coding/VBA/Framework
  • Coding/VBA/GitHubで公開されているコード一覧
  • Coding/VBA/GUI/Form
  • Coding/VBA/GUI/Form/簡易リファレンス
  • Coding/VBA/GUI/Textbox
  • Coding/VBA/IEの操作
  • Coding/VBA/IEの操作/IE9以降でのframe操作
  • Coding/VBA/IEの操作/Ver間の差異を吸収する方法
  • Coding/VBA/INIファイルの読み書き
  • Coding/VBA/MACアドレスの取得
  • Coding/VBA/Office2010/リボンのカスタマイズ
  • Coding/VBA/Outlook
  • Coding/VBA/Outlook/送信時のチェック
  • Coding/VBA/PowerPoint
  • Coding/VBA/SelenuimVBA
  • Coding/VBA/SelenuimVBA/IEの操作
  • Coding/VBA/SelenuimVBA/ファイルのダウンロード
  • Coding/VBA/SelenuimVBA/フレームの切り替え
  • Coding/VBA/SelenuimVBA/ブラウザの指定
  • Coding/VBA/SelenuimVBA/要素の指定方法
  • Coding/VBA/SendKeys、SendInput
  • Coding/VBA/TemplateEngine
  • Coding/VBA/VBA7
  • Coding/VBA/VBE/アドインの作成
  • Coding/VBA/Word
  • Coding/VBA/Word/AutoExec、AutoOpenに関して
  • Coding/VBA/Word/Excelからの操作
  • Coding/VBA/Word/おせっかい機能(オートフォーマット)のオフ
  • Coding/VBA/Word/まとめサイト
  • Coding/VBA/Word/アドイン/一括置換
  • Coding/VBA/Word/キーの割り当て
  • Coding/VBA/Word/キャレット絶対座標
  • Coding/VBA/Word/フィールドコード
  • Coding/VBA/Word/右クリックメニューの拡張
  • Coding/VBA/Word/未整理
  • Coding/VBA/Word参考記事
  • Coding/VBA/アドイン作成/Ribbon
  • Coding/VBA/ウィンドウをアクティブに
  • Coding/VBA/オートコレクト
  • Coding/VBA/クリップボードの操作
  • Coding/VBA/タスクの終了
  • Coding/VBA/ドキュメント自動生成
  • Coding/VBA/ハッシュを求める
  • Coding/VBA/ヒアドキュメントの実現
  • Coding/VBA/メールの作成
  • Coding/VBA/ユニットテスト
  • Coding/VBA/ユニットテスト/Assert.bas
  • Coding/VBA/一歩前へ
  • Coding/VBA/開発者
  • Coding/VBA/公開されているクラス一覧
  • Coding/VBA/人に説明するとき用のメモ
  • Coding/VBA/正規表現

メモ †

Application_NewMailEx - Google 検索
URL省略

↑

個人ブログ †

Outlook VBAなど
http://d.hatena.ne.jp/clock9/19820101

Outlook マクロ・スクリプト_インデックス«Outlook研究所
http://outlooklab.wordpress.com/outlook-macroscript-index/

Outlook VBA マクロ、はじめの一歩 « Outlook 研究所
URL省略

メールを受信するたびにメモに変換して保存するマクロ « Outlook 研究所
URL省略

受信したメールの添付ファイルを自動保存するマクロ « Outlook 研究所
URL省略

↑

Outlook最上位オブジェクト一覧 †

  • Application
    • Explorer
    • Inspector
  • MAPIFolder
  • MailItem
  • AppointmentItem
  • TaskItem
  • ContactItem
↑

Application †

  • CreateItem (電子メールなどの作成)
  • Explorers (フォルダの中表示ウィンドウ)
  • Inspectors (単一のメール表示ウィンドウにアクセス)
↑

MAPIFolder †

概略説明。以下、どこかから引用。

電子メール メッセージ、連絡先、タスクなどのアイテムを格納するフォルダーを表します。
Outlook には、16 の既定の MAPIFolder オブジェクトが用意されています。
Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox は、Outlook の [受信トレイ] フォルダーに対応します。
↑

OutlookとExcelとの連携 †

(引用元失念)

Option Explicit

'Excel2003 VBA から OutLook2003を起動して 受信メールを1つ1つ取り出す
Sub OL_TEST_LOOK_MAIL_0221()

    Dim oApp As Object        'OutlookのApplication オブジェクトを入れる
    Dim myNameSpace As Object '名前のスペースと言われても、、
    Dim myFolder As Object    'フォルダー指定

    'outlook 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を
    Set oApp = CreateObject("Outlook.Application")

    '呪文1 名前空間 の 指定 と言っても、.GetNamespace("MAPI")しただけ
    Set myNameSpace = oApp.GetNamespace("MAPI")
    
    '次は作業フォルダーの指定(.GetDefaultFolder) と 表示(.Display)
    Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダー olFolderInbox=6 指定
    myFolder.Display  '表示 いつものクセで .Visible = True とやりがちだけど
    
    '次にメールの中身を取り出したいと思います。
    Dim objMAILITEM As Object 'メールアイテム
    Dim n As Integer  'カウンター
    
    For n = 1 To myFolder.Items.Count  'フォルダーのアイテム数分ループ
        'メールを1通取り出す、変数にセットする
        Set objMAILITEM = myFolder.Items(n) '別にあらためてセットしなくても使えるけど
        'テストデータをセルにセットする※11行目からセットする。。。
        Cells(n + 10, "A") = objMAILITEM.CreationTime  '作成日
        Cells(n + 10, "B") = objMAILITEM.SenderName    '差出人
        'Cells(n + 10, "C") = objMAILITEM.SenderEmailAddress    '差出人のアドレス
        Cells(n + 10, "D") = objMAILITEM.Subject       '件名
        Cells(n + 10, "E") = objMAILITEM.Body          '本文
    Next n

End Sub
Option Explicit

'Excelアプリケーション内にアクティブになっているワークシートが
'存在する事を前提に作りました。

Private Sub GetRcvMailInfo()

Dim objOApp As Object 'Outlook.Application
Dim objNameSpace As Object 'Outlook.NameSpace
Dim objDFld As Object 'Outlook.MAPIFolder
Dim objFld As Object 'Outlook.MAPIFolder
Dim objItem As Object 'Outlook.MailItem
Dim objEApp As Object 'Excel.Application
Dim objASht As Object 'Excel.Worksheet
Dim i As Long

Const DATAFOLDER As String = "業務用フォルダ"'複数のデータフォルダを使用している場合
Const SUBFOLDER As String = "受信トレイ"'抽出対象のフォルダ名称を指定

Set objOApp = CreateObject("Outlook.Application")
Set objNameSpace = objOApp.GetNamespace("MAPI")

For Each objDFld In objNameSpace.Folders
	If objDFld.Name = DATAFOLDER Then
		For Each objFld In objDFld.Folders
			If objFld.Name = SUBFOLDER Then
				Exit For
			End If
		Next objFld

		'objFld.Name = SUBFOLDER の判定でTrueとなったかを判定
		If Not objFld Is Nothing Then
			i = 1

			Set objEApp = Excel.Application
			objEApp.ScreenUpdating = False 'Excelの更新を一時的に停止
			Set objASht = objEApp.ActiveSheet

			For Each objItem In objFld.Items
				If objItem.UnRead = True Then
					objASht.Cells(i, 1) = objItem.Subject
					objASht.Cells(i, 2) = objItem.Body
					objASht.Cells(i, 3) = objItem.ReceivedTime
					i = i + 1
				End If
			Next objItem
			objEApp.ScreenUpdating = True 'Excelの更新を再開
			Exit For
		End If
	End If
Next objDFld

objOApp.Quit

Set objASht = Nothing
Set objEApp = Nothing
Set objASht = Nothing
Set objItem = Nothing
Set objFld = Nothing
Set objDFld = Nothing
Set objNameSpace = Nothing
Set objOApp = Nothing

End Sub

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索   ヘルプ   最終更新のRSS
Last-modified: 2011-10-31 (月) (2672d)
Site admin: D*isuke YAMAKAWA

PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.3.29. HTML convert time: 0.030 sec.