Autor Thema: Bitte Erklärung: Excel in Notes nutzen.  (Gelesen 4912 mal)

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Bitte Erklärung: Excel in Notes nutzen.
« am: 10.09.02 - 10:34:12 »
Hallo zusammen,
könnte mir mal jemand erklären, wie ich mit Lotus Notes auf Excel zugreifen kann und folgende Werte in die Tabelle schreiben kann.
Name
Vorname

Dies sind auch die Feldnamen im Dokument.

Über eine Antwort und eine Erklärung würde ich mich sehr freuen.

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

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #1 am: 10.09.02 - 10:47:22 »
Hi,
hier ist ein Script mit dem ich ein Worddokument aufrufe.
Ich habe bisher halt nur auf Word zugegriffen,
in dem WordDokument waren Felder eingefügt (hier: IDENTNUMMER)
Vielleicht kannst Du das Script ja umstricken

Don Pasquale

Code
      
     Dim workspace As New NotesUIWorkspace
     Dim uidoc As NotesUIDocument
     Set uidoc = workspace.CurrentDocument       
     Dim object As NotesEmbeddedObject       
     Dim s As New notessession
     Dim heute As New notesdatetime("heute")
     Dim word As Variant
     Dim wordoc As Variant
     Dim Worddokumentname As String
     Dim Identnummer As String
     'Predefined values: (replace with field values from uidoc)
     Worddokumentname = uidoc.FieldGetText("subject")
     
'Create the Word object:
     Set word = CreateObject("Word.Application") 'Create Word object
    'Create a new document based on the template "TESTVORLAGE01.DOT"      
     Call word.documents.add("C:\Vorlagen\Vorlage01.dot")       
     Set worddoc = word.activedocument 'Get a handle for the active document
     
'Assign the field values:
     
     worddoc.FormFields("IDENTNUMMER").result = uidoc.FieldGetText("Identnummer")
     
     worddoc.saveas(Worddokumentname) 'save the document with the filename of "user"
     word.visible = True 'Comment this line if you don't want to show Word.
'word.quit 'remove comment if you want to close rather than show Word.
     
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #2 am: 10.09.02 - 11:57:20 »
Hi,

ich hab vor einiger Zeit mal eine Klasse für den Zugriff auf Excel geschrieben. Ist mit Sicherheit noch nicht das Non-Plus-Ultra, aber sie funktioniert. Ich will sie irgendwann, wenn mal Zeit ist, neu machen.

Packe die Codezeilen in den Declaration - Teil einer Script-Bibliothek.

Zitat

Class cExcel
     
     objExcel As Variant
     objSheet As Variant    
     
'  Konstruktor
     Sub New
           Set objExcel = Nothing
           Set objExcel = CreateObject("Excel.Application")          
     End Sub
     
'  Destruktor-Prozedur
     Sub Delete
           Set objExcel = Nothing        
     End Sub
     
' Bringt Excel als Vollbild in den Vordergrund
     Sub ActivateExcel
           objExcel.Visible = True  'Excel sichtbar machen
           objExcel.Windows(1).WindowState = -4137
           objExcel.Windows(1).Activate
     End Sub
     
'  Erstellt eine neue Arbeitsmappe    
     Sub NewWorkbook
           Call objExcel.Workbooks.Add
           Set objSheet = objExcel.Workbooks(1).Worksheets(1)
     End Sub
     
'  Schreibt einen Wert in die angegebene Zelle
     Sub SetCellValue(sZiel As Variant, sValue As Variant)
           objSheet.Range(sZiel).Value = sValue
     End Sub
     
' Formatiert einen Bereich als Text
     Sub FormatRangeText(sZiel As Variant)        
           objSheet.Columns(sZiel).Select
           objExcel.Selection.NumberFormat ="@"
           objSheet.Range("A1").Select
     End Sub
     
'Formatiert ein Arbeitsblatt mit den Attributen vertikale Textausrichtung oben und
'optimale Spaltenbreite
     Sub FormatRangeAlignment
           objSheet.Cells.Select  'Gesamtes Arbeitsblatt markieren
           objExcel.Selection.VerticalAlignment = -4160  'Vertikale Ausrichtung nach oben
           objExcel.Selection.Columns.AutoFit  'Optimale Spaltenformel
           objExcel.Selection.Rows.AutoFit  'Optimale Spaltenhöhe
           objSheet.Range("A1").Select          
     End Sub
     
     
End Class




Beispiel:


...

Dim oExcel As cExcel    

Set oExcel = New cExcel  'Erstellen eines OLE-Objects
Call oExcel.NewWorkbook 'Erstellt neue Arbeitsmappe
Call oExcel.SetCellValue("A1", doc.Feldname(0)) 'Feldinhalt in Zelle A1
Call oExcel.ActivateExcel  'Excel in den Vordergrund
Delete oExcel
...



Axel

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #3 am: 10.09.02 - 12:01:19 »
Hi,

ich hab noch was gefunden. Schau mal hier, vielleicht kannst du damit was anfangen.

http://217.160.137.156/html/cgi-bin/yabb/YaBB.pl?board=Downloads;action=display;num=1014050197

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #4 am: 10.09.02 - 12:30:00 »
Hi Axel,

Call oExcel.SetCellValue("A1", doc.Feldname(0)) 'Feldinhalt in Zelle A1

hier bekomme ich eine "Variant does not contain Object"
Meldung - Wo habe ich etwas übersehen ??

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

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #5 am: 10.09.02 - 12:46:58 »
Hi,

