21 :
デフォルトの名無しさん:
ExcelWorksheet1.ConnectTo( ExcelWorkbook1.Worksheets['Sheet1'] as _Worksheet);
ExcelWorksheet1.Range['A1','A1'].Value := Edit1.Text;
上記の2つをC++Builderではどのように表現すればいいのでしょうか?
こうかな
ExcelWorksheet1->ConnectTo(ExcelWorkbook1->Worksheets->get_Item(TVariant("Sheet1")));
ExcelWorksheet1->Range[TVariant("A1")][TVariant("A1")]->set_Value(TVariant(Edit1->Text));
なんかItemやValueのプロパティが用意されてないね
23 :
デフォルトの名無しさん:04/07/12 14:51
>>22 神
ありがとうございます。
ExcelApplication->Connect( );
ExcelApplication->Visible[0] = true;
ExcelWorkbook->ConnectTo( ExcelApplication->Workbooks->Add( NULL, 0 ) );
上の2行でエクセルを表示することはできたのですが
その下の行を実行するとエラーになってしまいます。
どのように記述すればいいのでしょうか?
こうかな
ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Add(TNoParam(), 0));
25 :
デフォルトの名無しさん:04/07/12 15:15
>>24 激しく神
ほんとうにありがとうございます。
しかしその行を実行するとエクセルは起動するのですが途中で止まってしまいます。
(タイトルバー&ツールバーが表示されてその下のビュー画面が表示されていない状態)
BCB5をインスコする時にオフィスは2000を指定してエクセルも2000を使っています。
何が原因なのでしょうか?
>>25 タスクマネージャ見たら、Excel.exeのプロセスが残ってない?
エラーとかで異常終了したら、残ることがあるもより。そのせいだと思う。
27 :
デフォルトの名無しさん:04/07/12 15:30
>>26 それはプロセスを終了してからやっていたのですがダメでした。
もうちょっと色々やってみます。
あちがとうございました。
29 :
デフォルトの名無しさん:04/07/12 15:55
>>26 超神
Excel.exeを1つ終了して油断していたらもう1つ存在していました。
それを終了してやったら見事にできました!
ちなみに
>>22で教えて頂いた↓
ExcelWorksheet1->Range[TVariant("A1")][TVariant("A1")]->set_Value(TVariant(Edit1->Text));
を行うと、
[C++ エラー] Unit1.cpp(27): E2316 'Range' は 'TExcelWorksheet' のメンバーではない
というコンパイルエラーが出てしまいました。
TExcelWorksheetをヘルプで見てもTOleServerのヘルプしかでないもので・・
BCB5のだとヘッダ見る限り、Get_Range(TVariant("A1"), TVariant("A1")) かな。
BCB5入れてないから、コンパイルして確認は出来ないけど。
> TExcelWorksheetをヘルプで見てもTOleServerのヘルプしかでないもので・・
そういう時は、ヘッダでTExcelWorksheetの定義を調べたり、
コード補完でどんなメソッドやプロパティがあるか見てみると分かるよ。
31 :
デフォルトの名無しさん:04/07/12 17:05
>>30 鬼神
なにからなにまでありがとうございました。
ExcelWorksheet1->Get_Range[TVariant("A1")][TVariant("A1")]->set_Value(TVariant(Edit1->Text));
↑で[C++ エラー] Unit1.cpp(27): E2235 メンバー関数は呼び出すかそのアドレスをとらなければならない
というコンパイルエラーがでました・・
(と[
>>32 神の申し子
ありがとうございました。
これでやりたいことができました!本当に感謝です。