12. November 2009 09:57
12. November 2009 11:18
12. November 2009 11:21
Name DataType Subtype
Excel Automation 'Microsoft Excel 9.0 Object Library'.Application
Book Automation 'Microsoft Excel 9.0 Object Library'.Workbook
Sheet Automation 'Microsoft Excel 9.0 Object Library'.Worksheet
Create(Excel);
Book:=Excel.Workbooks.Add; // Exceltabelle und Worksheet erzeugen
Book:=Excel.Workbooks.Open('C:\Pfad\Dateiname.xls'); //Pfad zur Exceldatei
Sheet:=Book.Worksheets.Item('Tabelle1'); // gehe zu Tabelle 1
Book.SaveAs('dateiname.xls'); // Excel Datei speichern
Sheet.Activate; // Sheet aktivieren
Book.Save; // in bestehende Datei speichern
Book.Close; // Schliessen
Excel.Quit; // Excel beenden
Sheet.Range('A1:B100').NumberFormat := '@'; // Text für Spalte A1-D100
Sheet.Range('C1:C100').NumberFormat := '#.##0'; // Zahlformat mit 1000. Trennung
Sheet.Range('D1:D100').NumberFormat := '#.##0,00 €'; // Währungsformat für Euro mit 1000. Trennung
Sheet.Range('A1').Font.Bold:=TRUE; // Schrift Fett
Sheet.Range('A1').Font.Size:=12; // Schriftgröße
Sheet.Range('A1:B1').MergeCells := TRUE; // Zellen verbinden
Sheet.Columns.AutoFit; // optimale Spaltenbreite
Sheet.Range('A1').Value:='Text'; // Wert zuweisen
12. November 2009 12:19
12. November 2009 15:18
12. November 2009 15:22
12. November 2009 15:30
Cr4cks hat geschrieben:Also ich würde es mir einfach machen (Datenübertragung aussen vor gelassen), einfach wie in jeder Karte zu bestaunen, die funktionalität der Links (Büroklammer in der Symbolleiste) kopieren, anpassen an den genauen Wunsch, fertig. Aber wie gesagt ist nur ohne Übertragung bestimmter Zelleninhalte...
12. November 2009 15:42
Book:=Excel.Workbooks.Open('C:\Pfad\Dateiname.xls'); // Pfad zu der Exceldatei im Netzlaufwerk
Sheet:=Book.Worksheets.Item('Tabelle1'); // oder den Sheet deiner Exceldatei
Sheet.Activate;
Sheet.Range('A1').Value:='Text'; // Wert als String Feld A1 zuweisen bzw. deinem Feld in der Exceldatei
Book.Save; // den Wert in die Exceldatei speichern
Book.Close; // Datei schliessen
Excel.Quit; // Excel schliessen/beenden
12. November 2009 16:05
12. November 2009 16:29
Excel.GetOpenFilename('C:\pfad\datei.xls');
12. November 2009 16:59
12. November 2009 17:04
daniel hat geschrieben:hallo winfy, jetzt hab ich es verstanden.
...
Also es gibt den Befehl
- Code:
Excel.GetOpenFilename('C:\pfad\datei.xls');
aber hier bringt er mir die fehlermeldung:
Für diese Automation Variable wurde keine Instanz erstellt.
Sie können ihr eine Instanz zuordnen, indem Sie sie entweder erstellen oder zuordnen.
das gleiche passiert wenn ich nur versuche Excel zu öffnen via Excel.run.
Für das Book sehe ich leider keinen Open-Befehl, auch nichts ähnliches.
CREATE(Excel); // Instanz erzeugen
Excel.Visible(TRUE); // falls du es angezeigt bekommen möchtest
Book:=Excel.Workbooks.Add; // Exceltabelle und Worksheet erzeugen
Book:=Excel.Workbooks.Open('C:\Pfad\Dateiname.xls'); // Excel-Datei öffnen
12. November 2009 17:18
12. November 2009 17:56
CREATE(Excel); // Instanzen erzeugen
CREATE(Book);
CREATE(Sheet);
Excel.Visible(TRUE); //sichtbar machen
Excel.Workbooks.Open('C:\Dokumente und Einstellungen\daniel\Desktop\UPS-Tracking\Kopie von SignatureTracking.xls'); //Pfad zur Datei
Sheet:=Book.Worksheets.Item('Eingabe'); // Eingabe ist der Name des Sheets (es gibt insgesamt 4 sheets in der datei.
Sheet.Activate;
Sheet.Range('B4').Value:='Text'; // hier müsste ja im moment der Text an feld b4 übergeben werden
12. November 2009 21:29
daniel hat geschrieben:jetzt noch zur übergabe von werten an die Excel-Datei.
es kommt folgende Meldung:
Für das OLE-Control oder den automation Server GUID xxxxxxx.... 'Microsoft Excel 11.0 Object Library'.Workbook konnte keine Instanz erstellt werden.
Prüfen Sie ob das OLE Control oder der autom. Server korrekt installiert und registriert wurde.
CREATE(Excel); // Instanzen erzeugen
CREATE(Book);
CREATE(Sheet);
...
[/code]
CREATE(Book);
...
Excel.Workbooks.Open('C:\Dokumente und Einstellungen\daniel\Desktop\UPS-Tracking\Kopie von SignatureTracking.xls'); //Pfad zur Datei
...
Sheet:=Book.Worksheets.Item('Eingabe'); // ???
CREATE(Excel);
Book:=Excel.Workbooks.Open('C:\Dokumente und Einstellungen\daniel\Desktop\UPS-Tracking\Kopie von SignatureTracking.xls'); //Pfad zur Datei
Sheet:=Book.Worksheets.Item('Eingabe'); // Eingabe ist der Name des Sheets (es gibt insgesamt 4 sheets in der datei.
Sheet.Activate;
Sheet.Range('B4').Value:='Text'; // hier müsste ja im moment der Text an feld b4 übergeben werden
13. November 2009 09:46