- - PR -
Outlookアドレス帳の取得(C#)
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-30 11:29
いつも、参考にしています。
http://support.microsoft.com/default.aspx?scid=kb;ja;313799 のサイトを参考にして、Outlookアドレス帳の取得をC#で作成したところ、 コンパイル時に、「Outlook.AddressLitsにItemの定義がありません」 となります。 Outlook.Application oApp = new Outlook.Application(); //Get the MAPI namespace. Outlook.NameSpace oNS = oApp.Session; //Get the AddressLists collection. Outlook.AddressLists oALs = oNS.AddressLists; Console.WriteLine(oALs.Count); <-- このアドレス数は取得できました。 //Loop through the AddressLists collection. Outlook.AddressList oAL; for(int i=1;i<=oALs.Count;i++){ oAL = oALs.Item[i]; <-- ここでコンパイル時にエラーになります。 Console.WriteLine(oAL.Name); } このソースをVB.NETでは For i = 1 To oALs.Count oAL = oALs.Item(i) Console.WriteLine(oAL.Name) Next として、アドレス一覧が表示されました。 C#ではこのOutlook.AddressListsは使用できないのでしょうか。 宜しくお願いします。 | ||||||||
|
投稿日時: 2005-06-30 11:54
恐らく、Outlook.AddressListsクラスのItemプロパティは、
デフォルトプロパティ、つまりC#におけるインデクサとして実装されています。 Outlook.AddressLists[i]と言う風にすればアクセスできるでしょう。 Itemと言う名前でコレクションの要素にアクセスする場合は、C#ではまず間違いなくインデクサです。 逆に、C#でインデクサを定義した場合、他の言語からは(デフォルトでは)Itemプロパティでアクセスすることになります。 | ||||||||
|
投稿日時: 2005-06-30 11:55
おさがわせいたしました。
自己回答です。 foreach( Outlook.AddressList oAL1 in oALs){ Console.WriteLine(oAL1.Name); } とすることで、アドレス一覧を取得できました。 でも、oALs.Item[i]として、指定できないのがわかりません。 | ||||||||
|
投稿日時: 2005-06-30 12:02
Hongliangさん、お答え有難うございます。
C#でのインデクサのことを失念しておりました。 for(int i=1;i<=oALs.Count;i++){ oAL = oALs[i]; Console.WriteLine(oAL.Name); } とすることで、取得できました。 | ||||||||
|
投稿日時: 2005-06-30 13:07
このコンパイルエラーのメッセージは「メソッドに[]は指定できません」ではないですか? SharpDevelop使って試してみましたら、
こんな感じでOKでした。 #VS使っていればコード支援機能でメソッドやプロパティの判別は付きますよね。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2005-06-30 16:29
Jubeiさん、こんにちは。返答ありがとうございます。
oAl = oAls.Item(i);では 「'Outlook.AddressLists' に 'Item' の定義がありません。」になります。 SharpDevelopについては今回、初めて知りました。 ----- SharpDevelopについて ----------- http://sharpdevelop-jp.sourceforge.jp/ SharpDevelopはic#codeで開発され続けている.NET Framework SDK Version 1.1上で動作するC#で書かれた最先端の.NET開発環境です。SharpDevelop-jpはそのSharpDevelopを日本語環境で利用しやすくするために、日本語リソースの管理や情報提供を行っています。 |
1