取引先が増えてくるとその管理が難しくなります。
特に最近は携帯電話、メール、ソフトなど様々なところにデータを入力しなければならず、変更するのも容易ではありません。「オヌマ」さん、と思っていたらいや、「コヌマ」です!と言われてどっちでもいいでしょう、とはいえません。
すぐに直しておかないと。
こちらではiphoneを使い、そのデータをoutlookと同期しています。これで携帯電話とメールは使いやすくなるのですが、問題はPCの顧客データとの同期です。そこで、outlookのデータをExcelにする方法を考えます。あるいはcsvにすることにより、ソフトにインポートできるようになります。
Outlookのエクスポート機能を使えばエクセルなどにすることができますが、項目を設定しなければならないこと、毎回たくさんのボタンを押さないといけないことからあまり使い勝手が良くありません。
そこで、今回はOutlookのマクロを使い自動的に行います。
(ここではOutlook 2003を想定しています)
「ツール」-「マクロ」-「セキュリティ」でセキュリティレベルを中にします。
「ツール」-「マクロ」-「Visual Basic Editor」を選択します。
次に、左側Project1 のMicrosoft Outlook Office Objects のThisOutlookSessionを選択し、右側に以下のように入力します。
(もし右側に何もなければ「挿入」-「標準モジュール」とします)
Sub ExportContacts()
Dim bookname As String
Dim sheetname As String
bookname = "C:\Documents and Settings\User2\デスクトップ\Book1.xls"
sheetname = "Sheet1"
Set xlapp = CreateObject("excel.application")
Set xlbook = xlapp.Workbooks.Open(bookname)
Set myNamespace = Application.GetNamespace("MAPI")
Set mycfolder = myNamespace.GetDefaultFolder(olFolderContacts)
Dim objContact As ContactItem
Dim i As Integer
i = 1
xlapp.Application.Visible = True
For Each objContact In mycfolder.Items
xlbook.sheets(sheetname).cells(i, 1).Value = objContact.FullName
xlbook.sheets(sheetname).cells(i, 2).Value = objContact.MailingAddress
i = i + 1
Next
xlbook.Save
xlbook.Close
xlapp.Quit
Set xlapp = Nothing
Set xlbook = Nothing
Set myNamespace = Nothing
Set mycfolder = Nothing
End Sub
※bookname, sheetnameはそれぞれエクセルのパス+ファイル名、シート名を入力してください。
そして最後に、
「ツール」-「マクロ」-「マクロ」-「ThisOutlookSession.ExportContacts」を選択し実行します。
また、今回はFullName、MailingAddressのみexcelに反映するようにしていますが、実際はいろいろ増やすことができます。適宜ご修正下さい。
| 名前 | 説明 |
| Account | 連絡先のアカウントを表す String |
| Anniversary | 連絡先の記念日の日付を示す Date |
| AssistantName | 連絡先のアシスタントである人物の名前を表す String |
| AssistantTelephoneNumber | 連絡先のアシスタントである人物の電話番号を表す String |
| AutoResolvedWinner | アイテムが自動競合解決によって決定されたアイテムであるかどうかを判断する Boolean |
| BillingInformation | Outlook アイテムに関連付けられている支払い条件を表す String |
| Birthday | 連絡先の誕生日を示す Date |
| Business2TelephoneNumber | 連絡先の第 2 の会社電話番号を表す String |
| BusinessAddress | 連絡先の未解析の会社住所全体を表す String |
| BusinessAddressCity | 連絡先の会社住所の市区町村名部分を表す String |
| BusinessAddressCountry | 連絡先の会社住所の国/地域番号部分を表す String |
| BusinessAddressPostalCode | 連絡先の会社住所の郵便番号部分を表す String |
| BusinessAddressPostOfficeBox | 連絡先の会社住所の私書箱番号部分を表す String |
| BusinessAddressState | 連絡先の会社住所の都道府県コード部分を表す String |
| BusinessAddressStreet | 連絡先の会社住所の番地部分を表す String |
| BusinessFaxNumber | 連絡先の会社 FAX 番号を表す String |
| BusinessHomePage | 連絡先の会社 Web ページの URL を表す String |
| BusinessTelephoneNumber | 連絡先の第 1 の会社電話番号を表す String |
| CallbackTelephoneNumber | 連絡先のコールバック用電話番号を表す String |
| Categories | Outlook アイテムに割り当てられている分類項目を表す String |
| Companies | Outlook アイテムに関連付けられている会社の名前を表す String |
| CompanyAndFullName | 連結した連絡先の会社名および氏名を表す String |
| CompanyLastFirstNoSpace | 連絡先の会社名に、連結した姓、名、およびミドル ネーム (姓と名の間にスペースは入りません) をつなげたものを表す String |
| CompanyLastFirstSpaceOnly | 連絡先の会社名に、連結した姓、名、およびミドル ネーム (これらの間にスペースが入ります) をつなげたものを表す String |
| CompanyMainTelephoneNumber | 連絡先の会社代表電話番号を表す String |
| CompanyName | 連絡先の会社名を表す String |
| CreationTime | Outlook アイテムの作成日時を示す Date |
| CustomerID | 連絡先のカスタマー ID を表す String |
| Department | 連絡先の部署名を表す String |
| Email1Address | 連絡先の第 1 電子メール エントリの電子メール アドレスを表す String |
| Email1AddressType | 連絡先の第 1 電子メール エントリのアドレスの種類 (EX または SMTP など) を表す String |
| Email1DisplayName | 連絡先の第 1 電子メール アドレスの表示名を表す String |
| Email1EntryID | 連絡先の第 1 電子メール アドレスのエントリ ID を表す String |
| Email2Address | 連絡先の第 2 電子メール エントリの電子メール アドレスを表す String |
| Email2AddressType | 連絡先の第 2 電子メール エントリのアドレスの種類 (EX または SMTP など) を表す String |
| Email2DisplayName | 連絡先の第 2 電子メール アドレスの表示名を表す String |
| Email2EntryID | 連絡先の第 2 電子メール アドレスのエントリ ID を表す String |
| FirstName | 連絡先の名を表す String |
| FullName | 連絡先の未解析の氏名全体を指定する String |
| FullNameAndCompany | FullName プロパティと CompanyName プロパティの値を連結することによって、連絡先の氏名および会社を表す String |
| Gender | 連絡先の性別を示す OlGender 定数 |
| GovernmentIDNumber | 連絡先の ID 番号を表す String |
| Hobby | 連絡先の趣味を表す String |
| Home2TelephoneNumber | 連絡先の第 2 の自宅電話番号を表す String |
| HomeAddress | 連絡先の自宅住所の未解析テキスト全体を表す String |
| HomeAddressCity | 連絡先の自宅住所の市区町村部分を表す String |
| HomeAddressCountry | 連絡先の自宅住所の国/地域部分を表す String |
| HomeAddressPostalCode | 連絡先の自宅住所の郵便番号部分を表す String |
| HomeAddressPostOfficeBox | 連絡先の自宅住所の私書箱番号部分を表す String |
| HomeAddressState | 連絡先の自宅住所の都道府県部分を表す String |
| HomeAddressStreet | 連絡先の自宅住所の番地部分を表す String |
| HomeFaxNumber | 連絡先の自宅 FAX 番号を表す String |
| HomeTelephoneNumber | 連絡先の第 1 の自宅電話番号を表す String |
| IsMarkedAsTask | ContactItem が仕事としてマークされているかどうかを示す Boolean 値 |
| JobTitle | 連絡先の役職を表す String |
| Language | 連絡先がメッセージを書く言語を表す String |
| LastFirstAndSuffix | 連絡先の姓、名、ミドル ネーム、および敬称を表す String |
| LastFirstNoSpace | 連結した連絡先の姓、名、およびミドル ネーム (姓と名の間にスペースは入りません) を表す String |
| LastFirstNoSpaceAndSuffix | ユーザーの姓、名、および敬称 (スペースなし) を含む String |
| LastFirstNoSpaceCompany | 連結した連絡先の姓、名、およびミドル ネーム (姓と名の間にスペースは入りません) を表す String |
| LastFirstSpaceOnly | 連結した連絡先の姓、名、およびミドル ネーム (これらの間にスペースが入ります) を表す String |
| LastFirstSpaceOnlyCompany | 連結した連絡先の姓、名、およびミドル ネーム (これらの間にスペースが入ります) を表す String |
| LastModificationTime | Outlook アイテムが最後に変更された日時を指定する Date |
| LastName | 連絡先の姓を表す String |
| LastNameAndFirstName | 連結した連絡先の姓および名を表す String |
| MiddleName | 連絡先のミドル ネームを表す String |
| MobileTelephoneNumber | 連絡先の携帯電話番号を表す String |
| NickName | 連絡先のニックネームを表す String |
| OrganizationalIDNumber | 連絡先の会社 ID を表す String |
| OtherAddress | 連絡先のその他の住所を表す String |
| OtherAddressCity | 連絡先のその他の住所の市区町村部分を表す String |
| OtherAddressCountry | 連絡先のその他の住所の国/地域部分を表す String |
| OtherAddressPostalCode | 連絡先のその他の住所の郵便番号部分を表す String |
| OtherAddressPostOfficeBox | 連絡先のその他の住所の私書箱部分を表す String |
| OtherAddressState | 連絡先のその他の住所の都道府県部分を表す String |
| OtherAddressStreet | 連絡先のその他の住所の番地部分を表す String |
| OtherFaxNumber | 連絡先のその他の FAX 番号を表す String |
| OtherTelephoneNumber | 連絡先のその他の電話番号を表す String |
| OutlookVersion | Outlook アイテムの Outlook アプリケーション バージョン番号 (メジャーおよびマイナー) を示す String |
| PersonalHomePage | 絡先の個人 Web ページの URL を表す Strin |
| PrimaryTelephoneNumber | 連絡先の通常の電話番号を指定する String |
| Profession | 連絡先の職業を表す String |
| SelectedMailingAddress | 連絡先の郵送先住所の種類を示す OlMailingAddress 定数 |
| Spouse | 連絡先の配偶者名エントリを示す String |
| Suffix | 指定された連絡先の名前のサフィックス (Jr.、III、Ph.D. など) を示す String |
| Title | 連絡先の肩書きを表す String |
| User1 | 連絡先フォームのその他用途の最初のフィールドを指定する String |
| User2 | 連絡先フォームのその他用途の 2 番目のフィールドを指定する String |
| WebPage | 連絡先の Web ページの URL を示す String |
| YomiCompanyName | 連絡先の会社名のふりがな (日本語) を示す String |
| YomiFirstName | 連絡先の名のふりがな (日本語) を示す String |
| YomiLastName | 連絡先の姓のふりがな (日本語) を示す String |



コメントする