Autor Thema: export to excel - button statt menu  (Gelesen 6839 mal)

Offline luna

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.362
  • Geschlecht: Weiblich
  • mein name ist hase...
    • sixtnix homepage
export to excel - button statt menu
« am: 04.10.02 - 12:12:45 »
hallo,

ich hab mir hier aus dem forum eknori's script gezogen, mit dem man ganz einfach und superschoen seine ansicht ins excel exportieren kann. das funzt super gut, solange es im menu unter actions ausgefuehrt wird.

leider sind meine user blind, und deshalb haette ich das gerne in der aktionsleiste auf einem button per click (so wie new main dokument).

ich hab dazu eine neue shared action angelegt, und dort das script hinkopiert:

Sub Initialize
     Dim Session As New NotesSession ,db As NotesDatabase
     Dim sourceview As NotesView,sourcedoc As NotesDocument
     Dim dataview As NotesView, dc As NotesDocumentCollection
     Dim datadoc As NotesDocument, maxcols As Integer
     Dim WS As New Notesuiworkspace
     Dim ViewString As String, Scope As String, GetField As Variant
     Dim C As NotesViewColumn, FieldName As String, K As Integer,N As Integer
     Dim xlApp As Variant, xlsheet As Variant, rows As Integer, cols As Integer
     Dim nitem As NotesItem  , entry As NotesViewEntry, vwNav As NotesViewNavigator
     Dim ShowView()  As Variant, i As Integer, VList As Variant, ColVals As Variant
     
     Set db = session.CurrentDatabase   'link to current database
     
        'fetch then display a list of views in the database
     Vlist= db.views
     K=Ubound(Vlist)  'get size of list
     Redim Preserve ShowView(K)
     N=-1
     For i = 0 To K
           If Len(Vlist(i).Name) >0 Then  
                 FieldName=Trim(Vlist(i).Name)
                 If Mid(Fieldname,1,1) <>"(" Then  'do not show hidden views
                       N=N+1                          
                       ShowView(N) = FieldName
                 End If
           End If  
     Next i  
     Redim Preserve ShowView(N)
     'now sort the list - by default views are listing in the order that they were created
     For i=0 To N
           For K=i To N
                 If  ShowView(i) > ShowView(k) Then
                       FieldName=ShowView(i)  
                       ShowView(i) = ShowView(k)
                       ShowView(k)=FieldName
                 End If
           Next k
     Next i  
     
     viewstring= ws.Prompt(PROMPT_OKCANCELLIST,"List of Views","Choose a View","",ShowView )
     If Len(viewstring)=0 Then Exit Sub
        'ViewString ="Dan's View"
     
     Set dataview = db.getview(ViewString)  'get selected view
     
     Set vwnav= dataview.createViewnav()
     
     rows = 1
     cols = 1
     maxcols=dataview.ColumnCount  'how many columns?
     
     Set xlApp = CreateObject("Excel.Application")  'start Excel with OLE Automation
     xlApp.StatusBar = "Creating WorkSheet. Please be patient..."
     xlApp.Visible = True
     xlApp.Workbooks.Add
     xlApp.ReferenceStyle = 2
     Set xlsheet = xlApp.Workbooks(1).Worksheets(1)   'select first worksheet
     
        'worksheet title
     xlsheet.Cells(rows,cols).Value ="View: " + ViewString + ", from Database: " +  db.title +",  Extract created on: " +  Format(Now,"mm/dd/yyyy HH:MM")
     
     xlApp.StatusBar = "Creating Column Heading. Please be patient..."
     
     rows=2  'column headings starts in row 2
     For K=1 To maxcols
           Set c=dataview.columns(K-1)
           xlsheet.Cells(rows,cols).Value = c.title
           cols = cols + 1
     Next K
     
     Set entry=vwnav.GetFirstDocument
     rows=3   'data starts in third row
     Do While Not (entry Is Nothing)
           
           For cols=1 To maxcols  
                 colvals=entry.ColumnValues(cols-1)      'subscript =0
                 scope=Typename(colvals)
                 Select Case scope
                 Case "STRING"
                       xlsheet.Cells(rows,cols).Value ="'" +  colvals
                 Case Else      
                       xlsheet.Cells(rows,cols).Value = colvals
                 End Select                      
           Next cols              
           xlApp.StatusBar = "Importing Notes Data   -    Document " & rows-1 '& " of " & dc.count & "."  
           rows=rows+1
           Set entry = vwnav.getnextdocument(entry)                
     Loop
     
     xlApp.Rows("1:1").Select
     xlApp.Selection.Font.Bold = True
     xlApp.Selection.Font.Underline = True
     xlApp.Range(xlsheet.Cells(2,1), xlsheet.Cells(rows,maxcols)).Select
     xlApp.Selection.Font.Name = "Arial"
     xlApp.Selection.Font.Size = 9
     xlApp.Selection.Columns.AutoFit
     With xlApp.Worksheets(1)
           .PageSetup.Orientation = 2
           
           .PageSetup.centerheader = "Report - Confidential"
           .Pagesetup.RightFooter = "Page &P" & Chr$(13) & "Date: &D"
           .Pagesetup.CenterFooter = ""
     End With
     xlApp.ReferenceStyle = 1
     xlApp.Range("A1").Select
     xlApp.StatusBar = "Importing Data from Lotus Notes Application was Completed."
        'xlapp.ActiveWorkbook.saveas "c:VX" + Trim(Format(Now,"yyy"))   'save with generated name
     dataview.clear  
     
     Set xlapp=Nothing   'stop OLE
     Set db=Nothing
