Autor Beitrag
KlausHD
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 26.03.03 09:36 
:?:

Hallo,

wer kann mir kurz erläutern wie ich die Daten einer Paradox-Tabelle ins Format MS Excel oder auch MS Access exportieren kann.

Der Dateiexport in dbase bzw. als Textdatei klappt über die BatchMove-Komponente. Die Zieltabelle soll der Anwender selbst benennen können.

Ich arbeite mit D4 Prof. auf WindowsXP.

Besten Dank im voraus.

Klaus

:?: :?:
Grave_digger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: Do 27.03.03 20:18 
also ich habe ein solches Programm bereits entwickelt wleches in beide Richtungen funktioniert aber mit D5E

//Programmier-Baukasten für Excel

unit excelU;

Interface
uses SysUtils;
Type
TUsExcel = class(TObject)
Private
Excel1 : variant;
ZwischenStr : String;
public
// Inhalt: string;
//Starten von Excel
function StartExcel:Boolean;

//Anzeigen von Excel
function ZeigenExcel:Boolean;

//Schliessen von Excel
function SchliessenExcel:Boolean;

//Oeffnen einer Tabelle
//Filename enthält den Kompletten Pfad der Tabelle als String
function TabOeffnenExcel(Filename:String):Boolean;

//Ruft den Öffnendialog von Excel auf
function DateiimExcelOeffnenExcel:Boolean;

//Eine Arbeitmappe neu anlegen
function MappeNeuExcel:Boolean;

//Eine Tabelle in der Aktullen Arbeitsmappe anlegen
function TabNeuExcel:Boolean;

//Eine bestimmte Tabelle in der Arbeitsmappe aktivieren
//TabellenName ist der Name der Tabelle als String
function TabAktivierenExcel(TabellenName:OLEVariant):Boolean;

//Daten als String nach Excel übergeben
//Zeile,Spalte als Integer; Daten als String
function DatenNachExcel(Zeile,Spalte:integer;Daten:String):Boolean;

//Speichern einer Tabelle
function TabSpeichernExcel(DateiName:String):Boolean;

//Arbeitsmappe Schliessen
function MappeSchliessenExcel:Boolean;

//Aktive Tabelle schliessen
function TabSchliessenExcel:Boolean;

//Formatieren eine Zelle mit einem Bestimmten Format
function ZellenFormatierenExcel(Zeile,Spalte:integer;Format:string):Boolean;

//Formatieren einer Spalte mit einem Bestimmten Format
//Spalte ist vom Typ Integer und gibt die Spalte an die Formatiert werden soll
//Format ist vom Typ String und gibt das Format an für die Spalte
function SpalteFormatierenExcel(Spalte:integer;Format:String):Boolean;

//Formatieren einer Zeile mit einem Bestimmten Format
//Zeile ist Vom Typ Integer und gibt die Zeile an die Formatiert werden soll
//Format ist vom Typ String und gibt das Format an für die Zeile
function ZeileFormatierenExcel(Zeile:integer;Format:String):Boolean;

function Breite_HoeheExcel(Spalte:integer):Boolean;
function LesenausExcel(Zeile:Integer;Spalte:Integer):string;
function ZeilenEndeExcel(Zeile:Integer;Spalte:Integer):Boolean;
function NachBegriffSuchenExcel(Zeile:Integer;Spalte:Integer;Begriff:string):Boolean;
function TabellenGroesseExcel:longint;
end;

implementation

uses ComObj,Dialogs,Windows,ActiveX;

//Schliessen von Excel
function TUsExcel.SchliessenExcel:Boolean;
begin
try
Excel1.Quit;
Excel1 := Unassigned;
except
Showmessage('Kann Excel nicht schliessen!');
Exit;
end;
end;

//Anzeigen von Excel
function TUsExcel.ZeigenExcel: Boolean;
begin
Try
Excel1.Visible := True;
except
Showmessage('Kann Excel nicht anzeigen!');
Exit;
end;
end;

//Starten von Excel
function TUsExcel.StartExcel:Boolean;
begin
Try
Excel1 := CreateOleObject('Excel.Application');
except
Showmessage('Excel konnte nicht gestartet werden!');
Exit;
end;
end;

//Oeffnen einer Tabelle
//Filename enthält den Kompletten Pfad der Tabelle als String
function TUsExcel.TabOeffnenExcel(Filename:String):Boolean;
begin
TabOeffnenExcel := True;
Try
Excel1.Workbooks.Open(Filename);
except
// Showmessage('Kann Datei nicht öffnen!');
TabOeffnenExcel := False;
end;
end;

//eine Arbeitmappe neu anlegen
function TUsExcel.MappeNeuExcel:Boolean;
begin
Try
Excel1.Workbooks.Add;
except
Showmessage('Kann keine neu Arbeitsmappe anlegen!');
Exit;
end;
end;

//Speichern einer Tabelle
function TUsExcel.TabSpeichernExcel(DateiName:String):Boolean;
begin
Try
Excel1.ActiveWorkBook.SaveAs(DateiName);
except
Showmessage('Kann Tabelle nicht speichern!');
Exit;
end;
end;

