2012-12-25 20 views
8

"AAPL"をExcelシートに入力し、対応する値を返します。文字列をC++のバリアントに変換します

cout << "Ticker: ";後、私は(例えばAAPLなど)ティッカーシンボルを入力することができ、私はstringを使って、そうしようとしたvariant_t ticker = "xxx".としてこれを使用するように私はそれをしたいと思いますが、私は'std::string to const _variant_t &'から変換できないというエラーを取得しますこれを行うためにとにかくありますか?前もって感謝します。

XL->Workbooks->Open(L"F:\\xxx\\Desktop\\fxxxx.xlsx"); 
Excel::RangePtr pRange = pSheet->Cells; 

cout << "Ticker: "; 
variant_t ticker = "AAPL"; 

pRange->Item[2][1] = ticker; 
double value = pRange->Item[2][2]; 
cout << "\n Value = " << value << endl; 

答えて

6

ticker.SetString(str.c_str())は仕事をする必要があります。

を参照してください:ここで http://msdn.microsoft.com/en-us/library/x295h94e%28v=vs.100%29.aspx

+0

おかげで、私は様々なラインでこれを追加してみましたが、私はそれを置く正確にエラーを取得? – user1594369

+0

'variant_t ticker;と' pRange-> Item .. = ticker; 'の間にあります。もちろん 'str'はあなたのstd :: string入力が何であれ呼び出されます。また、文字列を読み込んだ後でも、そうしたいと思うかもしれません。そうしないと正しい結果が得られません。 ;) –

+0

回答を「回答」として追加して(コードをもっと読みやすくする)、そこに行くのを手伝ってくれると思ったら、私の答えを「受け入れる」ことができます。 –

2

は、作業コードです:たくさんのあなたの助けのための

XL->Workbooks->Open(L"F:\\xx\\Desktop\\xxz.xlsx");        //Open databse 
    Excel::_WorksheetPtr pSheet = XL->ActiveSheet;          //Point to Active Sheet 
    Excel::RangePtr pRange = pSheet->Cells;            //Point to Active Cells 
    cout << " Ticker: ";                //Prompt Ticker 
    string tick;                  //Define string "tick" to store ticker 
    cin >> tick;                  //Store ticker 
    variant_t ticker;                 //Define variant to be used for ticker 
    ticker.SetString(tick.c_str());              //Convert string to variant         
    pRange->Item[2][1] = ticker;              //Write ticker to cell 
    double bi = pRange->Item[2][2];              //Read Beta, store as "bi" 
    cout << "\n Beta = " << bi << endl;             //Return Value 
    XL->Application->Quit(); 
関連する問題