End Sub
leider aber passiert gar ueberhaupt nix, wenn ich dann anschliessen auf diesen button klicke. er reagiert einfach nicht.

bei options hab ich gar nix drin
bei "click" steht: Sub Click(Source As Button)
     
End Sub
und bei "initialize" steht obige formel drin.

was mach ich falsch? oder geht das ueberhaupt?

danke und gruss,
daniela
im moment in mutterschutz

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re: export to excel - button statt menu
« Antwort #1 am: 04.10.02 - 12:29:50 »
Hi Luna,

bestimmt gehört noch irgendein Teil des Codes in den Bereich Declarations.

vermutet

Don Pasquale
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: export to excel - button statt menu
« Antwort #2 am: 04.10.02 - 12:45:38 »
du musst den code in den Click-event kopieren. Initalize funktioniert nur bei Agenten ...

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline luna

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.362
  • Geschlecht: Weiblich
  • mein name ist hase...
    • sixtnix homepage
Re: export to excel - button statt menu
« Antwort #3 am: 04.10.02 - 13:00:48 »
hallo ulrich,

schoen, dass du da bist.

also, das ist ja eben der haken. entweder spinn ich oder das notes.

ich weiss, dass das in den click rein muss. aber sobald ich bei dem "click" das lotus script reinpaste, speichere und schliesse und wieder oeffne, ist das script in initialize drin und nicht mehr in "click". hab das jetzt bestimmt schon 5 mal ausprobiert.

sacklzement nochmal ! das wuerde nur gehen, wenn es eine formel ist. da gehts, aber es ist ja keine formel, es ist ja ein script, wie du bestens weisst.

was kann ich tun?

danke und gruss,
daniela
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
im moment in mutterschutz

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re: export to excel - button statt menu
« Antwort #4 am: 04.10.02 - 13:04:40 »
Hi Luna,

ich habe es gerade bei mir ausprobiert,
und wenn man Deinen Code 1:1 kopierst
und nur die erste und letzte Zeile weglässt,
dann klappt es bei mir.

Sub Initialize
End Sub


Ciao

Don Pasquale

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: export to excel - button statt menu
« Antwort #5 am: 04.10.02 - 13:09:35 »
Hi Dani,

habs dir nochmal hochgeladen

http://www.eknori.de/downloads/Export2Excel.zip

diesmal mit shared action

