Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Ole2000 am 11.08.05 - 09:19:41

Titel: Export von Formel nach Excel
Beitrag von: Ole2000 am 11.08.05 - 09:19:41
Ich versuche Formeln, die mit Script dynamisch Zusammengesetzt werden nach Excel zu übertragen.
Die Übertragung von Daten in die Zellen klappt.
Bei der übertragung von Formeln jedoch sehe ich z.B. folgendes:

Im Scriptdebugger: E10-C10-A10
In Excel kommt an: 'E10' - $10:$10-'A10'

Ich hab in den zahlreichen Beiträgen zum Thema Excel schon viele guten Anregungen gefunden, aber nicht die Lösung für mein Problem.

Vielleicht kann ja jemand helfen.

Vielen Dank schon mal vorab.
Titel: Re: Export von Formel nach Excel
Beitrag von: Axel am 11.08.05 - 09:25:53
Hi,

ein bisschen Code würde uns die Sache sehr erleichtern. Alles andere ist Kaffeesatzleserei bzw. ein Befragen der Kristallkugel. Und die ist heute etwas beschlagen. ;D


Axel
Titel: Re: Export von Formel nach Excel
Beitrag von: Ole2000 am 11.08.05 - 09:55:24
Das Script, welches die Formel einträgt
xlRange: die Zielzelle in Execl, wird auch gefüllt
xlFormula: die eintztragende Formel

xlSheet1.Range(xlRange).FormulaR1C1 = xlFormula

Die Formel:
rc = MakeFormula("="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")" )

xl_DataRowAkt ist ein Integer

Ergibt D10 - C10 - E10 im Debugger, also korrekt
in Excel steht exact das hier: ='D16'-$P:$P-'E16'
Titel: Re: Export von Formel nach Excel
Beitrag von: Axel am 11.08.05 - 13:49:56
Hi,

die Kristallkugel ist nicht viel klarer geworden.

Was macht MakeFormula und wie sieht denn da das Ergebnis aus? Wie wird xlFormula gefüllt und was ist das für ein Variablentyp.

Man müsste die Zusammenhänge besser erkennen können.


Axel
Titel: Re: Export von Formel nach Excel
Beitrag von: Ole2000 am 11.08.05 - 15:12:38
Das ist der Inhalt einer Function MakeFormula(xlRange As String, xlFormula as String)
Mehr steht nicht drinne, dieses Script soll die Formel nach Excel übertragen
Die Formel kommt dort auch an, allerdings nur wie unten beschrieben.

xlSheet1.Range(xlRange).FormulaR1C1 = xlFormula


Diese Formel wird an die Function übergeben. Sie wird aus statischen Komponenten und der Variablen xl_DataRowAkt gebildet(Integer)
rc = MakeFormula("="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")" )


Ergibt D10 - C10 - E10 im Debugger, also korrekt
in Excel steht exact das hier: ='D16'-$P:$P-'E16'
   
Titel: Re: Export von Formel nach Excel
Beitrag von: Axel am 11.08.05 - 15:58:46
Hi,

irgendwas passt da aber nicht zusammen.

Der Aufruf der Funktion soll so sein: MakeFormula(xlRange As String, xlFormula as String)

Du rufst sie aber so auf: MakeFormula("="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")" )
 
Mir fehlt hier die Angabe für den Parameter xRange


Axel

Titel: Re: Export von Formel nach Excel
Beitrag von: Ole2000 am 11.08.05 - 17:20:10
Sorry, war nich ganz korrekt von mir. Der Parameter wird natürlich mit übergeben. ("H" + Cstr(xl_DataRowAkt))
Die Zelle für die Formel wird ja auch korrekt angesprungen. Es ist nur das  Format der Formel nach dem Export.
Titel: Re: Export von Formel nach Excel
Beitrag von: Ole2000 am 12.08.05 - 09:38:38
@Axel Haste was rausfinden können?
Titel: Re: Export von Formel nach Excel
Beitrag von: Axel am 12.08.05 - 09:48:39
Hi,

ich hab's bei mir mal so ähnlich nachgestellt.

Dabei ist mir zuerstmal eine falsche Klammer am Ende der Formel aufgefallen.

"="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")"

Das ergibt das hier:  =D10-C10-E10)


Mein Code sieht so aus:

...
Set objExcel = CreateObject("Excel.Application")
Call objExcel.Workbooks.Add
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

strTemp = "="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt)
objSheet.Range("A1").Value = strTemp
...

Damit habe ich die Formel auch so in der Zelle A1 stehen. Das Zellformat ist Standard.


Axel



 
 
Titel: Re: Export von Formel nach Excel
Beitrag von: Ole2000 am 12.08.05 - 10:09:39
Oh Mann !!!
Es lag am ".Value"
Nun gehts bei mir auch

Was hat es mit  objSheet.Range("A1").FormulaR1C1 auf sich???
Damit hatte ich das ja vergeblich versucht !

P.S. Vielen Dank!!!