トップページ⇒tech
24コメント5KB

C++Builderでエクセル操作

■ このスレッドは過去ログ倉庫に格納されています
0001カカオ2006/02/25(土) 15:46:34
Borland C++ Builderでエクセルを操作したいと思っているのですが、その方法がわかりません。
自分で、いろいろ勉強した結果、
ある数値(10個ぐらい)をエクセルに保存し、その平均を自動的に求められることはできたのですが、
その数値(10個ぐらい)を自動的にグラフにしたいと思っています。
しかし、その方法がわかりません・・・
どなたか、ご存知の方がいらしたら、教えてください!
0002デフォルトの名無しさん2006/02/25(土) 15:50:21
そのいろいろ試した方法を少し変えてみてはいかがでしょうか?
0003デフォルトの名無しさん2006/02/25(土) 16:12:03
単発質問で糞スレ立てんNA
0004デフォルトの名無しさん2006/02/25(土) 16:38:15
>>1
Excelのファイルをテンプレートにして
それを開いて値を書き込むといいよ。
テンプレートに最初からグラフを張っとけばいいよ。
0005デフォルトの名無しさん2006/03/13(月) 23:49:56
単発質問で糞スレ立てんNA
0006デフォルトの名無しさん2006/03/13(月) 23:49:57
単発質問で糞スレ立てんNA
0007デフォルトの名無しさん2006/03/13(月) 23:49:59
単発質問で糞スレ立てんNA
0008デフォルトの名無しさん2006/03/13(月) 23:50:00
単発質問で糞スレ立てんNA
0009デフォルトの名無しさん2006/03/13(月) 23:50:01
単発質問で糞スレ立てんNA
0010デフォルトの名無しさん2006/03/13(月) 23:50:44
単発質問で糞スレ立てんNA
0011デフォルトの名無しさん2006/03/13(月) 23:50:46
単発質問で糞スレ立てんNA
0012デフォルトの名無しさん2006/03/13(月) 23:50:46
単発質問で糞スレ立てんNA
0013デフォルトの名無しさん2006/03/13(月) 23:50:49
単発質問で糞スレ立てんNA
0014デフォルトの名無しさん2006/03/13(月) 23:50:50
単発質問で糞スレ立てんNA
0015デフォルトの名無しさん2006/03/13(月) 23:51:28
単発質問で糞スレ立てんNA
0016デフォルトの名無しさん2006/03/13(月) 23:51:28
単発質問で糞スレ立てんNA
0017デフォルトの名無しさん2006/03/13(月) 23:51:28
単発質問で糞スレ立てんNA
0018デフォルトの名無しさん2006/03/13(月) 23:51:29
単発質問で糞スレ立てんNA
0019デフォルトの名無しさん2006/03/13(月) 23:51:29
単発質問で糞スレ立てんNA
0020デフォルトの名無しさん2006/04/25(火) 12:26:09
とりあえず揚げとくか
0021デフォルトの名無しさん2006/06/10(土) 22:14:02
グラフ操作はしたことがないのだが、Variantを使ったExcel操作なら少し
やったことがある。

#include <utilcls.h>
...
Variant ExcelApplication, ExcelWorkbook, ExcelWorksheet;

// File.xlsを開き、その中のワークシートSheetに対し操作を行えるようにする。
ExcelApplication = CreateOleObject( "Excel.Application" );
ExcelWorkbook = ExcelApplication.OlePropertyGet( "Workbooks" )
.OleFunction( "Open", "File.xls" );
ExcelWorksheet = ExcelWorkbook.OlePropertyGet( "Worksheets", "Sheet" );

...

// 終了
ExcelWorkbook.OleFunction( "Close" );
ExcelApplication.OleFunction( "Quit" );
ExcelApplication = Unassigned;
0022デフォルトの名無しさん2006/06/10(土) 22:14:40
さてExcelのVBAの構文で、例えば

Range( "A1" ).AddComment( "何かコメント" )

これは、"A1"セルにコメントを追加する命令だが、ドットで
区切られたそれぞれの部分がメソッドかプロパティかを把握しておく。
この場合、RangeはプロパティでAddCommentはメソッドという様に。
この上で、プロパティには読み込みの場合OlePropertyGetを、書き込みなら
OlePropertySetを対応させ、メソッドにはOleFunctionを対応させる。
上の例の場合は、

ExcelWorksheet.OlePropertyGet( "Range", "A1" )
.OleFunction( "AddComment", "何かコメント" );

となる。
0023デフォルトの名無しさん2006/06/10(土) 22:15:17
Range( "B2" ).Interior.Pattern = xlPatternHorizontal

これは"B2"セル内部の塗りつぶしパターンを横縞にする命令だが、
RangeもInteriorもPatternもプロパティで、Patternプロパティに
xlPatternHorizontalの値を書き込んでいる。xlPatternHorizontal
の値だが、\Include\Vcl\excel_2k.h内に記載されている

xlPatternHorizontal = 0xFFFFEFE0

を用いることができる。

ExcelWorksheet.OlePropertyGet( "Range", "B2" )
.OlePropertyGet( "Interior" )
.OlePropertySet( "Pattern", 0xFFFFEFE0 );

Excelのマクロでグラフを描いてみて、その構文を上の様にして
直していくと多分できると思うよ。

このレス、今更か...
0024デフォルトの名無しさん2006/06/24(土) 13:17:35
http://page7.auctions.yahoo.co.jp/jp/auction/g42562916
■ このスレッドは過去ログ倉庫に格納されています