Domino 9 und frühere Versionen > Entwicklung
Excel-Datei in Notesdokument öffnen
animate:
wie schon erwähnt wurde, musst du deine Parameter in LS anders übergeben, als in dem Code, der vom Makrorekorder erzeugt wird, nämlich in Klammern nach dem Funktionsnamen.
Syntax aus der Excel-Hilfe:
--- Zitat ---
Ausdruck.Add(Before, After, Count, Type)
Ausdruck Erforderlich. Ein Ausdruck, der eines der oben aufgeführten Objekte zurückgibt.
Before Optionaler Variant-Wert. Ein Objekt, das das Blatt festlegt, vor dem das neue Blatt eingefügt werden soll.
After Optionaler Variant-Wert. Ein Objekt, das das Blatt festlegt, nach dem das neue Blatt eingefügt werden soll.
Count Optionaler Variant-Wert. Die Anzahl der hinzuzufügenden Blätter. Der Standardwert ist Eins.
Type Optionaler Variant-Wert. Legt den Blattyp fest. Kann eine der folgenden XlSheetType-Konstanten sein: xlWorksheet, xlChart, xlExcel4MacroSheet oder xlExcel4IntlMacroSheet. Der Standardwert ist xlWorksheet.
Hinweise
Wenn Before und After nicht angegeben werden, wird das neue Blatt vor dem aktiven Blatt eingefügt.
--- Ende Zitat ---
qp:
Hi,
danke für die Hilfe!
Hat aber alles nicht funktioniert. Letztlich habe ich es doch noch geschafft, aber über Umwege.
Für alle, die es interessiert - hier eine kurze Beschreibung:
Ich lasse das Exceldokument über eine Aktion öffnen. In dieser Aktion lasse ich im Backend ein Dokument öffnen, dem ich zwei RT-Felder einfüge. In einem erzeuge ich ein embedded object
Set varObj = rtitem.EmbedObject (EMBED_OBJECT, "", "PfadMitDatei, "OLEObject")
Anschliessend weise ich dem Backenddokument Formname und Fenstergrösse zu, lasse es neu berechnen und öffne es im Frontend.
' Embedded Object auf Fenstergrösse maximieren
object.FitToWindow = True
' Berechnete Felder in der Maske neu berechnen
Call docExcel.ComputeWithForm(False, False)
' Dokument im Edit-Modus im Frontend öffnen
Call ws.EditDocument (True, docExcel)
Das FrontendDok besitzt die zwei RT-Felder. Weiterhin ist in den Eigenschaften unter "Auto-Start" eingestellt, dass das erste OLE-Objekt automatisch gestartet wird.
Im Postopen-Bereich ist folgendes eingetragen:
Sub Postopen(Source As Notesuidocument)
' NotesVariablen
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
' Allgem. Variablen
Dim varObj As Variant
' Frontend-Dokument holen
Set uidoc = ws.CurrentDocument
' Cursor in erstes RT-Feld setzen
Call uidoc.GotoField("Body")
' OLE-Objekt erzeugen und Handle an Variant-Variable übergeben
Set varObj = uidoc.CreateObject("OLEObject", "Excel.Sheet")
End Sub
Damit lassen sich neben Exceldokumenten auch Worddokumente öffnen.
ciao und gute Nacht
qp
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln