Domino 9 und frühere Versionen > Entwicklung
Variable als Ausdruck verwenden
ata:
... in einer Feldberechnung kannst du kein LS verwenden, sondern nur Formeln...
... mit LS sieht das dann so aus
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim wert1 as long
dim wert2 as long
dim formel as string
Dim vVResult as Variant
Set doc = ws.CurrentDocument.Document
wert1 = 250
wert2 = 13
doc.Wert1 = wert1
doc.wert2 = wert2
formel = "wert1 + wert2"
vResult = Evaluate( formel , doc )
ata
tabama:
ist ja egal, ich kann ja den Feldinhalt mit "varialbe = doc.feld(0)" übernehmen aber:
Notes bringt bei " formel = "wert1 + wert2" den Fehler: "vResult = Evaluate( formel , doc )"
und genau das ist mein Problem. Die Formel ist nicht immer gleich (sprich konstant). Sonst könnte ich sie ja fest ins script übernehmen.
Vieleicht klappts ja doch irgendwie.
ata:
... ich verwende daß bei parametrisierten Excel-Exporten. Dabei werden in einem Feld Formeln hinterlegt und mit Evaluate auf das Dokument angewendet. Bei der einfachen Formel von dir dürfte das kein Problem sein. Allerdings hat der Evaluate auch seine Grenzen - keine UI-Befehle zum Beispiel -
... vielleicht brauch ich mehr Details. Wenn du mir eine abgespeckte Versiondeines Codes zur Verfügung stellst, dann kann ich dir vielleicht weiter helfen - auch was deine Fehlermeldung betrifft - wie heißt die denn im Wortlaut?
ata
tabama:
Hier meine Aufgabe:
--- Code: ---Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.document
'das Document hat Felder mit vorhandenen Werten
'die ich der Einfachheithalber hier setze:
doc.wert1 = 200
doc.wert2 = 300
doc.formel = "doc.wert1(0) + doc.wert2(0)"
Dim ergebnis As Variant
ergebnis = doc.formel(0)
Messagebox(ergebnis)
End Sub
--- Ende Code ---
Das Probelm:
ergebnis ist nicht 500, sondern der String "doc.wert1(0) + doc.wert2(0)"
koehlerbv:
Na, da macht doch Notes genau das, was Du von ihm verlangt hast.
Die Lösung wurde gleich zu Beginn von Driri gepostet:
doc.formel = Cstr (doc.Wert1 (0) + doc.Wert2(0))
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln