この記事では、Microsoft Outlook で現在開いている連絡先の情報を、Word のアクティブな文書にマクロ(VBA)を使ってすばやくコピーする方法を解説します。
前提条件・動作環境
本手順は、Microsoft Office(Outlook および Word)が同一のデスクトップ環境にインストールされているWindows環境を想定しています。Word 側から Outlook のオブジェクトを操作するため、あらかじめセキュリティセンターの設定でマクロが有効になっている必要があります。
VBA コード
以下の VBA コードを Word の標準モジュールに配置します。このコードは、Outlook 側で現在インスペクター(ウィンドウ)として開かれている連絡先アイテムを取得し、Word 文書末尾に「氏名 from 会社名」の形式で挿入します。
Sub CopyCurrentContact()
Dim OutlookObj As Object
Dim InspectorObj As Object
Dim ItemObj As Object
On Error GoTo ErrorHandler
' Outlook のインスタンスを取得
Set OutlookObj = CreateObject("Outlook.Application")
Set InspectorObj = OutlookObj.ActiveInspector
' 連絡先ウィンドウが開かれていない場合のチェック
If InspectorObj Is Nothing Then
MsgBox "Outlook で連絡先アイテムが開かれていません。", vbExclamation, "確認"
Exit Sub
End If
Set ItemObj = InspectorObj.CurrentItem
' Word のアクティブ文書の末尾にテキストを追加
ActiveDocument.Range.InsertAfter (ItemObj.FullName & " from " & ItemObj.CompanyName & vbCrLf)
MsgBox "連絡先のコピーが完了しました。", vbInformation, "成功"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description, vbCritical, "エラー"
End Sub
実行手順
以下の手順でコードを実行します。
- Outlook を起動し、コピーしたい連絡先アイテムを個別のウィンドウ(インスペクター)で開きます。
- Word を起動し、コピー先の文書を開きます。
- [Alt] + [F11] キーを押して VBA 開発環境を開きます。
- [挿入] > [標準モジュール] を選択し、上記のコードを貼り付けます。
- [F5] キーを押すか、実行アイコンをクリックしてマクロを実行します。
トラブルシューティング
エラー: 「Outlook で連絡先アイテムが開かれていません。」と表示される
Outlook のメイン画面の一覧で連絡先を選択しているだけでは ActiveInspector は機能しません。必ず対象の連絡先をダブルクリックして、個別のウィンドウとして開いた状態で実行してください。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 変更冒頭の不完全だった段落を、記事の目的を明確に示す説明文に修正しました。
- 追加OutlookとWordの連携における前提条件やマクロの実行手順を追加しました。
- 追加連絡先が開かれていない場合に発生するエラーを防ぐためのトラブルシューティングを追加しました。

