Q&A

  • excel에서 name를 주고 그 name을 읽어오려고 하는데...
초보라서 답답합니다.



제가 하려고 하는 것은 엑셀에서 name을 삽입하고 그 name를 델파이에서 읽어오려고

하는데 자꾸 에러가 납니다.

어떻게 해야 할지 궁금합니다.

코드는 다음과 같읍니다.



procedure TForm1.read_xls_data();

var

xls, xlbook, xls_sheet, xl_range, xl_names , elem : variant;

volume, num_xl_name,i : integer;

tmp_name : array of string;

begin

try

xls := GetActiveOLEObject('Excel.Application');

except

on E: EOleSysError do begin

try

messagedlg('엑셀을 실행시키시고 다시 시도하십쇼', MtWarning, [mbok], 0); //엑셀을 실행

exit;

except

MessageDlg('Excel이 설치되어 있지 않습니다.', MtWarning, [mbok], 0);

Exit;

end;

end;

end;

xls.Visible := True;

// xlbook := xls.activeworkbook; //새로운 페이지 생성

xls_sheet:=xls.activesheet;

xlbook:=xls_sheet.parent;



// xlbook.WorkSheets[1].Name := Title;

// XLBook.WorkSheets[Title].Range['A1'].Value := Cells[si,

xlbook.activate;

xl_names:=xlbook.names;

num_xl_name:=xl_names.count;

setlength (xls_input_data,num_xl_name);

setlength(tmp_name,num_xl_name);

for i:=1 to num_xl_name do

begin

tmp_name[i-1]:= xl_names[i];

// showmessage(elem.name);

// end;

showmessage (tmp_name[i-1]);

end;

end;



0  COMMENTS