• ベストアンサー

outlookでメールのフォルダパスを取得

outlookです。 VBAコードを書いています。 現在開いているフォルダパスを取得する関数はありますか? GetNamespace("MAPI")を使用すると、Folders等で取得出来そうと思い調べています。 うまくいかないので、ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

wisteria999さん こんにちは。 現在開いているフォルダパスは以下のプロパティで取得できるかと思います。    ActiveExplorer.CurrentFolder.FolderPath

wisteria999
質問者

お礼

取得できました。 これだけで取得できたんですね。 あれだけ調べてわからなかったのが恥ずかしいです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • outlook 実際のアイテム数より1多い数が取得

    http://www.geocities.co.jp/SiliconValley-Bay/3475/outlook_vba.html の フォルダ内のすべてのメールを処理   Dim ns As NameSpace Dim mf As MAPIFolder Dim x As Integer Set ns = GetNamespace("MAPI") Set mf = ns.Folders("個人用フォルダ").Folders("test") For x = 1 To mf.Items.Count   ' ここに処理を記述 Next MsgBox x & "件の処理が終了しました。" を実行すると、実際のアイテム数より1多い数が取得されるのですが なぜでしょうか?

  • OutLookVBA 指定のフォルダをアクティブ化

    こんばんは、よろしくお願いいたします。 OUTLOOK VBAで指定のフォルダをアクティブにするコードが分かりません。 Windows:VISTA OutLook:2007 ○.Display とすると、別ウィンドウが立ち上がってそのフォルダが表示されます。 ○.Activate とするとエラーになります。 別ウィンドウではなくアクティブフォルダが遷移する、とするにはそう すればいいでしょうか? ご指導お願いいたします。 Sub foldpl() Dim ns As NameSpace Dim mf As MAPIFolder Set ns = GetNamespace("MAPI") Set mf = ns.Folders("個人用フォルダ").Folders("送信済みアイテム") mf.Display '別ウィンドウで表示されてしまします Set mf = Nothing Set ns = Nothing End Sub

  • エクセル フォルダパスを取得する方法

    シートに空のボタンが1個あるとします。 (1)セルA1にフォルダのパスを入力し、ボタンを押したらそのフォルダへアクセスできる。 (2)ボタンを押したら、フォルダ場所を選択できる画面が出て、選択したらセルA1に入力される。 というように、セルとボタンを連動させて、フォルダパスを取得したいです。 可能であれば、(2)でフォルダ場所を選択し、フォルダが新規作成もできる機能までつけたいです。 Excel2010を使用しており、VBAは初心者です。 どなたかご存じでしたら、ぜひお教え下さい。 よろしくお願いします

  • アウトルックが起動しているかどうかを取得するには?

    http://www.ken3.org/cgi-bin/group/vba_outlook.asp を参考に Sub Sample() Dim oApp As Outlook.Application Dim myNameSpace As Outlook.Namespace Dim myFolder As Outlook.Folder 'outlook 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") '作業フォルダーの指定(.GetDefaultFolder) と 表示(.Display) Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダー olFolderInbox=6 指定 myFolder.display End Sub でエクセルからアウトルックを起動しているのですが 既に起動していると2個起動してしまいます。 「既に起動しているのなら起動しない」という事はできますか? 参考URLに 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を と書いてありますが、ちょっと勘弁できませんでした笑

  • outlookの予定をexcelから読む

    Office2007を使っています。 予定作成のフロントエンドとしてoutlook、 全体の予定表の作表、印刷エンジンとしてexcel、という使い方をしたいです Dim oApp 'As Outlook.Application OutlookのApplication オブジェクトを入れる Dim myNameSpace 'As Outlook.NameSpace 名前のスペースと言われても、、 Dim myFolder 'As Outlook.Folder フォルダー指定 Dim shigoto Dim aITEM 'As Outlook.AppointmentItem '予定、アポ Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダー olFolderInbox=6 指定 Set shigoto = myFolder.Folders("予定表(仕事)") shigoto.display oApp.ActiveWindow.WindowState = 2 'olNormalWindow=2 を セット For Each aITEM In shigoto.Items 'aITEMに入っている個々の予定に対する処理 Next http://www.ken3.org/cgi-bin/group/vba_outlook.asp 上記サイトのコードで、規定の予定表にある予定オブジェクトにアクセスすることはできました これを、iCloud内の予定表に対して同じことをやりたいのですが、うまくいきません。 Set shigoto = myFolder.Folders("iCloud内の予定表(仕事)") Set shigoto = myFolder.Folders("iCloud").Folders("予定表(仕事)") などとやってみたのですが、 実行時エラー'-2147221283(8004010f)": 操作は失敗しました。オブジェクトが見つかりませんでした。 というエラーで終了です。 うまくいく方法はないでしょうか? よろしくお願いします。

  • VB.NETでOutlookの連絡先を取得するには

    Outlookでデフォルトの連絡先フォルダの他にもいくつかフォルダを作り、連絡先を管理しています。 以下のコードにて指定したフォルダの連絡先を取得できていますが、フォルダのプロパティで「電子メールのアドレス帳にこのフォルダを表示する」のチェックが外れていると、オブジェクトが見つからない旨のエラーが発生してしまいます。 チェックを入れておけば良い話なのですが、会社のPCの仕様で再起動するとチェックが外れてしまうので困っています。チェックが外れた状態でも取得するにはどうすれば良いでしょうか? よろしくお願いします。 ol = CreateObject("Outlook.Application") olns = ol.GetNamespace("MAPI") objAdList = olns.AddressLists.Item("XXXX") '←ここで連絡先フォルダ名を指定 For Each objAdEntry In objAdList.AddressEntries MsgBox(objAdEntry.Name) Next

  • outlookが起動してるかどうかを取得したい

    Sub Outlookが起動してないなら起動する() Dim oApp 'As Outlook.Application OutlookのApplication オブジェクトを入れる Dim myNameSpace 'As Outlook.NameSpac Dim myFolder 'As Outlook.Folder If Outlookが起動してるなら Then Exit Sub 'outlook 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダー myFolder.Display '(通常サイズ olNormalWindow=2 , olMaximized=0,olMinimized=1) oApp.ActiveWindow.WindowState = 0 End Sub ///////////////////////////////////////////////////////////////// のような事がしたいのですが、 If Outlookが起動してるなら Then Exit Sub をどうすればいいのか教えていただけませんか? 当方OFFICE2007を使用しています。

  • LocationNameを取得するとアウトルックが

    エクセルvba2010です。よろしくお願いします。 Sub Sample() Dim ie As Object For Each ie In CreateObject("Shell.Application").Windows() Debug.Print ie.LocationName Next End Sub このコードで、現在開いているURL名を取得すると、 アウトルックを立ち上げてると outlook:%26%2321463・・・ と言うのが取得されるのですが、これは何のパスでしょうか? メールは立ち上げていません。

  • Outlook2003 VBA マクロで迷惑フォルダ内のメールを一括削除したい

    行いたいことは、受信トレイ以下に「迷惑メール」と「迷惑メールフォルダ」というフォルダがあるのですが、これらのフォルダ内にあるメールを一括して削除するマクロを作成したいのです。 これまでは、フォルダを選択 → Ctrl+A → Delという操作を行っています。 ネット上のサンプルを参考に以下を作成しましたが、具合が良くないのです。1件づつループして削除させているので、数百件あると非常に処理が重くなるのです。 つまり、「Ctrl+A(全て選択) → Del」というようにさくっとした感じで処理がしたいのですが、その方法がわかりません。どうか、宜しくお願い致します。 Sub 複数のフォルダ内のメールを削除() 'お約束? Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") 'フォルダ指定 Set myFolder1 = myNameSpace.Folders("個人用フォルダ").Folders("迷惑メール") Set myFolder2 = myNameSpace.Folders("個人用フォルダ").Folders("迷惑メールフォルダ") '(1)「迷惑メール」内を削除 Dim cnt As Integer TOTAL = myFolder1.Items.Count For i = 1 To TOTAL '1番上のメールから順次削除 myFolder.Items(1).Display 'もしかして、これがいけない? myFolder.Items(1).Delete Next i '(2)「迷惑メール」内を削除 ・・・(1)と同様 End Sub 今回初めて、Outlook2003 VBAをさわってみましたので、基本がわかっていないと思います。ご指南頂ければ幸いです。

  • <EXCEL/VBA> OUTLOOKのウインドを閉じる方法

    EXCEL/VBAで、OUTLOOKのウインドを閉じる方法を教えて下さい。 OUTLOOKを立ち上げた状態で、EXCEL/VBAで下記のようにOUTLOOKのフォルダーを指定してウインドを表示していますが、 VBAで開いたウインドのみ閉じたいのですが、うまく行きません。 oApp.Quitだと元々立ち上げていたoutlookも含めて終了してしまいます。宜しく、お願いします。 Sub OL_TEST() Dim oApp As Object 'OutlookのApplication オブジェクト Dim myNameSpace As Object '名前スペース Dim myFolder As Object 'フォルダー指定 Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダー olFolderInbox=6 指定 myFolder.Display '表示

専門家に質問してみよう