こんにちは!今日は、OutlookのVBA(Visual Basic for Applications)を使って、会社のグローバルアドレス帳(GAL)をExcelにエクスポートする方法をご紹介します。パソコンやスマホがちょっと苦手な方でも大丈夫。ゆっくり一緒に学んでいきましょう。
グローバルアドレス帳(GAL)とは?
まず、グローバルアドレス帳って何でしょうか?これは、会社や組織内の全てのメールアドレスや連絡先が一覧になっているものです。Outlookでは、このアドレス帳を使って同僚や上司の連絡先を簡単に見つけることができます。
VBAって何?
次に、VBAについてお話しします。VBAは「Visual Basic for Applications」の略で、Microsoftのアプリケーション(例えばExcelやOutlook)を自動化するためのプログラミング言語です。難しそうに聞こえるかもしれませんが、基本を押さえれば便利なツールなんですよ。
Outlook VBAでグローバルアドレス帳をエクスポートする手順
では、具体的にOutlookのVBAを使って、グローバルアドレス帳から特定の情報をExcelにエクスポートする方法を見ていきましょう。
Excelを開く
普段通りにExcelを開いてください。
VBAエディタを開く
キーボードの「Alt」キーを押しながら「F11」キーを押すと、VBAエディタが開きます。
新しいモジュールを作成する
上部メニューの「挿入」から「標準モジュール」を選んでください。
コードを入力する
以下のコードをコピーして、先ほど作成したモジュールに貼り付けます。
Sub ExportGALToExcel()
Dim OutlookApp As Object
Dim Namespace As Object
Dim AddressList As Object
Dim AddressEntries As Object
Dim Entry As Object
Dim i As Integer
Dim ws As Worksheet
' Outlookアプリケーションを取得
Set OutlookApp = CreateObject("Outlook.Application")
Set Namespace = OutlookApp.GetNamespace("MAPI")
' グローバルアドレス帳を取得
Set AddressList = Namespace.AddressLists("グローバル アドレス一覧")
Set AddressEntries = AddressList.AddressEntries
' 新しいワークシートを作成
Set ws = ThisWorkbook.Sheets.Add
ws.Name = "GAL_Export"
' ヘッダーを設定
ws.Cells(1, 1).Value = "名前"
ws.Cells(1, 2).Value = "メールアドレス"
' アドレス帳の内容を取得してExcelに書き込む
i = 2
For Each Entry In AddressEntries
ws.Cells(i, 1).Value = Entry.Name
ws.Cells(i, 2).Value = Entry.GetExchangeUser.PrimarySmtpAddress
i = i + 1
Next Entry
MsgBox "エクスポートが完了しました!"
End Sub
コードを実行する
コードを入力したら、実際に実行してみましょう。
1. VBAエディタの上部メニューから「実行」をクリックし、その中の「Sub/ユーザーフォームの実行」を選択します。
2. 表示されたダイアログボックスで「ExportGALToExcel」を選択し、「実行」をクリックします。
すると、Outlookのグローバルアドレス帳がExcelの新しいシートに一覧として表示されます。最後に「エクスポートが完了しました!」というメッセージが表示されれば成功です。
よくある質問や疑問
Q1: コードを実行しても何も起こらないのですが、どうすればいいですか?
まず、Outlookが起動しているか確認してください。Outlookが起動していないと、コードは正しく動作しません。また、参照設定で「Microsoft Outlook XX.X Object Library」にチェックが入っているか再確認してください。
Q2: 「グローバル アドレス一覧」が見つからないというエラーが出ます。
Outlookのアドレスリストの名前は環境によって異なる場合があります。コード内の`AddressLists(“グローバル アドレス一覧”)`の部分を、実際のアドレスリスト名に変更してみてください。
まとめ
OutlookのVBAを使って、グローバルアドレス帳をExcelにエクスポートする方法をご紹介しました。少し難しそうに感じるかもしれませんが、手順を追っていけば簡単にできるようになりますよ。ぜひ、試してみてくださいね。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント