エクセルのコメントを取得するには?

解決


f4_tak  2010-10-23 01:55:23  No: 71990

VC6.0+Office2003でシートからデータを取得は出来ているのですが
コメントを取得する方法が解りません。

コメント"start","end"で範囲指定させたいのです。

マクロでは"NoteText"を使うようなので参考にし、あてずっぽうですが
pRange = pSheet.GetRange(COleVariant("C3"), COleVariant("C3"));
CString cmt1 = pRange.NoteText(COleVariant(""),COleVariant((long)1),COleVariant((long)100));
pRange = pSheet.GetRange(COleVariant("C4"), COleVariant("C4"));
CString cmt2 = pRange.NoteText(COleVariant(""),COleVariant((long)1),COleVariant((long)100));
pRange = pSheet.GetRange(COleVariant("C5"), COleVariant("C5"));
CString cmt3 = pRange.NoteText(COleVariant(""),COleVariant((long)1),COleVariant((long)100));
で試しましたがコメントは取得できませんでした。

NoteText()の情報がなかなか見つからず引数の意味も解っていない状態ですが
アドバイスがあれば宜しくお願いします。


Blue  2010-10-23 02:11:58  No: 71991

第一引数に文字列を指定してしまうとstartに指定した位置から置き換えてしまうようです。

第一引数を 引数を指定しない=vtMissingを指定 としてみてはどうでしょうか?


f4_takeda  2010-10-23 02:50:42  No: 71992

ありがとうございました。
コメントが取得できました。

CString cmt1 = pRange.NoteText(vtMissing,COleVariant((long)1),COleVariant((long)100));


Blue  2010-10-23 02:57:10  No: 71993

ちなみに
>COleVariant((long)1)
とするなら
COleVariant(1L)
としたほうがすっきりするかな。


f4_takeda  2010-10-23 03:09:29  No: 71994

Webで拾ったソースが
COleVariant((long)1)
になっていたので、そのまま使っていました。
COleVariant(1L)
参考にさせてもらいます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加