• 締切済み

.PST形式ファイルが格納されているフォルダの指定について

Microsoft Outlookのデータファイル(.PSTファイル)の解析を行うアプリをC#で作成したいと考えています。 .PSTファイルを扱うために、MAPIおよびOOMのAPIを使用する予定です。 そこでまず、解析対象の.PSTファイルですが、Outlookのデフォルトフォルダに格納されている.PSTファイルではなく、任意のフォルダに格納されている.PSTファイルを指定したいのですが、その方法がわかりません。 ご存じの方、ご教授をよろしくお願いします。

みんなの回答

回答No.2

Outlook Object Model では、PST を新規に作成して追加するには AddStoreEx メソッドを使います。 たとえば、C:\test\test.pst という PST ファイルを作成して現在の MAPI セッションに追加する場合は、以下のようにします。 Application.Session.AddStoreEx "C:\test\test.pst", olStoreDefault AddStoreEx の詳細については http://msdn.microsoft.com/ja-jp/library/cc381707.aspx をご覧ください。 MAPI を使う場合には、PST のサービスを追加して、そのサービスの PR_PST_PATH プロパティで PST のパスを指定することになると思いますが、そもそも C# では MAPI は使えないと思います。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.1

>任意のフォルダに格納されている.PSTファイルを指定したいのですが、その方法がわかりません。 質問の意図が今一つ理解できませんし、はっきり言って全く自信がありませんが、他の回答者の回答が無いようなので・・・。(残念ながら、ご質問のような質問に回答可能なレベルの回答者がもうこのサイトにはほとんどいません。) ご質問の意味が、ユーザーが、".pst"ファイルの保存フォルダをデフォルトのフォルダから任意のフォルダに変更している場合の、そのフォルダの情報がどこに記録されているかということでしたら、レジストリの HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Microsoft Outlook Internet Settings\ca1110066c57ad43a5582ab81469dc45 001e6700  REG_SZ  X:\・・・・\outlook.pst ではないかと思います。 ただし、上記のレジストリキーはMicrosoft Outlook 2000(OS:Windows 2000/XP)の場合です。他のバージョンのMicrosoft Outlookでも同じかどうかは分かりません。もしかしたら、レジストリキーの最後の"ca1110066c57ad43a5582ab81469dc45"の部分が異なっているかもしれません。(私は、E:ドライブにOutlook 2000の保存フォルダを変更していますが、レジストリ内を検索してヒットするのが、唯一上記のキーと値です。) 下記参考URLのOutlook 2003/2007の移行されるレジストリデータとして、 HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\* というキーがあり、この"Profiles"キー下に複数の英数字の羅列された(上記の"ca1110066c57ad43a5582ab81469dc45"等)キーが存在し、"outlook.pst"を始めとする".pst"ファイルの保存フォルダ+ファイル名が記録されています。 『Microsoft TechNet:Office 2010 内のユーザー データのレジストリ キーを移行する』 http://technet.microsoft.com/ja-jp/library/ee624352(office.14).aspx

参考URL:
http://technet.microsoft.com/ja-jp/library/ee624352(office.14).aspx

