問題タブ [mailitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
8615 参照

c# - Outlook MailItemを正しくリリースする方法は?

OutlookMailItemsを解放できません。200通のメールを開いた後、Exchangeサーバーは開いている最大のメールを返します。

選択したすべてのメールからUserPropertyを削除します。

私のコード:

何が問題なのか分かりますか?

0 投票する
1 に答える
537 参照

outlook - Outlook.MailItem の変更をキャンセルするには?

Outlook.MailItem で変更を行っていますが、最後のエクスプローラーを閉じた後、メッセージ ボックスでアイテムを保存するように求められます (2 回!)。

アイテムを保存せずにアイテムの「ダーティ」状態をキャンセルしたいので、メッセージ ボックスは表示されません。

それを達成することは可能ですか?私が持っている唯一の解決策は、以前の状態を保持して再度保存することです。

0 投票する
1 に答える
951 参照

c# - c#を使用してメールアイテムに返信先アドレスを設定することは可能ですか?

c#でメールアイテムの返信先アドレスを設定することは可能ですか?

mailitem.reply();次に、受信者が一度返信したすべてのメッセージが中央のメールボックスに届くように返信を設定しますか?

私はグーグルでしばらく過ごしましたが、運がありませんでした。私はおそらく不可能な何かを探しているか、間違った場所を探しています。

ご協力いただきありがとうございます。

0 投票する
2 に答える
8647 参照

c# - c#でパスから新しいOutlook.MailItemへの既存のメッセージを作成/開く

こんにちは、ディスク上にある既存のものから Outlook.MailItem (と思います) を作成したいと思います。文字列に保存されたパスがあり、そこから本文と添付ファイルを保存するためにアクセスしたいと思います。

C#で開いてアクセスする方法がわかりません。

現在、私は次のようなものを持っています

ここで、fl は "C:\users\msgs\email.msg" のように評価されます。

時間をありがとう

0 投票する
3 に答える
5645 参照

c# - C#のMailItemから名前付きMAPIプロパティを取得します

C#でOutlook2010カスタムプラグインを開発しています。C#を使用するのはこれが初めてです(私は通常Javaの人です)。

アクセスしたいメッセージに名前付き(カスタム)MAPIプロパティがあり、アクセスに問題があります。私の理解では、Outlook 2007では、名前付きMAPIプロパティに簡単にアクセスできるPropertyAccessorオブジェクトが導入されました。次のドキュメントの指示に従いました。

http://msdn.microsoft.com/en-us/library/ff868915.aspx

OutlookSpyを使用してメッセージでアクセスしたい名前付きMAPIプロパティを確認できます。Outlook Spyから、プロパティに関する次の情報を取得できます。

そこで、次のコードを試しました(オブジェクトメールはMailItemの有効なインスタンスです)。

これにより、次の例外が発生します。

だから私は実際にこのプロパティを取得する方法を疑問に思っていますか?名前空間参照を誤って形成していますか?または、この例で概説されているアプローチを使用する必要がありますか?

http://www.outlookcode.com/codedetail.aspx?id=1112

私の理解では、これは2007より前のバージョンのOutlookにのみ必要でした。どんな助けでも大歓迎です!

0 投票する
2 に答える
25357 参照

vba - EntryID、StoreID、および/または PR_ENTRYID を使用して Outlook メール アイテムを開く

注: VBA と Office 2007 を使用しています (C# を使用しますが、プロジェクトのパラメーターでは許可されていません)。

Access データベースから Outlook EntryID または MAPI "PR_ENTRYID" プロパティを提供することで、Outlook メール アイテムを開くことができる Outlook または API のメソッドを見つけようとしています。上記のコードへの参照を多数見つけましたが、実際にソリューションを投稿する人を見たことがありません。mapi32.dll および OLMAPI32.dll への参照をインクルードしようとしましたが、次のエラーが表示されます:「指定されたファイルへの参照を追加できません。」これは、これらの dll が .NET 用であるためだと思います。

あなたが与えることができるどんな助けも大歓迎です.

0 投票する
1 に答える
1616 参照

c#-4.0 - Outlook 2010 C#.NETアドインで新しい返信/転送メッセージの親MailItemを特定するにはどうすればよいですか?

Outlook.MailItemのUserPropertiesコレクションを使用して電子メールにタグを付けることができるOutlook2010のアドインを開発しようとしています。フィールドはデータベース構成からロードされ、電子メールを作成するときにユーザーが入力できるように作業ウィンドウに表示されます。アドインを持っている人が電子メールを受信すると、それを開いて同じ作業ウィンドウでタグ付けされた値を表示/編集できます。

また、タグ付けされた電子メールから生成された返信または転送メッセージに現在の値を入力したいと思います。残念ながら、新しい電子メールの発信元を特定する方法が見つかりませんでした。Replyイベントに渡された新しく作成された電子メールを使用して、ParentプロパティまたはGetConversation()メソッドを使用して親を検索しようとしました。どちらも、新しく作成されたアイテムに対してnullを返します。

要約すると、新しいReplyまたはForward MailItemが生成されるスポーンMailItemを判別する方法はありますか?この問題について何か説明が必要な場合は、私に知らせてください。

ありがとう、アンドリュー

0 投票する
1 に答える
2182 参照

events - Outlook 2007VSTOVB.NETでのメールアイテムの「読み取り」イベント

さて、これは少しトリッキーなものです...

VS 2010とVSTO、およびVB.NETを使用して、MSOutlook2007のアドインをプログラミングしています。私の目標は、特定の電子メールアドレスから受信した電子メールを印刷するようにユーザーに促すことです。(これは単純なMsgBoxで行われます。)

具体的には、メールを読み終えたときにユーザーにプロンプ​​トを表示したいと思います。私のコンセプトは、Outlookの「開封確認」機能と同様に機能する必要があるということです。(ご存知のとおり、これらの迷惑なことは... 「送信者はあなたがこのメールを読んだことを示す領収書を要求しました」

したがって、ユーザーは電子メールを読み、インスペクターを閉じる(または、エクスプローラービューにある場合はフォーカスを別のアイテムに変更する)と、MsgBoxがポップアップします。このタイミングは、メールが「既読」になるタイミングと一致していることに気づきました。

私はこれを数日間GoogleとMSDNおよびチュートリアルのWebサイトで追跡してきましたが、これが私が見つけたものです。

ラウンド1: MailitemオブジェクトにはUnReadプロパティがあり、PropertyChangeイベントもあります。受信トレイ内のすべてのメールアイテムでPropertyChangeにAddHandlerを使用して、PropertyChangeイベントの引数をチェックしてUnReadであることを確認する単一のサブルーチンにそれらを結び付けることができます。PropertyChangeが呼び出し元オブジェクトのIDを渡さないことを除いて、かなり機能しているようです。そのため、受信トレイ内のどの電子メールが「未読」ステータスを失ったかを知る方法がありません。

実際、MailitemイベントはどれもIDを渡していないようです。おそらく、誰か(MSだと思います)が、最初にMailitemオブジェクトへの直接ポインターを持っていると想定しているためです。したがって、このルートは機能していないようです。

ラウンド2: 受信トレイ内のすべてのメールアイテムをコレクションに取り込み、未読のものだけに制限することができます。

unreadItemsはDimmedWithEventsであったため、unreadItems.ItemRemoveを処理するSubを作成できました。これは正常に機能します。ただし、ItemRemoveイベントにはオブジェクト引数がありません。ドー!

ラウンド3: 反対のことをしたとしましょう。受信トレイの内容を取得して[Unread] = falseに制限してから、.ItemAddイベントを使用します。これはある程度機能しますが、理論的には、受信トレイ内の未読グループから既読グループへの変更だけでなく、ユーザーが任意のフォルダから「[未読]=false」アイテムを受信トレイにダンプしたときに呼び出されます。ですから、私がここで何かを誤解していない限り、選択肢もありません。

ラウンド4: さて、私も考えたのは、受信トレイアイテムコレクションWithEventsを調光し、.ItemChangeイベントをオフにすることでしたが、このイベントはオブジェクトについて何が変更されたかを実際には指定しないため、サイコロはありません。


最後に、私はこれにかなり困惑しています。私は自分の目標から後退することに非常に近いです。不十分な代替手段は、指定されたアドレスの1つから電子メールを受信したときにユーザーに警告することです(Application.NewMailイベントは私に面倒を与えないと私は信じているため)。しかし、それなら、私は単にユーザーに警告する必要があります-私は彼らがまだ読んでいない電子メールを印刷するように彼らに促しません。

この代替案は望ましくなく、私は自分の問題を調査と提案のために提示すると考えました。

-マット

PS私はObjective-CでiPadアプリを作成することから来ています。ここでは、オブジェクト階層のほとんどを自分で構築しています...そのような制限があるCOMオブジェクトを処理する必要があるのは奇妙です。

0 投票する
1 に答える
1847 参照

outlook - EntryID でメールを選択するための Outlook の DASL フィルター

次の SQL クエリを使用して、検索フォルダーに DASL フィルター [カスタマイズされたビュー] を適用しようとしています。

以前の検索で見つけた entryID でメールのみを選択したいと思います。searchfolder には間違いなくその entryID のメールが含まれています。

同じフォルダにこのようにsthを適用する

動作します。

これを行うことはできませんか?または、SQL クエリが正しくありませんか?

0 投票する
1 に答える
4470 参照

c# - Outlookのメールアイテムの選択を変更するC#

Outlook アドインから mailItem を選択したいと考えています。C#からメールアイテムを表示する方法は知っていますが、Outlookウィンドウ自体で選択する必要があります。

メールアイテムを表示する:

Outlook 2010 アドインを使用しています。

誰でもこれを行う方法について何か考えがありますか?