ioch versuche aus Access den Excel-Solver anzusprechen. Wenn ich die VBA
Solverbefehle ausführe, sagt er mir, dass er die Methode nicht kennt, obwohl
ich es mit objExcel. , objWorksheet. und objWorkBook. versucht habe.
Danke,
Roman
hast du denn einen Verweis auf die Excel-Objekt-Library gesetzt?
HTH Jürgen
ich hab das Excel machen lassen:
objExcel.Addins("Solver Add-in").Installed = True
Muss ich das auch für Access machen?
Gruß,
Roman
"Jürgen Volke" <juerge...@hotmail.com> schrieb im Newsbeitrag
news:2nbpu0F...@uni-berlin.de...
Ja, der Verweis ist gesetzt.
Gruß,
Roman
"Jürgen Volke" <juerge...@hotmail.com> schrieb im Newsbeitrag
news:2nbpu0F...@uni-berlin.de...
und du bist sicher, daß du die geleichen Befehle wie in Excel
benutz nur mit dem appExcel davor, falls du das ExcelObject
mit appExcel erstellst
Gruß Jürgen
objExcel.SolverReset 'Probiert, da keine Parameter falsch sein können
objExcel.SolverAdd CellRef:=objExcel.Range(objExcelWorkSheet.Cells(2 *
reEckRow + 3, 1),_ objExcelWorkSheet.Cells(3 * reEckRow + 2, reEckColm)),
Relation:=3, FormulaText:="0"
Gruß,
Roman
Roman Mayer <roman....@de.bosch.com> schrieb:
(auch wenn ich gleich wieder Schelte kriege)
Du kannst Dir in Excel ein Makro aufzeichnen. Dabei nimmst Du alle
gewünschten Aktionen vor. Das Ergebnis passt Du dann an, so das es
automationsfähig ist.
HTH
--
Thomas
Homepage: www.team-moeller.de
TM-AbhängigeObjekte: Update auf Version 3.72 (seit 19.06.04)
Jetzt auch Klassenmodule und Prozeduren berücksichtigen.
Thomas Möller:
> (auch wenn ich gleich wieder Schelte kriege)
> Du kannst Dir in Excel ein Makro aufzeichnen.
Schelte. ;-)
Gruß aus Mainz
Michael
Das Problem war, dass man in Excel-VBA die Solver.xla als Verweis einbinden
muss. Ich könnte also die Lösungen, ein neues Excel-Workbook, aufzumachen
nicht nutzen. Dann habe ich mir gedacht, kann ich gleich eine Funktion in
Excel schreiben (nicht aufzeichnen ;-)), der ich die Parameter über die Lage
der verschiedenen Bereiche übergebe.
Nun das Problem:
Wenn ich die Funktion aus Excel aufrufe, läuft sie einwandfrei. Wenn ich die
Funktion aus Access aufrufe, dann kommt die Fehlermeldung: Solver: An
unexpected internal error ocurred, or available memory was exhausted.
Ich hab mal geguckt, was der Speicher in der Zeit macht und der erhöht sich
nur um ein wenig, also keine Peaks oder so.
Vielleicht weiß jemand, woran das liegt.
Gruß,
Roman
Um das Add-In zu benutzen, musst du es zuerst registrieren, etwa so
(Beispiel für NETWORKDAYS Funktion, ich weiss nicht, wie du den Solver
aufrufen musst)
Dim objExcel As New Excel.Application
objExcel.RegisterXLL objExcel.Application.LibraryPath & _
"\ANALYSIS\ANALYS32.XLL"
Debug.Print objExcel.Run("NETWORKDAYS", <parameters>)
HTH
Matthias Kläy
www.kcc.ch