hast du die Variable doc (Typ NotesDocument) initialisiert und einen gültigen Feldnamen benutzt ?


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Re: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #6 am: 10.09.02 - 12:56:41 »
Jetz sagt er bei mir:
Object variable not set

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

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #7 am: 10.09.02 - 13:03:04 »
Hi,

hab ihr auch die Script-Bibliothek, in der die Klasse enthalten ist, eingebunden ?

Angenommen die Bibliothek heisst libExcel, dann muß die Bibliothek mit

  uses "libExcel"  (im Options - Teil)

eingebunden werden.

Axel


« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Re: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #8 am: 10.09.02 - 13:10:35 »
Ich habe alles so wie es seien sollte.
Code

     Dim objExcel As CExcel      
     Dim doc As NotesDocument
     
     ' Erstellen eines OLE-Objects
     Set objExcel = New CExcel
     ' Erstellt neue Arbeitsmappe
     Call objExcel.NewWorkbook
     ' Ziel, Feldinhalt
     Call objExcel.SetCellValue("A1", doc.Feldname(0))
     ' Excel in den Vordergrund      
     Call objExcel.ActivateExcel
     Delete objExcel


Das habe ich und deine Scriptbibliothek.

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

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #9 am: 10.09.02 - 13:26:49 »
Hi,

hier mal ein komplettes Beispiel für einen Aktionsbutton im Dokument:

(Options)
Use "libExcel"

Click
Sub Click(Source As Button)

 Dim ws As New NotesUIWorkspace
 Dim uidoc As NotesUIDocument
 Dim doc As NotesDocument
 Dim oExcel As cExcel      

 Set uidoc = ws.CurrentDocument
 Set doc = uidoc.Document

 Set oExcel = New cExcel  'Erstellen eines OLE-Objects
 Call oExcel.NewWorkbook 'Erstellt neue Arbeitsmappe
 Call oExcel.SetCellValue("A1", doc.Feldname(0)) 'Feldinhalt in Zelle A1
 Call oExcel.ActivateExcel  'Excel in den Vordergrund
 Delete oExcel

End Sub

Anmerkungen:
Die Script-Bibliothek mit der Klasse heißt libExcel.
Feldname muss durch den Namen, eines in der Maske vorhandenen Feldes, ersetzt werden.

Noch eine Anmerkung zur Script-Bibliothek: man muss darauf achten, dass im Options-Teil Option Public eingetragen ist. Sonst ist die Klasse ausserhalb der Bibliothek nicht sichtbar.

Axel

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Re: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #10 am: 10.09.02 - 13:32:51 »
Hi Axel,
wenn du mir jetz noch sagen kannst, wie man die Datei Automatisch speichern kann und das Die erste Zeile mit Fetter Schrift ist, dann bin ich dir mehr als dankbar.

Bin dir jetzt schon was schuldig.

Gruß
 Darkface

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #11 am: 10.09.02 - 13:49:30 »
Hi,

hab ich in Excel noch nicht gemacht. Geb mir bitte ein bisschen Zeit, dann krieg ich es raus. In Word hab ich's mal hingekriegt.

Axel

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Re: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #12 am: 10.09.02 - 14:12:17 »
Das mit der Fetten Schrift geht so:
Code

m_oSheet.Range("A1 : H1").Font.Bold = True


Aber das Speichern, das macht Probleme.
Danke schon mal.


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

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #13 am: 10.09.02 - 14:30:11 »
Hi,

hier eine Lösung zum Speichern.

Erweitere die Klasse um folgendene Methode:

Zitat

Sub SaveWorkbook(strName As String)      
 Call objExcel.ActiveWorkbook.SaveAs(strName)
End Sub


Der Dateiname wird als Parameter übergeben.


Der Aufruf sieht dann so aus:

Call oExcel.SaveWorkbook("d:\temp\test.xls")


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #14 am: 10.09.02 - 14:34:19 »
Hi Axel,

jetzt klappt es bei mir auch.

Allerdings produziert
Call oExcel.SetCellValue("A1", doc.Feldname(0))
immer einen Type Mismatch

So klappt´s :
Call oExcel.SetCellValue("A1",doc.Feldname)


Gruß

Don Pasquale

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

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Re: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #15 am: 10.09.02 - 14:41:08 »
Jetz noch ne größer Frage:
Gibt es auch bei diesem Script die Möglichkeit, wenn man 20 Dokumente hat alle in diese Excel Tabelle zu schreiben.
Mit einem Agenten im Backend?

Gruß
 André
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #16 am: 10.09.02 - 14:49:15 »
Hi,

ich denke schon. Das ist dann ein getriggerter Agent (d.h. er läuft bei einem bestimmten Ereignis oder zu einer bestimmten Uhrzeit). Er darf dann keine Forntend-Klassen (NotesUIDocument usw.) enthalten.

Ganz wichtig ist dabei auch, wenn dieser Agent auf dem Server läuft, dass dort Excel installiert ist.

Vor einem solchen Problem stand ich noch nicht. Hier fehlt mir die Erfahrung.


Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Darkface

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
  • I see You next life !!
Re: Bitte Erklärung: Excel in Notes nutzen.
« Antwort #17 am: 10.09.02 - 14:51:57 »
Hi Axel,
dank für deine Hilfe. Du bist schwer in Ordnung.

DANKE !! ;D

Gruß
 Darkface ;)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz