Domino 9 und frühere Versionen > ND7: Entwicklung

Microsoft Office Excel-Diagramm Object befüllen

(1/4) > >>

Legolas:
Hallo Forum,

ich hoffe, ihr könnt mir weiterhelfen.
Es steht zwar eine Menge Infos übe den Datenexport nach EXCEL usw., ich habe jedoch keine Infos zu meinem Problem gefunden.

Und zwar möchte ich in eine Maske ein Objekt vom Typ "Microsoft Office Execel-Diagramm" einfügen, um gewisse Informationen grafisch darzustellen.

Wie kann ich die Werte des Objekts verändern?
Ich bekomme es nicht hin, das Objekt zu modifizieren.
Wie muss ich hier vorgehen?

Kennt oder hat jemand ein Beispiel?

Grüße
Bernd

Demian:
wenn du im Designer einen Doppelklick auf das Diagramm machst, kannst du es bearbeiten. Es erscheinen 2 Tabellen (Diagramm und Tabelle1). Auf Tabelle 1 sind die Werte die im Diagramm angezeigt werden. Beim Doppelklick geht auch das Eigenschaftenfenster auf, in dem du den Diagrammtyp usw. einstellen kannst.

Legolas:
Hallo Demian,

danke für die Rückmeldung.
Aber das ist mir schon bekannt.
Genau diese Werte möchte ich ja per Lotus Script manipulieren.

Gruß
Bernd

Demian:
sorry. Das hatte ich mir fast gedacht. Mir hat sich diese Frage auch schon öfter gestellt. Ich dachte dass man ein Handle über NotesembeddedObject.Object bekommt, aber entscheidend ist NotesembeddedObject.Activate(...)

Ich habe es mal mit einem manuell eingefügten Object probiert (aus Datei). Folgender Code gibt auf jeden Fall ein Handle auf die Tabelle und kann diese bearbeiten.

Dim work As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As NotesRichTextItem
   Dim Table As NotesEmbeddedObject
   Dim Handle As Variant
   
   Set uidoc = work.CurrentDocument
   Set doc = uidoc.Document
   Set item = doc.GetFirstItem("Unbenannt")
   Set table = item.GetEmbeddedObject("Microsoft Office Excel-Arbeitsblatt")   
   Set Handle = table.Activate(True)
   'Handle.Parent.ActiveWindow.WindowState = -4137
   Handle.sheets(1).range("a1").value = "Testtext"



Allerdings weiß ich noch nicht, wie die Änderungen dann in das doc übernommen werden. Eventuell muss man die "neue" Datei dann nochmal anhängen. Kann da erst heute abend nochmal weiter suchen (bin auf der Arbeit  ;D). Aber vielleicht hilft es dir ja ein bisschen.

Demian:
edit:

Also übernehmen tut er die Werte bei folgendem Code schon:

Dim work As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As NotesRichTextItem
   Dim Table As NotesEmbeddedObject
   Dim Handle As Variant
   
   Set uidoc = work.CurrentDocument
   Set doc = uidoc.Document
   Set item = doc.GetFirstItem("Unbenannt")
   Set table = item.GetEmbeddedObject("Microsoft Office Excel-Diagramm")   
   Set Handle = table.Activate(True)
   'Handle.Parent.ActiveWindow.WindowState = -4137
   Handle.sheets(2).range("b2").value = "155"
   Handle.save
   
   Call doc.Save(True,False)

Nur die Aktualisierung des Diagramms erfolgt erst wenn man das Dok im Bearbeitungsmodus nochmal öffnet und einen Doppelklick auf das Diagramm macht. Eventuell liegt das aber dran, dass ich das jetzt aus uidoc heraus laufen lasse.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln