問題タブ [outlook-object-model]
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.
delphi - Outlook で既読としてマークされたアイテムのイベント - Delphi COM アドイン
Outlook (2000-2007) 用の Delphi COM アドインがあり、Outlook の MailItem が既読としてマークされたときにイベントを登録する方法を見つけようとしています。アイテムが既読としてマークされた直後に、追加のプロパティをアイテムに追加したいと考えています。
Outlook オブジェクト モデルを使用してこれを行う方法を知っている人はいますか? また、Add-In-Express コンポーネントを使用して、追加のプロパティ イベントにアクセスできるようにしています。
com - 2 つのインスペクター参照が同じインスペクター インスタンスを指していることを確実に伝えるにはどうすればよいですか?
[ 2 つの COM インターフェイス参照が同じインスタンスを指しているかどうかを確認する方法はありますか?からの続き ]
2 つの異なるソースからオブジェクトへの参照を取得してInspector
おり、一方のソースのアイテムが他方のソースのアイテムに対応するかどうかを判断できる必要があります。ただし、これまでに思いついたアプローチはどれも(確実に)機能しませんでした。
メソッドがインスペクターインスタンス自体ではなく、オンザフライで作成されたプロキシオブジェクトへの参照を返しているように見えるため、インターフェイスを単純に比較することはできませんでした。
IUnknown
Inspectors.Item()
試してみてください: 同じインデックスに 2 回アクセスすると、2 つの明確に異なるポインターが返されます。比べる
Inspector.CurrentItem.EntryID
のもダメ。新しい/保存されていないアイテムEntryID
は常に空白であり、一度に複数の保存されていないアイテムが開かれている可能性があります。Inspector.Caption
またはInspector.CurrentItem.Subject
同様にあいまいです。一時的
Inspector.CurrentItem.Subject
に(または実際には他の項目プロパティを)明確な値に設定してから、他のリストの種類でそれを探しますが、インスペクターで項目を「ダーティ」としてマークするという厄介な副作用があります。つまり、インスペクターを閉じるときに再度、ユーザーはアイテムを保存するように求められます (受信したメールを表示していた場合でも)。
他のアイデアはありますか?
環境:
Inspectors.NewInspector
Simple MAPI (エクスプローラーのコンテキスト メニューの [送信先] > [メール受信者] など) を介して開始された新しい電子メール メッセージがイベントを生成しないというよく知られたバグ/機能を回避しようとしています。インスペクタ (例: ツールバー ボタンの追加またはメッセージ作成時のコードの実行)。私の COM アドインには、イベントをキャッチするラッパー オブジェクトの内部リストがありますInspector
。Inspectors.NewInspector
およびInspector.Close
イベントを監視することで、このリストに項目が追加および削除されます。
別のアプローチとして、私はシェル フックを使用しています。新しいインスペクター ウィンドウが作成または破棄されるたびに通知を受け取ることができるようになったので、そこに飛び込んでラッパー オブジェクトの内部リストをApplication.Inspectors
コレクションと一致させるのに適しているようです。それに応じて、新しいラッパー オブジェクトまたは孤立したラッパー オブジェクトを追加または削除します。
vb.net - Outlook.MAPIFolder の種類の検索
アプリケーションの Outlook コントロールを構築しており、子フォルダーを再帰的に追加してツリーリストを作成しています。これらのフォルダーは、Outlook.MAPIFolder として宣言されます。しかし、このアプリケーションでは実際のメールからのインポートしか許可されていないため、カレンダー アイテムを含むフォルダーを除外したいと考えています。Outlook でこれらのフォルダーを右クリックしてプロパティに移動すると、タイプが「予定表アイテムを含むフォルダー」として表示されます。しかし、私はVB.Netでプログラム的にそれを得ることができないようです. 簡単なものがありませんか?
html - OutlookHTMLメール-リンクされたアイテムを埋め込みに変更
C#3を使用してHTML形式の電子メールを送信しようとしていますOutlook.MailItem
電子メールは、RTFコントロール(TXテキストコントロール)から保存することによって外部で生成されます。これにより、<<FileName>>
_filesサブディレクトリに保存されている画像へのリンクを含むHTMLが生成されます。例:
<img border="0" src="file:///C:/Documents%20and%20Settings/ItsMe/Local%20Settings/Temp/2/zbt4dmvs_Images/zbt4dmvs_1.png" width="94" height="94" alt="[image]">
この方法でメールを送信すると、リンク切れのメールが生成されます。
Outlook 2007を電子メールクライアントとして使用し、Wordを電子メールエディターとして使用し、RTF([オプション]タブ、[形式]タブグループ)に切り替えると、レイアウトが保持され、画像がインライン化されます。
プログラムでこれを行うには、次の方法があります。
フォーマットが失われ、画像がマングルされます(画像は[image]
画面上のリンクマーカーになり、クリック可能になりますが、画像は表示されなくなります)。MailItem.BodyFormatプロパティのドキュメントに、「プロパティをRTFからHTMLに、またはその逆に切り替えると、すべてのテキスト形式が失われるBodyFormat
」と記載されていることを考えると、これは驚くべきことではありません。
残念ながら、を作成するときに設定される読み取り専用プロパティであるため、のType
それぞれAttachment
のをに変更する簡単な方法はないようです。MailItem.Attachements
OlAttachmentType.olByValue
Attachment
頭に浮かぶアプローチは、HTMLをウォークし、
タグをマーカーに置き換え、プログラムで<img>
MailItem
テキストをウォークし、のを挿入することOutlook.Attachment
ですType
OlAttachmentType.olByValue
。
別のオプションは、使用するリンクを変換<img>
し、参照されたIDを持つ添付ファイルとして画像を追加することです。src="cid:uniqueIdN"
それで、質問に...理想的には償還のようなサードパーティのツールに入ることなく、リンクされた画像を埋め込み画像に変換する方法はありますか?RTFに変換すると結果が得られますが、そのようにすることは決して前提条件ではなく、明らかに忠実度を失う可能性があります。
outlook - Outlook 2007 でコピーされた予定アイテムの数を確認する方法
Outlook 2007 で、ユーザーがテスト カレンダーと実際のカレンダーという 2 つのカレンダーを持っていて、テスト カレンダーですべての予定を表示する場合、約 20 ~ 30 の予定をコピーして、実際のカレンダーの [すべての予定アイテム] ビューに貼り付けます。メッセージ ボックスを取得する方法非常に多くのアイテムがコピーされたと言っています。
上記のコメントにさらに追加すると、別の 50 件の予定アイテムに対してコピー/貼り付けが再び繰り返される場合、メッセージ ボックスには 50 と表示されます (このカウントは、Outlook を閉じたりセッションを終了したりする必要なく、正しく表示されるはずです)。
outlook - Application.ActiveInspector() は、Outlook リボンの読み込み時に Null です
リボンのロード時に ActiveInspector にアクセスすることは可能ですか。Application.ActiveInspector() は、カスタム フォームを使用すると適切な値を返しますが、デフォルトの連絡先フォームでは返されません。
ActiveInspector().CurrentItem のプロパティ値に応じてリボン ボタンをカスタマイズするには、ActiveInspector が必要です。
c# - 連絡先を Outlook に挿入する方法 - C# 3.0
質問のタイトルは、私が達成したいことを説明しています。を使用して実行できることを知っていますMicrosoft OUtlook object library 12.0
。しかし、管理されたオプション、または Outlook への XML インポートを探しています。したがって、連絡先の数は数千になる可能性があります。というわけで、最善策を楽しみにしています。知っているオープン/クローズド ソース ライブラリ。
私にお知らせください。
c# - C# を使用して Outlook に連絡先を挿入すると、CPU 使用率が 100% に達しますか?
この質問は、Outlook への連絡先の挿入に関する私の質問に関連しています。
OOM ( Outlook Object Model ) または Microsoft Outlook object library 12.0 以外にこれを行う方法を誰も提案できなかったので、最終的に OOM を使用することになりました。
1000 レコードを挿入しようとすると、CPU 使用率が 100% になります。連絡先を閉鎖していますが、他に何か処分または閉鎖する必要がありますか?
また、プログラムが実行されていて Outlook が開いている場合、誰かが Outlook を閉じると、プログラムでエラーが発生します。
outlook - VSTOを使用してOutlookアドインでメールボックス名を取得する
VSTOを使用してOutlook2003アドインで作業しています。ユーザーのメールボックス名またはNTUserNameを取得する方法はありますか。