Autor Thema: das export to excel script ummodeln....  (Gelesen 2033 mal)

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
das export to excel script ummodeln....
« am: 11.10.02 - 13:11:41 »
wahrscheinlich das letztemal vor dem wochenende :D,

schon sehr oft wurde über das script zum datentransfer notes=>excel gesprochen und das script, welches auch schon veröffentlicht wurde, ist genial.
ich möchte aber das NICHT alle felder ausgelesen werden, sondern nur 4 oder 5 bestimmte, die mir den per agent exportiert werden!
hat jemand ne lösung, also ich da so an unsere script-experten!
hier nochmal das script for all:

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

wäre echt toll, wenn jemand ne lösung hat.
mfg

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:das export to excel script ummodeln....
« Antwort #1 am: 11.10.02 - 13:21:24 »
dann nutzen wir doch mal die Upload funktion.

Hier eine Datenbank mit allen Designelementen
1x ScriptLib
4x Agenten
3 Masken,

die du nur in deine Datenbank zu kopieren brauchst. Dann noch die Konfiguration über "Aktionen - Konfiguration" ausführen und schon kannst die deine Exports frei definieren.

eknori

P.S.die Datei ist mit winrar 3.0 gepackt !!
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:das export to excel script ummodeln....
« Antwort #2 am: 11.10.02 - 13:37:11 »
 ;) ja dann sage ich zum upload danke und ich werde jetzt sofort sehen ob ich das schaffe :-\
mfg

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:das export to excel script ummodeln....
« Antwort #3 am: 11.10.02 - 13:59:24 »
wow....na ich denke, um sowas zu stricken sollte man länger als 5 monate mit lotus zusammen arbeiten, toll.

verbeugungen sind dir sicher.....danke!
ich hatte mir das zwar wesentlich kleiner mit weniger aufwand vorgestellt, aber das ist für mich privat zum lernen einfach genial.
nur leider brauche ich damit an der produktiven datenbank garnicht ankommen. ein script unter einer aktion, höchstens in einem agent, das wäre toll. ich glaube das erst-gepostete script ist doch auch von dir @eknori! gibt es hier die möglichkeit eine kleinigkeit zuändern, zB das feld "vorteil" und "nachteil" aus der form "dokument" sollenj ausgelesen werden und zu ms excel geschickt werden?

also, nochmals danke..........das wochenende ist gerettet, denn deinen export2excel werde ich zerflücken, um vom meister zu lernen.

denoch wäre ein weiterer vorschlag zum genannten thema echt prima
mfg

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:das export to excel script ummodeln....
« Antwort #4 am: 11.10.02 - 14:39:06 »
Also, im Laufe der Abarbeitung liegen die Spaltennamen nicht mehr im Klartext vor.
Du musst also vorher auszählen, an welcher Stelle "Vorteil" und Nachteil liegen

nehmen wir mal an, in Spalte 2 und 5

Dann kannst du das so lösen

in den Programmteil

      ...
      For cols=0 To maxcols-1  
         getfield = Cstr(datadoc.ColumnValues( cols ))  
         xlsheet.Cells(rows,cols+1).Value = getfield  
      Next  
     
      ...

fügst du folgendes ein

      For cols=0 To maxcols-1  

         if cols = 1 OR Cols = 4 then

         getfield = Cstr(datadoc.ColumnValues( cols ))  
         xlsheet.Cells(rows,cols+1).Value = getfield  

         end if
 
     Next  

dann exportiert das Script nur die Spalten 2 und 5 ( Zählung beginnt ja bei 0)

das sollte es tun.

zwar hast du noch alle überschriften, die überflüssigen Spalten kannst du ja dann aus dem ExcelSheet rauslöschen.

hoffe, das hilft

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re:das export to excel script ummodeln....
« Antwort #5 am: 11.10.02 - 15:00:43 »
@ eknori

klappt genauso, wie ich es mir vorgestellt habe und dafür bin ich dir schon wieder dankbar und verspreche hoch und heilig:
"ich übernehme nicht nur, sondern schaue mir auch die beitrag an, um auch bald in die situation zu kommen im script zu helfen ;)
danke und an alle ein schönes wochenende
bis montag, oder vielleicht auch zum wochenende!!!
grüsse aus hamburg

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz