엑셀로 DDE연결을 했을 때 엑셀창에서 DDE선택하는 창이 떠버리더군요.
그래서 프로그램 종료할 때 엑셀로 연결했던 자원이 남아있는게 아닌가 하고 재부팅하고 바로 실행해보았지만 역시 선택창이 뜨더군요.
엑셀로 연결하는 부분의 코드는
FExcelApp : _Application; // 변수 선언
try
FExcelApp := GetActiveOleObject('Excel.Application') as _Application;
FLCID := GetUserDefaultLCID;
except
ShowMessage('엑셀을 연결할 수 없습니다.');
Exit;
end;
이렇게 되 있고요.
혹시 이런 현상 겪어보신분 있으신가요? 아니면 해결책을 아시는분은 있으신지요?
아래와 같이 해보세요.
<!--CodeS-->
uses에 DDEMan을 포함
procedure TForm1.Button1Click(Sender: TObject);
var
DDEClientConv1 : TDdeClientConv;
DDEClientItem1 : TDDEClientItem;
P : PChar;
strTest : string;
begin
strTest := 'This is test program';
DDEClientConv1 := TDdeClientConv.Create(self);
DDEClientConv1.SetLink('Excel','Sheet1');
try
DDEClientConv1.OpenLink;
DDEClientConv1.PokeData('R5C2', PChar(strTest));
//-- R1C5는 Row로 다섯번째, Column으로 두번째를 의미합니다.
finally
DDEClientConv1.CloseLink;
DDEClientConv1.Free;
end;
end;
<!--CodeE-->
즐건 하루 되십시요.
Marek Wrote