web-dev-qa-db-ja.com

[形式を選択して貼り付け]を自動化するOutlook2007マクロ-書式なしテキストはどのようになりますか?

Outlook 2007のマクロをツールバーボタンに割り当てて、Windowsクリップボードにフォーマットされたテキストがある場合にこれらのクリックと同等のクリックを実行したいと思います。

  1. 下矢印の横にある[貼り付け]アイコンをクリックします
  2. [形式を選択して貼り付け]リンクをクリックします。
  3. [書式なしテキスト]リンクをクリックします。

Excel2007とWord2007に同様のマクロがありますが、Outlook 2007/VBAで機能させることができません。そのようなマクロのVBAコードは何でしょうか?

6
Gary Petersen

著者のSueMosherの多くの助けを借りて、私はついにOutlook 2007でマクロを動作させて、貼り付け–貼り付け特殊–書式なしテキストのマウスクリックを自動化することができました。 WOO-HOO !!!!

Outlookの電子メールメッセージにカットアンドペーストしたもののほとんどはフォーマットされています。 Ctrl-Vを使用するか、[貼り付け]ボタンをクリックして貼り付けると、その書式がそのまま保持されます。 [貼り付け]-[形式を選択して貼り付け]-[書式なしテキスト]をクリックするのは大したことではありませんが、実行するたびに数秒かかります。だから、この小さなことは私にとって時間の節約になるでしょう。

VBAサブルーチン:

Sub Paste_Special_Unformatted()
    Dim objDoc As Word.Document
    Dim objSel As Word.Selection
    On Error Resume Next
    ' get a Word.Selection from the open Outlook item
    Set objDoc = Application.ActiveInspector.WordEditor
    Set objSel = objDoc.Windows(1).Selection
    ' now do what you want with the Selection
    objSel.PasteSpecial Link:=False, DataType:=wdPasteText
    Set objDoc = Nothing
    Set objSel = Nothing
End Sub

それを機能させるには、Outlook 2007でVBAエディターを開き、[ツール]-[参照]をクリックして、Microsoft Word12.0オブジェクトライブラリの参照を有効にする必要もありました。次に、新しいメッセージと返信を作成するために、マクロをQATツールバーのカスタムボタンにリンクしましたが、問題なく機能しました。

これは前にも言ったかもしれませんが、WOO-HOO !!!!

ありがとう、スー!

5
Gary Petersen

Word2007と同じである必要があります。

    Sub FormatText()
'
' FormatText Macro
'
'
    Selection.PasteAndFormat (wdFormatPlainText)
    Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
        DisplayAsIcon:=False
End Sub
  1. Outlookで、[ツール]メニューの[マクロ]をポイントし、[Visual BasicEditor]をクリックします。
  2. プロジェクトウィンドウで、マクロを含めるモジュールをダブルクリックします。
  3. [挿入]メニューで、[手順]をクリックします。
  4. [名前]ボックスにマクロの名前を入力し、[OK]をクリックします。実行するコードをサブルーチンの本体に入力します(またはWordからコピーして貼り付けます)
1
Nicu Zecheru