Ulrich
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: export to excel - button statt menu
« Antwort #6 am: 04.10.02 - 13:11:06 »
@Don Pasquale:
ich denke auch, das das der fehler war...

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline luna

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.362
  • Geschlecht: Weiblich
  • mein name ist hase...
    • sixtnix homepage
Re: export to excel - button statt menu
« Antwort #7 am: 04.10.02 - 13:16:58 »
hallo ihr beiden,

viiiiiiiielen dank. das war's. wie dumm von mir. aber mit script kenn ich mich halt noch nicht so gut aus. ich werde bei click actions in zukunft besser aufpassen.

vielen dank,
gruss,
daniela  ;D ;D ;D ;D
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
im moment in mutterschutz

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re: export to excel - button statt menu
« Antwort #8 am: 07.10.02 - 10:45:38 »
Hi Daniela,
Zitat
viiiiiiiielen dank. das war's. wie dumm von mir.

Schnickschnack, Hier gibt´s kein Dumm.
Ich könnte Dir ein halbes Dutzend Geschichten erzählen, wo ich _stundenlang_ einen Fehler gesucht habe wie ein Feld richtig anspreche, dabei hätte ich den Feldnamen nur Richtig schreiben müssen
oder
z.B. den Vergleichsoperator zu verwenden, statt des Zuweisungsoperator also "=" statt ":="  

Also, Du bist in bester Gesellschaft

ciao

Don Pasquale




« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Grabby

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Weiblich
  • In der Ruhe liegt die Kraft!
Re:export to excel - button statt menu
« Antwort #9 am: 19.02.03 - 16:25:54 »
Hallo zusammen.

Dieses Script funktioniert ja wunderbar, aber ich habe das Problem, dass ich in meiner Ansicht, die ich in ein Excel-Sheet exportieren möchte, an die 20 Spalten habe, er aber beim Export nur 9 Spalten in die Excel-Tabelle bringt.

Kann ich das irgendwie erweitern?

Danke für Eure Hilfe.

Grabby

bificypdog

  • Gast
Re:export to excel - button statt menu
« Antwort #10 am: 12.02.04 - 11:07:01 »
Gibt es eine Möglichkeit das Script für Notes 4.5.x anzupassen?
Beim Prompt in Zeile 41 steigt der 4er Client nämlich aus.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:export to excel - button statt menu
« Antwort #11 am: 12.02.04 - 11:22:16 »
das ws.prompt gibt es erst ab Version 5

du müsstest zunächst mal alle views per script ermitteln; etwa so

Forall view In db.views
msgString = msgString & Chr(10) & view.Name
End Forall

Dann kannst du das Ergebnis mit der DialogBox methode der NotesUIWorkspace Class dem User zur Auswahl anbieten.

... oder update auf R5  :)

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

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:export to excel - button statt menu
« Antwort #12 am: 12.02.04 - 20:48:13 »
Dieses Script funktioniert ja wunderbar, aber ich habe das Problem, dass ich in meiner Ansicht, die ich in ein Excel-Sheet exportieren möchte, an die 20 Spalten habe, er aber beim Export nur 9 Spalten in die Excel-Tabelle bringt.

Kann ich das irgendwie erweitern?

Kann ich nicht nachvollziehen. Habe das Script - leicht angepasst (rein optische Darstellung im Excel) - mit 23 Spalten im Einsatz, kein Problem.
Clients: 5.08, 5.011; Excel 2000

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline muR

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
  • Rock my life
Re:export to excel - button statt menu
« Antwort #13 am: 25.08.04 - 11:56:43 »
Hallo,

find das Script auch sehr gut und läuft ohne Probleme.
Ich würde es nur gerne daraushin abändern, daß es nur die markieten Einträge der View nach Excel überträgt und nicht alle. Hat jemand einen Plan wie ich das hinbekomme?  ???
Danke
Gruß muR

Driri

  • Gast
Re:export to excel - button statt menu
« Antwort #14 am: 25.08.04 - 13:13:50 »
Dann müßtest Du die DocumentCollection über die UnprocessedDocuments füllen.

Also

Set Dataview = db.UnprocessedDocuments

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz