//아래는 매크로 내용입니다
기존 Excel파일에 테투리없는 Text박스가 있습니다.
매크로 기록을 하면 아래처럼 나오죠....
ActiveSheet.Shapes("Text Box 4").Select
Selection.Characters.Text = "(테스트)"
With Selection.Characters(Start:=1, Length:=5).Font
.Name = "돋움"
.FontStyle = "보통"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
//===================================================
기존의 있는 텍스트 박스를 델파이 소스로는 찾을수가 없서서
새로 만들어 넣는 소스 입니다.
//상수선언
const
xlLeft = -4131;
xlRight = -4152;
xlTop = -4160;
xlBottom = -4107;
xlThin = 1;
xlHAlignCenter = 1;
msoShapeRectangle = 1; //직사각형
msoShapeTrapezoid = 1; //사다리꼴
msoShapeOctagon = 1; //8각형
msoShapeDiamond = 1; //다이아몬드형
msoShapeOval = 1; //타원형
msoShapeCube = 1; //정육면제
msoTextOrientationHorizontal = 1; //레이블관련
.....
......
EG := 'G' + inttostr(eno);
if Tresult = True then begin
try
//라인그리기
Excel.Range['A9',EG].Borders[xlRight].Weight := xlThin;
Excel.Range['A9',EG].Borders[xlLeft].Weight := xlThin;
Excel.Range['A9',EG].Borders[xlTop].Weight := xlThin;
Excel.Range['A9',EG].Borders[xlBottom].Weight := xlThin;
Sheet := Excel.Sheets['명세표'];
//아래는 테두리없는 Text박스를 나타낸다..
//매체구분과 월을 나타낸다
xlLabel := Sheet.Shapes.AddLabel(msoShapeRectangle,225,30,80,18).TextFrame;
xlLabel.Characters.Text := '('+ac_bmyy.Text + '-' + ac_bmmm.text+ Copy(ac_ingu.text,3,8)+')';
//광고주를 나타낸다
xlLabel := Sheet.Shapes.AddLabel(msoShapeRectangle,110,60,80,18).TextFrame;
xlLabel.Characters.Text := ac_clnm.text;
//청구일을 나타낸다
xlLabel := Sheet.Shapes.AddLabel(msoShapeRectangle,115,85,80,18).TextFrame;
xlLabel.Characters.Text := cgdt;
//담당팀을 나타낸다
xlLabel := Sheet.Shapes.AddLabel
(msoShapeRectangle,120,113,80,18).TextFrame;
xlLabel.Characters.Text := tmnm;
except
showmessage('에러입니다');
end;
Excel.Range['A1', 'A1'].Select;
Excel.Visible := true ;
end else
begin
Showmessage('Excel Down 실패');
end;
//여기까지 입니다. 이것 공부하는데 무려 3일 걸렸당... 에공....
질문] 엑셀파일에 이미 만들어져 있는 Text Box에 어떻게 값을 주나요?
xlLabel := Sheet.Shapes('Text Box 4');
이것도 안되고
xlLabel := Sheet.Shapes('Text Box 4').Select;
이것도 안되도 도대제 나보고 어쩌란 말이냐.........
xlLabel.Characters.Text := '잘되나요?';
고수님들 가르쳐 주세요...