関連するQ&A

  • 個人用フォルダ.pstについて

    OUTLOOK2003ですが、ファイルのエクスポートで作った個人用フォルダ.pstとユーザ¥・・・¥Appdata\Local\Microsoft\Outlook\個人用フォルダ.pstは同じものですか? エクスポートは時間がかかるので、バックアップ用にファイルのコピーで済ませたいのですが。よろしくお願いいたします。

  • 2GBを超えたPSTファイル。

    Outlook2000を開くと新しく個人用フォルダを作成するか、既存の個人用フォルダを開くかを聞かれます。 既存の個人用フォルダを開くを選択すると、「PSTファイルが読み込めません。受信トレイ修復ツールで修復して下さい」と表示されます。 なので、scanpst.exe(受信トレイ修復ツール)を実行しましたが、途中でエラーが発生し、修復できない状態です。 PSTファイルのプロパティを見たところ、ファイルサイズが2GBをほんの少しだけ超えていました。(異常な程でかいですけど…溜め込んだせいです…) それで調べたところ、Microsoftのページに思いきり載ってました。 「[OL2000]2GBの制限を越えた.pstファイルが使用できない」 対処方:修復する事はできません。(scanpst.exeでも修復できません。) http://www.microsoft.com/japan/support/kb/articles/JP266/7/09.asp と書かれていました。 要するに2GBのメールは諦めなさいとMSさんはおっしゃってると言う事でしょうね…普通に考えれば… OfficeのSR-1を当てていれば問題は発生しなかったようなのですが後の祭りです。 しかし、何とかこの2GBをほんの少しだけ超えてしまったPSTファイルを参照、又は分割する方法、Outlook2000で再度使用可能にする方法、思いつく方いらっしゃいませんか? ダメ元でPSTファイルをメモ帳で開いて、文字化け文字を適当に切りとって容量を2GB以下に減らして見ましたが、それでもOutlook2000で読み込めませんでした…(当たり前のような気もしますが…) 拡張子PSTを開けるアプリケーションがあれば、編集して容量を減らして、Outlook2000でも開けるのではないかと思っているのですが、探しても見当たりません。そんな都合の良いアプリは無いのでしょうか? 誰か知恵をお貸しください。助けください。お願いします。2GBのメールを諦めるのは痛いです。 (ちなみにOSはWindows98SEです。)

  • outlookのpstファイルについて

    PCをリカバリするにあたり、microsoft outlook2007の受信メールを pstファイルで保存しました。 それを元に戻す作業をしたのですが、メールは元に戻りましたが フォルダ分けがされずに大量のメールが受信トレイにある状態です。 (元々、受信トレイを細かくフォルダに分けて管理していました) pst形式では、フォルダまでは保存されないのでしょうか? よろしくお願いいたします。

  • pstファイルが消えた?(Windows2000)

    Exchangeサーバー上のメールを個人用フォルダ(pstファイル)に落として管理していたのですが、outlook上で個人用フォルダをクリックしても普段メールが表示される所がグレーになり"表示できません"のようなメッセージが出るだけになってしまいました。 切断して再接続しようかなと思い、「*.pst」と打ってpstファイルを検索したのですが検索されないのです。(検索すべき拡張子が違う?) 特に何かをインストールしたということもありません。 そう簡単に消えるものではないとは思うのですが、どなたかご教授ください。よろしくお願いいたします。

  • 2種類の pstファイル

    エクスプローラーのドキュメントの中に、「Outlookファイル」のフォルダーに収納されている pstファイルと、そのフォルダーに入らず裸で存在する pstファイルがあります。サイズも違います。 これはどういうことなのでしょうか。

  • Outlook 2007 pstファイルサイズ

    pstファイルが20 GBに近づいてきたのですが、Outlook 2007を開いて個人用フォルダを右クリックし、PropertiesからFolder sizeをチェックをしても10 GBしかありません。残り10 GBはどこにあるのでしょうか? PropertiesからFolder sizeをCheckする方法は不正確なのでしょうか? 7GB程度のArchve folderも読み込ませていますが、Defaultのpstファイルに影響するしますか? OSはVistaです。

  • OutLookのPSTファイル既定変更(C#)

    C#よりOutLook(2007)のPSTファイルの既定を指定したファイルに変更することを考えています。 以下のようなソースで、既定の設定にしたいファイルパスを与えて、ストアを参照し、 Outlook.ExplorerのCnrrentFolderにストアのフォルダをセットすることで、 既定の設定になるかと思いましたが、このロジックを実行後、OutLookで確認 しても、既定の設定は変更されていません。 private void test(string path) //既定の設定を行うpstファイル { Outlook.Application oApp = new Outlook.Application(); Outlook.NameSpace oNS = oApp.GetNamespace("mapi"); Outlook.MAPIFolder oMapiFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts); Outlook.Explorer oExplorer = oMapiFolder.GetExplorer(); Outlook.Stores stores = oApp.Session.Stores; //登録されているpstファイル数分検索 foreach (Outlook.Store store in stores) { //登録されているpstファイルと一致 if (store.FilePath == path) {     //既定の設定処理 ※既定になりません!! Outlook.Folder folder = store.GetRootFolder() as Outlook.Folder; oExplorer.CurrentFolder = folder; oExplorer.activate(); } } よろしくおねがいします。

  • バックアップした.pstファイルが開かない

    パソコン初心者です。 OUTLOOK2003を利用しています。メールのバックアップをしたところ、個人用フォルダを開くと outlook.pst outlook.backup.pst outlook.pst extend.dat のファイルが出てきます。 そのファイルを開くと(このファイルを開くプログラム選択してください)となりますが、プログラムの中に(OUTLOOK)が出てきません。 どのプログラムから開くことが出来るのでしょうか? ファイルの表示も(すべてのファイル表示する)にチェックはいれました。 よろしくお願いします。パソコンはXPです。

  • Outlookを使用していないのに、outlook.pstファイルが3

    Outlookを使用していないのに、outlook.pstファイルが3G以上あります。 削除可能でしょうか?? メーラーはWindows mailを使用していてOutlookはほとんど起動もしたことがありません。 OSはWindows vista です。 Cドライブがいっぱいになっているのでいろいろなファイルを整理しているのですが、 Cドライブの個人フォルダが異常に重たく、原因がAppData¥Local¥Microsoft¥Outlook のフォルダの「outlook.pst」であることに行き着きました。 いろいろ調べましたが、Outlookを使用している方の膨れ上がったPSTファイルの対処方法しか見つけられず、質問いたしました。 Outlookを使用していなくてもPstファイルが3G以上にもなるのでしょうか? Windows mailと何らかの関係があるのでしょうか? 削除すると何か支障がでますか?宜しくお願いします。

  • pstファイルについて

    pstファイル(個人フォルダー)をCドライブからコピーして、それを共有フォルダに入れるとします。 そして違うPCでアウトルックを立ち上げたら、そのPCからも個人フォルダを見ることができるのでしょうか? できるのであれば方法をおしえていただけないでしょうか? 宜しくお願いします。

専門家に質問してみよう