Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Peacemaker am 31.01.05 - 12:00:19

Titel: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Peacemaker am 31.01.05 - 12:00:19
Hallo alle zusammen,

ich habe heute ein Problem das nur am Rande mit Notes Design zu tun hat. ich hoffe trotzdem das Ihr mir mit eurer Erfahrung helft. Folgendes Problem:

Ich möchte in fest vorgegebenene Feldern in einem Excel (alternativ wenn unmöglich (wie ich vermute) auch Lotus 1-2-3) Sheet bestimmte Werte einer Notes DB in ein vorgegebenes Feld (z.B. B:13) einlesen. Gibt es da irgendwelche Möglichkeiten? Ein simpler Exoprt in ein Excel ist zu wenig. Bietet da 1-2-3 irgendwelche Add-Ins? Bin recht ratlos. 1-2-3 bietet ja eine Art Formelsprache, die leider kein dblookup oder ähnliches kennt.

Vielen Dank
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Thomas Schulte am 31.01.05 - 12:04:13
Warum soll das unmöglich sein. Du musst dir im Script nur ein Excel Obejct besorgen und schon kannst du direkt auf jede einzelne Zelle der Arbeitsblätter zugriefen und die Werte die da drinstehen auslesen.

Thomas
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Peacemaker am 31.01.05 - 12:07:07
Ich brauche das ganze genau umgedreht - ich will in ein Excel feld werte aus einer LN DB einlesen. Aber danke für den Ansatz
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Thomas Schulte am 31.01.05 - 12:12:19
Ist der gleiche Weg. Schau dir den Excel Export von Eknori an, da ist das im Prinzip beschrieben.
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Peacemaker am 31.01.05 - 13:06:41
Sorry wenn ich nochmal nerve - aber ich sehe da keinen Zusammenhang in den Scripten und Texten wie ich excel sage das er inhalte einer LN DB darstellen soll. Umgekehrt funktioniert es , klar.

Hier geht es aber darum in ein bestimmtes feld (B:17 z.B) in Excel Daten aus einer DB zu querryn

*AufdemSchlauchsteh*


Danke
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Thomas Schulte am 31.01.05 - 13:22:15
Wenn du ein Excel File aus einer Ansicht mit Hilfe der ExportToExcel erstellst, dann ist der Ablauf im wesentlichen derselbe wie wenn du in eine bestimmte Zelle in einer definierten Excel Tabelle einen Wert reinschreibst.
In Worten:
Hol dir ein Excel Object über  Createobject such dir den Worksheet, such die Zelle, und schreib deine WErte da rein. Speicher das File ab und fertig ist die Laube.
Wenn du dir den Export2Excel von Eknori anschaust hast du da alle notwendigen Mechanismen dazu. Du braucjst sie dir nur noch anzuschauen und minimal umzubauen.

Thomas
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: klaussal am 31.01.05 - 13:30:30
@All,

möchte der Autor es nicht so haben, dass EXCEL oder 1-2-3 sich die Daten LoNo holt ?


Hab zwar 1-2-3 zuhause, aber keine Ahnung, ob und wie das funzt.

klaus
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: Thomas Schulte am 31.01.05 - 13:51:23
Klaus hat recht. Aber das geht auch. Da musst du dir dann halt in Excel ein Lotus Object holen und dann ein wenig COM Programmieren. Die Klassen sind die gleichen und die Methoden kannst du auch abkupfern.

Thomas
Titel: Re: Daten in Excel oder 1-2-3 aus LN DB "querryn"
Beitrag von: fritandr am 31.01.05 - 14:07:39
Hallo,

anbei ein kleines Excelmakro, das Dir aus Deinen Adressbüchern die Namen holt und in Excel überträgt. Da sollte eigentlich alles drin sein, was Du brauchst.

Frag mich nicht, wo ich das Makro herhabe. Ich habe es irgendwann mal irgendwo im Internet gefunden und gerade getestet. Generell läuft es. Dinge wie Fehlerhandling, ... musst Du Dir selbst einbauen.

Code
Sub lotusnab()
 
Dim session
Set session = CreateObject("Lotus.NotesSession")
 
'Dim db As NOTESDATABASE
Dim v As Variant 'NOTESVIEW
Dim vn As Variant 'NotesViewNavigator
Dim e As Variant ' NotesViewEntry
Dim doc As Variant ' NOTESDOCUMENT
 
Dim strFullname As String
Dim strForm As String
Dim itemFullname
Dim itemForm
Dim books As Variant
 
 
   Call session.Initialize
   books = session.AddressBooks
    
   For Each Db In books   ' Iterate through each address book.
   Call Db.Open
 
   If Db.ISOPEN Then
   'Set db = s.GETDATABASE("", "OverviewExamples.nsf")
 
    Set v = Db.GETVIEW("($PeopleGroupsFlat)")
    Set vn = v.CreateViewNav()
    Set e = vn.GETFIRSTDOCUMENT()
    While Not (e Is Nothing)
        Set doc = e.DOCUMENT
   
        Set itemFullname = doc.GETFIRSTITEM("Fullname")
        If (itemFullname Is Nothing) Then
           
        Else
            Set itemForm = doc.GETFIRSTITEM("Form")
            If (itemForm Is Nothing) Then
       
            Else
                strForm = itemForm.Text
                If strForm = "Person" Or strForm = "Group" Then
                    strFullname = itemFullname.Text
                    i = i + 1
                    Cells(i, 1).Value = strFullname
                End If
            End If
        End If
        Set e = vn.GETNEXTDOCUMENT(e)
    Wend
   End If
    
  Next
End Sub

Viele Grüße
Andreas