Autor Thema: Zellenformatierung für Excel-Export  (Gelesen 2008 mal)

Offline drake

  • Frischling
  • *
  • Beiträge: 43
  • Geschlecht: Männlich
Zellenformatierung für Excel-Export
« am: 28.08.02 - 10:52:43 »
Hallo zusammen!

Vor langer Zeit habe ich einmal einen Exportagenten für eine Notes-Ansicht hier aus dem Forum bekommen. Das ganze läuft super, aaaaber:

In einigen Spalten tauchen bei meinen Daten Zahlen mit voran gestellten Nullen auf (z.B. 0001, 0018, usw.). Excel erkennt diese Werte als Zahlen und formatiert Sie ins entsprechende Format --> die Nullen sind weg  :P

Wie kann ich das verhindern? Kann ich vielleicht vor der Datenübernahme alle Excel-Zellen auf Textwerte formatieren?  ???

Gruß
drake

-------------------------------------

Sub Click(Source As Button)
     Dim Session As New NotesSession
     Dim db As NotesDatabase
     Dim sourceview As NotesView
     Dim sourcedoc As NotesDocument
     Dim dataview As NotesView
     Dim datadoc As NotesDocument
     Dim maxcols As Integer
     Dim ws As New Notesuiworkspace
     Dim uiview As notesuiview
     Dim cols As Integer
     Dim rows As Integer
     Dim getfield As Variant
     
     Set db = session.CurrentDatabase
     Set uiview=ws.currentview
     Set dataview = uiview.view
     Dim xlApp As Variant
     Dim xlsheet As Variant
     
     Set xlApp = CreateObject("Excel.Application")
     xlApp.StatusBar = "Import vorbereiten..."
     xlApp.Visible = True
     xlApp.Workbooks.Add
     xlApp.ReferenceStyle = 3
     Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
     xlsheet.Name = uiview.viewname
     xlApp.StatusBar = "Die Überschriften werden erstellt..."
     cols=1
     Forall X In dataview.Columns
           xlsheet.Cells(1,cols).Value =X.title
           cols=cols+1
     End Forall
     
     xlApp.StatusBar = "Überschriften wurden erstellt...fertig!"
     xlApp.StatusBar = "Der Import wird vorbereitet..."
     xlApp.StatusBar = "Die Daten werden importiert..."
     Set datadoc = dataview.getfirstdocument
     cols=1
     rows=2
     maxcols= dataview.columncount
     While Not (datadoc Is Nothing)
           For cols=0 To maxcols-1
                 getfield = Cstr(datadoc.ColumnValues( cols ))
                 xlsheet.Cells(rows,cols+1).Value = getfield  
           Next
           rows=rows+1
           cols=0
           Set datadoc = dataview.getnextdocument(datadoc)  
     Wend
     xlApp.StatusBar = "Import beendet! ... Formatieren starten"
     
     xlApp.Rows("1:1").Select
     xlApp.Selection.Font.Bold = True
     xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(1,maxcols)).Select
     With xlApp.Selection.Interior
           
     End With
     xlApp.StatusBar = "Titel formatiert"
     xlApp.Rows("1:1").Select 'Zeile 1 bis 1 ist  
     xlApp.Selection.Font.Bold = True ' Fett
     xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(rows,maxcols)).Select
     xlApp.Selection.Font.Name = "Arial" 'Schrift Art
     xlApp.Selection.Font.Size = 10'Schriftgröße der Excel Tab
     xlApp.Selection.Columns.AutoFit
     xlApp.Selection.Rows.AutoFit
     With xlApp.Worksheets(1)
           .PageSetup.Orientation = 2
           .PageSetup.centerheader = "Notes Export" ' Tabellen Überschrift
           .Pagesetup.RightFooter = "Seite: &S" & Chr$(13) & "Datum: &D"
' Arbeiten Sie mit einer Englischen Excelversion müssen  
'sie bei Seite: &P verwenden  
           .Pagesetup.CenterFooter = ""
     End With
     xlApp.ReferenceStyle = 1
'Wo möchten Sie den Courser hinsetzen hier A1
     
     xlApp.Range("A1").Select
     
     xlApp.StatusBar = "Fertig!"
End Sub
Client R 5.10 @ W2K - SP4

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Zellenformatierung für Excel-Export
« Antwort #1 am: 28.08.02 - 11:12:46 »
wenn man in Excel ein 'voranstellt und dann die Zahl schreibt, also '5000, weiß Excel : "aha, ein text" und kassiert die Nullen nicht ein.

Das solltest Du nutzen und vor Übergabe der Variable in Excel auf vorangestellte Nullen checken. Wenn diese Bedingng eintritt, veränderst Du halt über {'} & _Wert den übergebenen String vorher ab.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline dokma043

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
  • Werde die Lösung finden!
Re: Zellenformatierung für Excel-Export
« Antwort #2 am: 29.08.02 - 08:21:36 »
Hi,
kannst du mir den Exportagenten mal zukommen lassen oder mir nen Link setzen wo ich ihn finden kann.
Gruss tobi
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Danke für eure Hilfe!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz