suchtext:='KB 1853'; //artikelnummer, die in der ersten Spalte der Tabelle steht
XLWkbook:=XLS.Workbooks.Open(filename);
XLWksheet:=XLS.ActiveSheet;
XLRange:=XLWksheet.Range('A1:F500');
Range:=XLRange.Find(suchtext,'A1');
filename:='D:\Navision\Projekt\artikeldaten.xls';
startrange:='A2:F500';
ItemNo:='kd 1853';
Startfield:='A2';
IF CREATE(XLS) THEN BEGIN;
XLS.Visible:=TRUE;
XLWkbook:=XLS.Workbooks.Open(filename);
XLWksheet:=XLS.ActiveSheet;
XLRange:=XLWksheet.Range(startrange);
Range:=XLRange.Find(itemno,startfield); //vor dieser Zeile hält der Debugger!!!
MESSAGE(FORMAT(Range));
CLEAR(XLS)
END;
filename:='D:\artikeldaten.xls';
startrange:='A2:F500';
ItemNo:='kd 1853';
Startfield:='A2';
IF CREATE(XLS) THEN BEGIN;
XLS.Visible:=TRUE;
XLWkbook:=XLS.Workbooks.Open(filename);
XLWksheet:=XLS.ActiveSheet;
XLRange:= XLWksheet.Range(startrange).Find(ItemNo);
XLRange.Activate;
info:= FORMAT(XLRange.Value);
MESSAGE(info);
CLEAR(XLS)
END;
Unknown Automation Server.Application
AutoServerRec.SETRANGE(AutoServerRec.Name, 'Microsoft Word 11.0 Object Library');//Wibo.UA.04
IF AutoServerRec.FIND('-') THEN BEGIN
blbl
blbl
blbl
END ELSE BEGIN
AutoServerRec.SETRANGE(AutoServerRec.Name, 'Microsoft Word 9.0 Object Library');
IF AutoServerRec.FIND('-') THEN BEGIN
blbl
blbl
END ELSE
blbl;
END;//Wibo.UA.04
AutoServerRec = Record = Automation Servers
Michael Schumacher hat geschrieben:Bleibt nur noch die Hoffnung, dass da nicht auch noch total unterschiedliche Befehle in den Automations sind....
Diese Automations sind notwendig:
Name
ADOConnection Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Connection
ADORecSet Automation 'Microsoft ActiveX Data Objects Recordset 2.8 Library'.Recordset
ADOStream Automation 'Microsoft ActiveX Data Objects 2.8 Library'.Stream
//C/AL-CODE
//Erstellen des Connectionstring
ADOConnection.ConnectionString('Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'Data Source=test.mdb;'
+ 'User Id=; Password=;');
ADOConnection.Open;
SQLString := 'SELECT * FROM <access-tabelle>';
ADORecSet := ADOConnection.Execute(SQLString);
ADORecSet.MoveFirst;
REPEAT //Spaltenzugriff
i := ADORecSet.Fields.Count - 1;
FOR j:=0 TO i DO BEGIN
ADOStream.Open;
ADOStream.WriteText(ADORecSet.Fields.Item(j).Value);
ADOStream.Position := 0;
FieldValue := ADOStream.ReadText;
ADOStream.Close;
// hier könnte jetzt eine Navision-Tabelle gefüllt werden,
// bzw. der Inhalt der Spalten weiterverwendet werden...
// -->der Inhalt liegt als String vor und muss noch gewandelt werden
ADORecSet.MoveNext;
UNTIL ADORecSet.EOF;
ADORecSet.Close;
DOConnection.Close;
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast