Excel worksheets:add() ans Ende ???
Moderator: Moderatoren
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Excel worksheets:add() ans Ende ???
Hallo,
laut Excel Hilfe kann man worksheets.add(bevore,after) Parameter übergeben, an welche Stelle das neue WorkSheet soll. Bei Xbase++ kommt es immer vor das aktuelle ...
Auch MOVE() funktioniert nicht, sonst könnte ich es ja einfach verschieben. Eventuell liegt es an den 'VARIANT' Variabeln ?
Hat jemand eine Lösung ?
laut Excel Hilfe kann man worksheets.add(bevore,after) Parameter übergeben, an welche Stelle das neue WorkSheet soll. Bei Xbase++ kommt es immer vor das aktuelle ...
Auch MOVE() funktioniert nicht, sonst könnte ich es ja einfach verschieben. Eventuell liegt es an den 'VARIANT' Variabeln ?
Hat jemand eine Lösung ?
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Hubert,
yup - war erst vor kurzem Thema in der Newsgroup von Alaska:
Viele Grüße,
Martin
yup - war erst vor kurzem Thema in der Newsgroup von Alaska:
Ich wäre nie auf die Idee gekommen, das so umzusetzen - aber probiere mal, ob es klappt.Ron Pinkas hat geschrieben:Try:
Worksheets:Add:Move( , Worksheets( Worksheets:Count ) )
The Move method is documented as follows:
Move( [Before], [After] )
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hi,
das mit der Parameterübergabe (VB sehr flexibel VarName:=Option) ist ein echtes Problem. Ich dachte immer es müsste eine PRG geben, die die Methoden enthält (ähnlich wie damals von JazzAge ...) da könnte man dan nachsehen, aber ich kann nichts finden.
Ich werde es versuchen die METHODE ADD:Move(...) so aufzurufen, danke.
das mit der Parameterübergabe (VB sehr flexibel VarName:=Option) ist ein echtes Problem. Ich dachte immer es müsste eine PRG geben, die die Methoden enthält (ähnlich wie damals von JazzAge ...) da könnte man dan nachsehen, aber ich kann nichts finden.
Ich werde es versuchen die METHODE ADD:Move(...) so aufzurufen, danke.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hallo Alfred,
ich will dass das neue Worksheet ans ENDE kommt. Dazu will ich dem :add(,nEnde) den richtigen Parameter übergeben, aber egal was ich versuche meldet Excel und Xbase++ immer einen Fehler.
Hallo Martin,
dein zitiertes Beispiel wurde erst mit 'missing Function Worksheet' quittiert, was ja auch kein Wunder ist ... mit direktem Aufruf kommt immer der gleiche Fehler:
[quote]
------------------------------------------------------------------------------
FEHLERPROTOKOLL von "D:\Alaska\ALASKA.190\XPPW32\SOURCE\samples\activex\msexcel\excel2.exe" Datum: 11.04.2008 13:33:12
Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebssystem : Windows 2000 05.00 Build 02195 Service Pack 4
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: move
-> VALTYPE: U VALUE: NIL
-> VALTYPE: N VALUE: 4
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Die Move-Methode des Worksheet-Objektes konnte nicht ausgef
ich will dass das neue Worksheet ans ENDE kommt. Dazu will ich dem :add(,nEnde) den richtigen Parameter übergeben, aber egal was ich versuche meldet Excel und Xbase++ immer einen Fehler.
Hallo Martin,
dein zitiertes Beispiel wurde erst mit 'missing Function Worksheet' quittiert, was ja auch kein Wunder ist ... mit direktem Aufruf kommt immer der gleiche Fehler:
[quote]
------------------------------------------------------------------------------
FEHLERPROTOKOLL von "D:\Alaska\ALASKA.190\XPPW32\SOURCE\samples\activex\msexcel\excel2.exe" Datum: 11.04.2008 13:33:12
Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebssystem : Windows 2000 05.00 Build 02195 Service Pack 4
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: move
-> VALTYPE: U VALUE: NIL
-> VALTYPE: N VALUE: 4
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Die Move-Methode des Worksheet-Objektes konnte nicht ausgef
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hi,
im Alaska Forum hatte jemand die richtige Antwort für mich:
oBook:Worksheets:Count() -> 3
aber
geht nicht, somit ist der gewünschte Datentyp Variant nicht die NUMMER des Worksheet, sondern wohl das Worksheet selbst ???
Egal auf jeden Fall geht es so und ich bin heilfroh das nun geklärt zu haben Auf eine so umständliche Art wäre ich wohl nie selbst gekommen.
@Martin
nochmals Danke für den Hinweis, ab und zu sollte ich wohl doch wieder ins Alaska Forum sehen
im Alaska Forum hatte jemand die richtige Antwort für mich:
Code: Alles auswählen
oBook:worksheets:add( , oBook:worksheets(oBook:Worksheets:Count()))
aber
Code: Alles auswählen
oBook:worksheets:add( , 3 )
Egal auf jeden Fall geht es so und ich bin heilfroh das nun geklärt zu haben Auf eine so umständliche Art wäre ich wohl nie selbst gekommen.
@Martin
nochmals Danke für den Hinweis, ab und zu sollte ich wohl doch wieder ins Alaska Forum sehen
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hi,
kleiner Nachtrag ...
das hätte bei 3 Worksheets auch funktioniert, also stimmt wohl die Vermutung dass man das betreffende Worksheet selbst übergeben muss ... und so abwegig (umständlich) wie ich dachte ist es ja eigentlich gar nicht.
Wir übergeben ja auch gerne Objekte.
kleiner Nachtrag ...
Code: Alles auswählen
oBook:worksheets:add(,oBook:worksheets(3))
Wir übergeben ja auch gerne Objekte.
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
und noch was ...
wenn man das gerade aktive Sheet gespeichert hat, z.B. in oSheet und das neue genau danach einsortieren will, geht es so direkt:
will man das neue WorkSheet vor dem aktuellen einfügen, einfach das eine Komma weg lassen:
so langsam schnalle ich es mit dem ActiveX Kram
PS: ich nutze neuerdings Excel Arbeitsmappen um Auswertungen meiner Programme besser darzustellen.
Früher habe ich dazu immer Textdateien verwendet, aber die wurden sehr schnell unübersichtlich.
wenn man das gerade aktive Sheet gespeichert hat, z.B. in oSheet und das neue genau danach einsortieren will, geht es so direkt:
Code: Alles auswählen
oBook:worksheets:add(,oSheet)
Code: Alles auswählen
oBook:worksheets:add(oSheet)
PS: ich nutze neuerdings Excel Arbeitsmappen um Auswertungen meiner Programme besser darzustellen.
Früher habe ich dazu immer Textdateien verwendet, aber die wurden sehr schnell unübersichtlich.
Gruß
Hubert
Hubert