Autor Thema: Diagramme??  (Gelesen 9006 mal)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Diagramme??
« Antwort #20 am: 15.05.10 - 11:10:10 »
Anbei ein kleines funktionierendes Beispiel, das Werte eines Notes-Dokuments in einem in Excel erstellten Diagramm innerhalb des gleichen Notes-Dokuments anzeigt.

Schritt 1 in Excel:

Man erstellt eine Exceltabelle mit einer (oder mehreren) Zahlenreihen (in meinem Beispiel zwei Zahlen in den Zellen A1 und A2).
Anschließend erstellt man ein Diagramm in Excel, das die Zahlenreihen wie gewünscht anzeigt.

In meinem Beispiel speichere ich die Datei als Vorlage auf der Festplatte, in einem produktiven Umfeld würde ich die Datei in einem Richtextfeld eines Einstellungsdokuments anhängen und zur Laufzeit auf die Platte schreiben (idealerweise ins Tempverzeichnis) und anschließend wieder löschen.

Schritt 2 in Notes:

In Notes erstellt man eine Maske mit den Feldern, deren Inhalt im Diagramm angezeigt werden soll (hier Wert1 und Wert2).
Weiterhin wird ein Richtextfeld benötigt, in das das Diagramm abgelegt werden soll. Das Feld habe ich "Diagramm" genannt, es muss bearbeitbar sein.
Im Querysave habe ich folgende Routine eingefügt, die die Daten in Excel schreibt und das Diagramm in das Richtextfeld übernimmt. Natürlich sollte die Routine nur ausgeführt werden, wenn sich die Werte geändert haben, aber das habe ich zur Übersichtlichkeit weggelassen.

Sub Querysave(Source As Notesuidocument, Continue As Variant)
   'Dateiname der Musterdatei
   Const exceldatei = "c:\export\diagramm.xls"
   'Temporärer Dateiname zum Speichern
   Const exceldatei2 = "c:\export\diagramm2.xls"
   
   'Das aktuelle Dokument
   Dim doc As NotesDocument
   Set doc = Source.Document
   
   'Excel unsichtbar starten, Musterdatei öffnen
   Dim excel As Variant
   Set excel = CreateObject ("Excel.Application")
   excel.Application.Visible = False
   excel.Workbooks.Open (exceldatei)

   'Werte in Exceltabelle aktualisieren
   excel.Range ("A1").Select
   excel.ActiveCell.FormulaR1C1 = doc.Wert1 (0)
   excel.Range ("A2").Select
   excel.ActiveCell.FormulaR1C1 = doc.Wert2 (0)

   'Diagramm in die Zwischenablage kopieren
   excel.ActiveSheet.ChartObjects ("Diagramm 1").Activate
   excel.ActiveChart.ChartArea.Select
   excel.ActiveChart.ChartArea.Copy      
   
   'Diagramm in Richtextfeld einfügen, vorher alles markieren, um bisherigen Inhalt zu löschen
   Call Source.GoToField ("Diagramm")
   Call Source.SelectAll
   Call Source.Paste
   
   'Excel speichern, schließen, temporäre Datei löschen
   Call excel.Save (exceldatei2)
   Call excel.Application.Quit
   Kill exceldatei2
End Sub

Offline Linda12345

  • Frischling
  • *
  • Beiträge: 24
Re: Diagramme??
« Antwort #21 am: 18.05.10 - 09:18:43 »
Danke für Eure Vorschläge aber ich ich werde das ganze jetzt einfach direkt und ausschließlich in Excel umsetzten. Kriege das in Notes nicht hin....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz