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件)
- 最新から表示
- 回答順に表示
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へも同様の処理で可能かと・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- C言語・C++・C# c言語 int temp = 0; if(isdigit(arr[i])){ temp=arr[i] 2 2022/03/27 01:44
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) Excel 複数列のある文字を優先して1列に表示したいです 2 2022/12/03 12:07
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- 計算機科学 Excel ある行と列が交わったところにマークを付けるには 7 2023/01/24 08:46
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2の補数の計算について
-
型の変換
-
VB初心者です。
-
vb6の桁数指定
-
VBA 変数名に変数を使用したい。
-
【VB】コンボボックスにデータ...
-
WORD VBA プログラム修正をお願...
-
クリスタルレポートで困ってい...
-
Excel VBAでグループ毎に集計す...
-
Dir関数で読み取り順を操作でき...
-
VBとアクセスでSQL文に変...
-
エクセルデータをVBで検索でき...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
構造体配列の一部初期化!!!
-
ExcelVBAについて
-
VB6で、一次元配列と二次元配列...
-
Access VBA 添付型フィールド
-
webからの帳票表示
-
COBOL数値転記の仕様
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
VB6.0の「vbFromUnicode」はVB....
-
16進をASCIIコードに変換する...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
【C++/CLI】int型からString型...
-
C++ 文字列変数と16進数の比較
-
vb6の桁数指定
-
2の補数の計算について
-
VBAのstrConv関数のUNICODE変換...
-
VB6.0 String型→Long型変換方法...
-
WORD型をCString型に変換する方法
-
数字→漢数字変換
-
C#でListとDictionaryの判別方法
-
Boolean型変数の値を反転する方法
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
-
エクセルでメールヘッダーを解...
-
2進数から10進数へ変換
-
対数変換のついて
おすすめ情報