[delphi-users:4794] EXCELのSheetの指定方法を教えて下さい。

391 views
Skip to first unread message

蟻のくろ

unread,
Nov 13, 2017, 8:09:26 AM11/13/17
to delphi...@freeml.com
初心者です。複数あるSheetの中からフォームでSheet名を指定してデータを取り出したいのですが、どの様に指定したら良いのか分かりません。

var
Sspa,Sspa1 : String;

E_Excel : oleVariant;
E_Application : Variant;
E_WorkBook : Variant;
E_WorkSheet : Variant;


// 先頭のSheetは指定できます

     E_Application.Visible := False; //True;
E_Application.WorkBooks.Open(Sspa); //xlsファイルを指定
E_WorkBook := E_Application.ActiveWorkbook;
E_WorkSheet := E_Application.ActiveSheet;

//
Sspa1 := E_WorkSheet.Cells[1,3].Value;



教えてください。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
Powered by freeml -- http://www.freeml.com/ --
------------------------------------------------------[freeml byGMO]--

あなたの街のチラシがいつでも無料で見放題!
チラシをクリックしてチラシが拡大されたらポイントゲット♪
まずはかんたん登録♪ -ポイントタウン-
http://www.pointtown.com/ptu/rd.cgi?cid=8912
----------------------------------------------------------------------

yokoi

unread,
Nov 13, 2017, 6:06:40 PM11/13/17
to delphi...@freeml.com
横井です。

E_WorkSheetを設定するところを以下のようなコーディングをすれば
いいんじゃないでしょうか。

※この辺は、DelphiというよりExcelのVBAについて検索すると情報が見つかります。

var
i:integer;

for i := 1 to E_WorkBook.WorkSheets.count do
begin
if E_WorkBook.WorkSheets[i].Name = '選択したいSheet名' then
begin
E_WorkSheet := E_WorkBook.WorkSheets[i];
break;
end;
end;

YOTU

unread,
Nov 13, 2017, 9:17:08 PM11/13/17
to delphi...@freeml.com
Excel 2016 なら(他のバージョンはわかりませんが)

E_WorkSheet:= E_WorkBook.Worksheets['シート名'];

蟻のくろ

unread,
Nov 13, 2017, 11:59:45 PM11/13/17
to delphi...@freeml.com
横井さん、YOTUさん返信ありがとう御座いました。
横井さんのサンプルでできました。有難う御座いました。
解決しました。
Reply all
Reply to author
Forward
0 new messages