Autor Thema: Befehle für einen formatierten Excel-Export  (Gelesen 17851 mal)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Befehle für einen formatierten Excel-Export
« Antwort #20 am: 17.06.04 - 11:35:13 »
Hi,

da müsste mit der Methode PrintOut funktionieren.

Bsp.:

ActiveWorkbook.PrintOut oder ActiveSheet.PrintOut

Angaben zu den Parametern findest du in der VBA-Hilfe.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Markus Henke

  • Aktives Mitglied
  • ***
  • Beiträge: 143
  • Geschlecht: Männlich
Re:Befehle für einen formatierten Excel-Export
« Antwort #21 am: 17.06.04 - 13:13:08 »
@Axel: Sorry, dass ich mich nicht ordentlich ausgedrückt habe. :-)

@g202e: Axels Tipp sollte Dir da helfen. Wobei ich davon fast abraten würde das ganze direkt zu drucken. Ich habe es so gemacht, dass erst exportiert wird und der User kann dann, wenn er es will das ganze manuell drucken. Das ganze hat den Vorteil, dass der Benutzer den Drucker wechseln kann. Wenn Du das ganze exportierst und dann druckst, ohne das Excel sichtbar ist, wird vielleicht der falsche Drucker benutzt. Aber das ist wieder abhängig von den Vorlieben des Programmierers.

Markus

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Befehle für einen formatierten Excel-Export
« Antwort #22 am: 17.06.04 - 14:18:34 »
Aber das ist wieder abhängig von den Vorlieben des Programmierers.
Ja, wenn es man so wäre!
Ich würde es aus den von dir genannten Gründen auch so machen, aber: Der auftraggebende Chef ist der Meinung, dass dies für die Vorzimmer-Damen des GANZ GROSSEN CHEFS zu kompliziert ist. Er möchte gern eine Lösung, wo man bloß einen Knopf drückt und dann kommt die Liste aus dem Drucker.
Danke trotzdem. Printout funzt.
(Mit der VBA-Hilfe bin ich noch nicht so richtig warm geworden, aber das ist wohl Übungssache... Ich habe mit ActiveSheet.Print oder ActiveWorkbook.Print probiert, aber immer Essig! Mal sehen, ob ich den Befehl finde, mit dem ich im Background das per LotusScript erzeugte Excel.Object wieder zu zerstöre, das ich nach dem Druck nicht mehr braucher??) ???
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Befehle für einen formatierten Excel-Export
« Antwort #23 am: 17.06.04 - 14:31:06 »
Hi,

ich mach' damit:

Set objExcel = CreateObject("Excel.Application")   'Excel "unsichtbar" starten
...

objExcel.DisplayAlerts = False  'Warnmeldungen abschalten
Call objExcel.Quit  'Excel beenden




Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Befehle für einen formatierten Excel-Export
« Antwort #24 am: 17.06.04 - 15:49:34 »
OK, ich habs so gelöst:
objExcel.Saved = True  'Warnmeldungen abschalten
Call objExcel.Quit  'Excel beenden
Aber die Sache hat einen Haken: Ich habe das Ganze in einem Aktions-Buhtong. Alles Quit und auch "Set objExel = Nothing" (oder auch beides zusammen) nützt nichts. Im Taskmanager bleibt immer noch eine Excel-Instanz zu sehen. Diese verschwindet erst, wenn man die Ansicht schließt/wechselt.
Fragen Sie Bill Gates!
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Befehle für einen formatierten Excel-Export
« Antwort #25 am: 17.06.04 - 16:06:53 »
Bei mir schiesst
   excelWorkbook.Save
   excelWorkbook.Close
   Set excelApp = Nothing
Excel zuverlässig ab (dieser Teil gehört nach einem Test auf
excelApp = Nothing
in den ErrorHandler !).
Bei Dir wird das Objekt offensichtlich erst zerstört, wenn das LS-Modul aus dem Speicher genommen wird.

HTH,
Bernhard

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Befehle für einen formatierten Excel-Export
« Antwort #26 am: 18.06.04 - 11:24:05 »
So, nun habe ich auch noch etwas "Zündstoff" ;)

Also mein Export und das Formatieren haben wunderbar geklappt. Ist zwar sicherlich nicht so elegant wie es hätte sein können aber das Resultat stimmt mich zufrieden. Nur zwei Sachen habe ich noch auf dem Herzen.

1.) Ich würde ganz gerne noch "automatisch" Summen bilden lassen
Also es werden x Dokumente exporiert und ich möchte in der Zelle x+1 gerne eine Spaltensumme er x exportierten Doks haben. Wie bekomme ich das hin ? Habe das Makro mir mal angesehen aber das möchte er so leider nicht übernehmen  ???

2.) Ich würde gerne noch die Zahlen an sich formatieren, also einheitlich 2 Nachkommastellen und wenn möglich negative Zahlen rot darstellen. Nur leider bin ich auch hier nicht weitergekommen

Wäre super wenn mir das noch einer "nahebringen" könnte dann kann ich das Thema hier auch guten Gewissens schliessen ;)

mfg

Sebastian !

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Befehle für einen formatierten Excel-Export
« Antwort #27 am: 18.06.04 - 11:49:33 »
Hi,

zu 2.

