プロが教える店舗&オフィスのセキュリティ対策術

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のある処理に使う
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
漢字やひらがなも文字化けないように変換できると思いますが、文字化けしたり変換が困難な状況です。

どうぞよろしくお願いします

A 回答 (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へも同様の処理で可能かと・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/10/30 17:17

CLIやMFCなどが混在した環境なのでしょうか ・・・


Excelから直接MFCではまずいのですか?

VC++は何をお使いですか … CLIが使えるのだから VC.NETだろうとは思いますが

主体はどちらでしょう Excel or C++

この回答への補足

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

補足日時:2008/10/30 09:45
    • good
    • 0

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