プロが教えるわが家の防犯対策術!

whatpyonです。
初めて投稿させていただきます。

環境は、OS:XP HOMEEdition
ソフト:VisualStudio 2005 Professional
です。

C++で、Excelの各セルの情報を取得するために、
以下のように_variant_tクラスに情報を格納しました。
_variant_t n = pSheet->Range["B10"]->Value;

このあと、変数nから、情報を取り出して、std::string型の変数に格納したいのですが、
そこがわかりません。
n.GetVARIANT()を使っても、返り値としては、
VARIANTの参照が返ってくるようなのでどうしたら
よいのでしょうか?

A 回答 (2件)

私の環境は、 Visual C++ 6.0 (unicode未使用) Excel のバージョンは 2000 です。



std::string abc_str = ( _bstr_t ) pSheet -> Range[ "B10" ] -> Value ;

_putts( abc_str.c_str() );//abc_strの内容を確認の為コマンド プロンプト等に表示

その他参考に、
http://www17.plala.or.jp/page-zero/programming-g …
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
処理自体はできるようになったのですが、Char std::string CStringについての違いをもう一度勉強してきっちりと理解しておこうと思います。

お礼日時:2006/09/18 23:37

_variant_tはUNICODEなので、一度ANSI(char配列)に変換してから


stringに格納します。
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?p …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
私の思ったような処理ができるようになりました。
ただ、UNICODEとか、ANSIとかはあまりよくわかってないので、もう一度勉強してみます。

お礼日時:2006/09/18 23:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!