• 締切済み

c++ CString char* BSTR textbox.text

c++ 文字列CStringとchar*の変換問題(unicode) _________________________________________________________ Excel   string -> セールの文字列をVC++側に渡すため  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↓ ______________________________________________________________ VC++   char * -> Excelから引数として渡される文字列  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↓ __________________________________________________________ VC++   system::string -> FormのTextBox.Textとしてセット  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↓ ______________________________________________________________ VC++   char * -> FormのDataGridから受け取る文字列  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↓ ______________________________________________________________ VC++   CString -> VC++からExcelに渡すためBSTR前処理  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↓ __________________________________________________________ VC++   BSTR -> VC++からExcelに渡すため  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↓ __________________________________________________________ Excel   string -> Excelのある処理に使う  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 漢字やひらがなも文字化けないように変換できると思いますが、文字化けしたり変換が困難な状況です。 どうぞよろしくお願いします

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

CLIのWindowFormアプリから直接Excelで取得できませんか インストール済みのExcelの参照設定を追加 // Excelを起動 Excel::ApplicationClass^ oXLApp = gcnew Excel::ApplicationClass(); oXLApp->Visible = true; // Booksコレクション Excel::Workbooks^ oBooks = oXLApp->Workbooks; Object obj = System::Reflection::Missing::Value; // Bookを開く Excel::Workbook^ oBook = oBooks->Open( "ファイルパス", obj , obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj ); // Sheetコレクションを取得 Excel::Sheets^ oSheets = oBook->Worksheets; // 目的のSheetを取得 Excel::Worksheet^ oSheet = oSheets->Item[1]; // 目的のセルを取得 Excel::Range^ oRange = oSheet->Range[ "A1", obj ]; // テキストボックスへ設定 textBox1->text = oRange->Value[obj].ToString(); 取得したオブジェクトは Marshal::ReleaseComObjectで開放しましょう DataGridからExcelへも同様の処理で可能かと・・・

karaofdec
質問者

お礼

どうもありがとうございます。 実際やってみて結果も書きます。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

CLIやMFCなどが混在した環境なのでしょうか ・・・ Excelから直接MFCではまずいのですか? VC++は何をお使いですか … CLIが使えるのだから VC.NETだろうとは思いますが 主体はどちらでしょう Excel or C++

karaofdec
質問者

補足

CLIです。 Excelからの要求でデータを加工してFormに表示してくれるDLLを作っています。主体はC++になります。 もちろんVC.NETですね。

関連するQ&A