Autor Beitrag
andreas_kopp
Hält's aus hier
Beiträge: 13

Win xp
delphi 7
BeitragVerfasst: Di 17.08.04 11:39 
Hallo zusammen,
ich versuche seit einigen tagen verzweifelt von delphi aus einige splaten in excel zu sortieren. aber irgenwie hat er keine lust das zu tun... ich habe bisher folgendes probiert:

excel.selection.Columns.Sort('Key1:=Range(''A2''), Order1:=1, Order2:=1, Header:=1, OrderCustom:=1, MatchCase:=False, Orientation:=1');

aus einem makro habe ich:

{ Columns("A:C").Select
Range("C1").Activate
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom }

allerdings hat bis jetzt nicht einmal folgender befehl funktioniert:

excel.Columns('A:B').Select;

kann mir bitte jemand helfen bvor ich noch in meine tastatur beisse.. :roll:

vielen dank
bis dann
andy
andreas_kopp Threadstarter
Hält's aus hier
Beiträge: 13

Win xp
delphi 7
BeitragVerfasst: Di 17.08.04 11:48 
Verbesserung... Fehlerteufel...

Hallo zusammen,
ich versuche seit einigen tagen verzweifelt von delphi aus einige splaten in excel zu sortieren. aber irgenwie hat er keine lust das zu tun... ich habe bisher folgendes probiert:

excel.Selection.Columns.Sort('Key1:=Range(''B2''), Order1:=1, Key2:=Range(''A2''), Order2:=1, Header:=1, OrderCustom:=1, MatchCase:=False, Orientation:=1');

aus einem makro habe ich:

{ Columns("A:C").Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("A2") _
, Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom }

allerdings hat bis jetzt nicht einmal folgender befehl funktioniert:

excel.Columns('A:B').Select;

kann mir bitte jemand helfen bvor ich noch in meine tastatur beisse..

vielen dank
bis dann
andy
Bronstein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 578
Erhaltene Danke: 1

WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
BeitragVerfasst: Mi 01.07.09 13:33 
Hallo,
ich habe jetzt dasseelbe Problem.

Gibt es eine Lösung für das Problem?

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 01.07.09 14:08 
Wird COM\DCOM-Automation genutzt (Also über OleObjects) oder werden die Interfaces über IDL genutzt?

Bei ersterem einfach den Befehl auf Pascal-Syntax schreiben. Dabei beachten, den richtigen Scope zu treffen.

Ansonsten einfach mal durch die Interfaces hangeln.

Zur Umsetzung der VB-Syntax für Delphi vielleicht mal soviel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
SheetObj.Selection.Columns.Sort(
    Key1:={Excel-VBA-Hilfe nachgucken}.Range('B2'), 
    Order1:=1,
    Key2:={Excel-VBA-Hilfe nachgucken}Range('A2'), 
    Order2:=1
    Header:=1
    OrderCustom:=1
    MatchCase:=False, 
    Orientation:=1);

Das funktioniert aber nur bei Ole-Automation und nicht bei explizit importierten Interfaces. Das bedingt allerdings, dass die Umsetzung dieses Befehls zur Laufzeit geschieht und somit WESENTLICH langsamer ist, als die Nutzung über COM\DCOM.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Bronstein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 578
Erhaltene Danke: 1

WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
BeitragVerfasst: Mi 01.07.09 14:09 
Hab was gefunden:

ausblenden Delphi-Quelltext
1:
2:
Excel.Range['A1:J'+IntToStr(zeile)].Select;
Excel.Selection.Sort(Excel.Range['C2'], 1 , EmptyParam, Excel.Range['A2'], 1, Excel.Range['B2'], 1);

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!