Set objExcel = CreateObject("Excel.Application")
Call objExcel.Workbooks.Add  'Neue Arbeitsmappe anlegen
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

...

objSheet.Columns("A:A").Select  'Spalte A markieren
objExcel.Selection.NumberFormat = "#,##0.00_ ;-#,##0.00 " 'Zellen formatieren
...

zu 1.

Wie sieht denn das Makro aus und warum willst du es so nicht machen?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Befehle für einen formatierten Excel-Export
« Antwort #28 am: 18.06.04 - 12:05:39 »
mmh, wenn ich das so machen bekomme ich in Notes folgende Fehlermeldung: MS Excel: Die NumberFormat-Eigenschaft des Range-Objektes kann nicht festgelegt werden. Was hat das zubedeuten.

zu 1.) Ich würde das gerne so machen wie er mir das im Makro vorgibt aber leider geht es nicht

Das Makro sah wie folgt aus:

Range("F21").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Befehle für einen formatierten Excel-Export
« Antwort #29 am: 18.06.04 - 12:38:21 »
Hi,

das liegt an der Einstellung  "Z1S1-Bezugsart" in Excel. Nimm diese Einstellung raus (unter Extras - Optionen, Reiter Allgemein).

Verwende dann diese Formel

ActiveCell.Formula = "=SUM(A1:A12)"

Natürlich nach Sript umgesetzt.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Befehle für einen formatierten Excel-Export
« Antwort #30 am: 18.06.04 - 13:33:10 »
ok das scheint zu klappen mit den Summen aber kann ich das auch flexibelmachen ? also weil die Zeilenzahl ja unterschiedlich ist ?

Muss ich das mit dem Z1S1-Bezug noch im Script einstellen wenn das Problem auf anderen Rechner auch auftritt ?

Ist das auch der Grund für den Fehler bei dem Zahlenformat ?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Befehle für einen formatierten Excel-Export
« Antwort #31 am: 18.06.04 - 13:47:16 »
aber kann ich das auch flexibelmachen ? also weil die Zeilenzahl ja unterschiedlich ist ?

Klar geht das auch "dynamisch". Du brauchst nur eine Variable in der du die Anzahl der Docs hast. Dann baust du dir die Formel zusammen.

row = 10
ActiveCell.Formula = "=Summe(F1:F" & Trim$(Str$(row)) & ")"


Muss ich das mit dem Z1S1-Bezug noch im Script einstellen wenn das Problem auf anderen Rechner auch auftritt ?

Das ist eine Einstellung in Excel. Ob man diese Einstellung auch über die COM-Schnittstelle ändern kann, weiß ich nicht. Auf die Schnelle hab ich in der VBA-Hilfe nichts gefunden.


Ist das auch der Grund für den Fehler bei dem Zahlenformat ?

Wenn es sich um die Fehlermeldung "Die NumberFormat-Eigenschaft des Range-Objektes ..." handelt, vermute mal ja.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Markus Henke

  • Aktives Mitglied
  • ***
  • Beiträge: 143
  • Geschlecht: Männlich
Re:Befehle für einen formatierten Excel-Export
« Antwort #32 am: 18.06.04 - 13:47:53 »
Es gibt eine Eigenschaft, die Dir die letzte benutzte Zeile zurückgibt.

Hier ist ein Beispiel dazu:


Dim xlApp As Variant
Dim xlSheet As Variant


Function OpenExcel() As String
   
   'Errorroutine
   On Error Goto Errorhandler
   
   'Excel Applikation öffnen
   Set xlApp = CreateObject("Excel.application")
   'neues Arbeitsblatt
   xlApp.Workbooks.Add
   Set xlSheet = xlApp.Workbooks(1).Worksheets(1)
   
   OpenExcel = "OK"
   Exit Function
   
Errorhandler:
   OpenExcel = "ERROR"
   
End Function


Sub Click(Source As Button)
   
   'Excel öffnen und Rückgabe überprüfen
   Rückgabe = OpenExcel()
   If Rückgabe <> "OK" Then
      'abbrechen
      Exit Sub
   End If
   
   'Werte schreiben
   'Cells benötigt Zahlen, Range benötigt z.B. "A5"
   For i = 1 To 50
      xlSheet.Cells(i,1).Value = "TEST"
   Next i
   
   'letzte Zeile finden und ausgeben (4 entspricht xlUp)
   Msgbox xlApp.Columns("1,1").End(4).Row
   
   'Excel sichtbar machen
   xlApp.Visible = True
   
   'Variablen freigeben
   Set xlSheet = Nothing
   Set xlApp = Nothing
   
End Sub


Packs in einen Button und probiers mal aus.

Markus

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Befehle für einen formatierten Excel-Export
« Antwort #33 am: 18.06.04 - 15:54:37 »
Hi,

ich zur Umstellung der Bezugsart noch was gefunden. Sie lässt sich mit

Application.ReferenceStyle = xlA1 umstellen, wobei xlA1 den Wert 1 hat.

Mit Application.ReferenceStyle = xlR1C1 stellt du das Ganze wieder zurück.
xlR1C1 hat den Wert -4150


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Befehle für einen formatierten Excel-Export
« Antwort #34 am: 21.06.04 - 11:05:26 »
Also nochmal besten Dank für die Infos & Hilfen.
Ich denke hier gibt es nun nichts mehr zu klären !

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz