掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
OleVariant型の値をフォーム上に表示させる方法は? (ID:28082)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
真琴:「ハルコさん、"OleVariant型の変数に配列(文字列)が入って…"って、どぅゆうコト?」 春子:「たぶん…、Variant配列のコト言ってるんじゃないかな?」 真琴:「それ、Excelに表示するのは難しい? 質問の人は、"行き詰まって…"と書いてるけど」 春子:「Variant配列のデータなら、Excelシートに書込むのはカンタンだよ」 真琴:「そうなの?」 春子:「うん、二つ目の質問の答えは、こんなカンジ…」 procedure TForm1.Button1Click(Sender: TObject); function CTS(aRow, aCol: Integer): string; begin result := Chr(Ord('A') + aCol - 1) + IntToStr(aRow); end; var i, j, LR, LC, HR, HC, ofsX, ofsY: Integer; vAry, Sheet: OLEVariant; ExcelFile: TFileName; begin ExcelFile := ExtractFilePath(Application.ExeName) +'ほげ.xls'; with OleContainer1 do begin if OleObjectInterface <> nil then begin // StatusBar1.SimpleText := '読込み済み'; end else begin if FileExists(ExcelFile) then CreateObjectFromFile(ExcelFile, False) else CreateObject('Excel.Sheet', False); // Visible := True; DoVerb(ovShow); SetFocus; end; // 5行7列のVariant配列を作成して、サンプル文字列データを入れておく vAry := VarArrayCreate([1, 5, 1, 7], varVariant); LR := VarArrayLowBound(vAry,1); LC := VarArrayLowBound(vAry,2); HR := VarArrayHighBound(vAry,1); HC := VarArrayHighBound(vAry,2); ofsX := 3; ofsY := 6; // 'C6' for i := LR to HR do for j := LC to HC do vAry[i, j] := CTS(i-LR+ofsY, j-LC+ofsX); // Excelシートに書込み('C6'セル位置から) Sheet := OleObject.Application.ActiveSheet; Sheet.Range[CTS(ofsY, ofsX), CTS(HR-LR+ofsY, HC-LC+ofsX)].Value := vAry; end; end; 真琴:「Excelのセルに一つずつ入れるンじゃなくて、まとめて代入出来ちゃうンだ…」 春子:「そっ、カンタンでしょ?」 真琴:「ハルコさん、あと、"2つもお願いして恐縮…"って書いてるけど、最初の質問はチョット意味不明だよね」 春子:「うん、アタシね、"恐縮"って言葉 聴くと…、"恐縮デス"が口癖の芸能レポーター思い出しちゃう」 真琴:「ふーん、そういう人いたの…」 春子:「えっ、マコト、知らない? 過去形じゃなくて今もいるけど」 真琴:「そうなの? それにアタシ、"恐縮"って言葉も初めて」 春子:「そっかぁ…今の高校生にはもう死語かぁ、じゃぁ、アタシもトシ食ったってコト?」 真琴:「…かな?^^;」 春子:「"かな?"って…、マコト、ちょっとホッペかして」 真琴:「え?あっ、ハルコさん何するの、そんなにホッペタ引っ張っちゃ イタイよ」 春子:「うぅ〜ん、さすが思春期、ホッペの弾力はハンパじゃないね…、アタシのホッペは…、あっ、同じだぁ〜^^」 真琴:「そんなトコ比べなくても…」 春子:「イヒヒ…^^、どうよマコト、アタシだってまだ"ぴちぴちぎゃる"、負けてないね」 真琴:「ハルコさん、"ぴちぴちぎゃる"って…、それも死語の世界…」 春子:「…(・.・;」
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.