API 呼び出しまたはレジストリ エントリを使用して、現在のユーザーの Outlook .pst ファイルの場所をプログラムで見つける方法はありますか?
15892 次
2 に答える
5
Outlook Redemptionを使用すると、プロパティRDOStores
を介してアクセスできるコレクションを使用して、VBA でメッセージ ストアを反復処理できRDOSession.Stores
ます。
すぐに使えるVBAで同様のことを行う可能性を検討しています...
編集:
明らかに、PST へのパスは StoreId 文字列でエンコードされます。Googleはこれを見つけました:
Sub PstFiles()
Dim f As MAPIFolder
For Each f In Session.Folders
Debug.Print f.StoreID
Debug.Print GetPathFromStoreID(f.StoreID)
Next f
End Sub
Public Function GetPathFromStoreID(sStoreID As String) As String
On Error Resume Next
Dim i As Long
Dim lPos As Long
Dim sRes As String
For i = 1 To Len(sStoreID) Step 2
sRes = sRes & Chr("&h" & Mid$(sStoreID, i, 2))
Next
sRes = Replace(sRes, Chr(0), vbNullString)
lPos = InStr(sRes, ":\")
If lPos Then
GetPathFromStoreID = Right$(sRes, (Len(sRes)) - (lPos - 2))
End If
End Function
テストしただけで、設計どおりに動作します。
于 2008-10-13T12:09:40.193 に答える
0
パスは次のどこかにある必要があります。
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook]
多分これは少し役立ちます。
于 2008-10-12T19:17:08.443 に答える