Hallo Allerseits,
der Tipp von Sputnic hat mir den Weg zur Lösung freigeräumt
:
Delphi-Quellcode:
Uses
ComObj,
ActiveX, UrlMon;
procedure TForm1.Button1Click(Sender: TObject);
var
BindCtx : IBindCtx;
Mk : IMoniker;
chEaten : ULONG;
DmyObj : IUnknown;
wb : OleVariant;
xl : OleVariant;
ws : OLEVariant;
begin
OleCheck(CreateBindCtx(0, BindCtx));
OleCheck(MkParseDisplayNameEx(BindCtx, PWideChar(WideString(_Mappe)), chEaten, Mk));
OleCheck(Mk.BindToObject(BindCtx,
nil, IUnknown, DmyObj));
wb := DmyObj
as IDispatch;
xl := wb.Application;
ws := xl.workbooks[_Mappe].WorkSheets[_Tabelle];
ws.range[_Zelle] := _Inhalt;
ws := unassigned;
wb := unassigned;
xl := unassigned;
end;
Die vier Variablen haben folgenden Inhalt:
_Mappe -> FullName der Arbeitsmappe, z.B. 'D:\Temp\Mappe1.xls'
_Tabelle -> Name der Tabelle in der Arbeitsmappe, z.B. 'Tabelle1'
_Zelle -> Name oder Koordinaten der Zelle, z.B. 'A1' oder 'MeineZelle'
_Inhalt -> der in die Zelle zu schreibende Text
Gruß aus Köln
Thomas