//Arbeitsmappe Schliessen
function TUsExcel.MappeSchliessenExcel:Boolean;
begin
Try
Excel1.WorkBooks.Close;
except
Showmessage('Kann Arbeitsmappe nicht schliessen!');
Exit;
end;
end;

//Eine Tabelle in der Aktullen Arbeitsmappe anlegen
function TUsExcel.TabNeuExcel:Boolean;
begin
Try
Excel1.Worksheets.Add;
except
Showmessage('Kann keine neue Tabelle einfügen!');
Exit;
end;
end;

//Eine bestimmte Tabelle in der Arbeitsmappe aktivieren
//Tabellen Name ist der Name der Tabelle als String
function TUsExcel.TabAktivierenExcel(TabellenName:OLEVariant):Boolean;
begin
Try
Excel1.Worksheets.Item[TabellenName].Activate;
except
Showmessage('Kann Tabelle nicht Aktivieren!');
Exit;
end;
end;

//Aktive Tabelle schliessen
function TUsExcel.TabSchliessenExcel:Boolean;
begin
Try
Excel1.ActiveWorksheets.close;
except
Showmessage('Kann Tabelle nicht schliessen!');
Exit;
end;
end;

//Daten als String nach Excel übergeben
//Zeile,Spalte als Integer; Daten als String
function TUsExcel.DatenNachExcel(Zeile,Spalte:integer;Daten:String):Boolean;
begin
Try
Excel1.Cells[Zeile,Spalte].Value := Daten;
except
Showmessage('Kann Daten nicht übernehmen!');
Exit;
end;
end;

//Ruft den Öffnendialog von Excel auf
function TUsExcel.DateiimExcelOeffnenExcel:Boolean;
begin
Try
Excel1.FindFile;
except
Showmessage('Kann Öffnen-Dialog nicht aufrufen!');
Exit;
end;
end;

//Formatieren eine Zelle mit einem Bestimmten Format
function TUsExcel.ZellenFormatierenExcel(Zeile,Spalte:integer;Format:string):Boolean;
begin
Try
Excel1.Cells[Zeile,Spalte].Numberformat := Format;
except
Showmessage('Kann Zelle nicht formatieren!');
Exit;
end;
end;

//Formatieren einer Spalte mit einem Bestimmten Format
//Spalte ist vom Typ Integer und gibt die Spalte an die Formatiert werden soll
//Format ist vom Typ String und gibt das Format an für die Spalte
function TUsExcel.SpalteFormatierenExcel(Spalte:integer;Format:String):Boolean;
begin
try
Excel1.Columns[Spalte].NumberFormat := Format;
except
Showmessage('Kann Spalte nicht Formatieren!');
Exit;
end;
end;

//Formatieren einer Zeile mit einem Bestimmten Format
//Zeile ist Vom Typ Integer und gibt die Zeile an die Formatiert werden soll
//Format ist vom Typ String und gibt das Format an für die Zeile
function TUsExcel.ZeileFormatierenExcel(Zeile:integer;Format:String):Boolean;
begin
try
Excel1.Rows[Zeile].NumberFormat := Format;
except
Showmessage('Kann Zeile nicht Formatieren!');
Exit;
end;
end;

function TUsExcel.Breite_HoeheExcel(Spalte:integer):Boolean;
begin
try
Excel1.columns[Spalte].autofit;
except
Showmessage('Kann Spalte nicht anpassen!');
exit;
end;
end;


function TUsExcel.LesenausExcel(Zeile:Integer;Spalte:Integer):string;
begin
LesenausExcel:=Excel1.cells[Zeile,Spalte].Value;
end;


function TUsExcel.ZeilenEndeExcel(Zeile:Integer;Spalte:Integer):Boolean;
begin
ZwischenStr:= Excel1.cells[zeile,Spalte].Value;
if ZwischenStr = 'SK3' then begin
ZeilenEndeExcel := True;
end
else begin
ZeilenEndeExcel := False;
end;
end;

function TUsExcel.NachBegriffSuchenExcel(Zeile:integer;Spalte:integer;Begriff:string):Boolean;
begin
ZwischenStr:= Excel1.cells[zeile,Spalte].Value;
if ZwischenStr = Begriff then begin
NachBegriffSuchenExcel := True;
end
else begin
NachBegriffSuchenExcel := False;
end;
end;

function TUsExcel.TabellenGroesseExcel:longint;
begin
// Excel1.ActiveWorkb.close;
Showmessage(inttostr(Excel1.row.Count));
end;
end.
{
Feldformatierungen
Standard = "General"
Text = "@"

}


ich hoffe das hift dir.
an sonsten gibt es noch von Microsoft texte
suche mal nach: VBAXL9.CHM
auf deiner Platte

mfg
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Fr 28.03.03 08:23 

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
KlausHD Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 29.03.03 21:46 
Titel: Paradox nach Excel
Hallo Miteinander,

herzlichen Dank für die Tipps. Ich werden diese auf alle Fälle ausprobieren.
Mal schau'n ob es auch mit D4 klappt.

Gruß
Klaus
:D