Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel Add In ansprechen

26 views
Skip to first unread message

Roman Mayer

unread,
Aug 4, 2004, 5:45:24 AM8/4/04
to
Hallo NG,

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


Jürgen Volke

unread,
Aug 4, 2004, 5:51:59 AM8/4/04
to
Hallo Roman

hast du denn einen Verweis auf die Excel-Objekt-Library gesetzt?

HTH Jürgen


Roman Mayer

unread,
Aug 4, 2004, 6:03:17 AM8/4/04
to
Hi 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...

Roman Mayer

unread,
Aug 4, 2004, 7:24:32 AM8/4/04
to
Hi Jürgen, jetzt hab ichs kapiert. Stand wohl auf der Leitung.

Ja, der Verweis ist gesetzt.

Gruß,
Roman

"Jürgen Volke" <juerge...@hotmail.com> schrieb im Newsbeitrag
news:2nbpu0F...@uni-berlin.de...

Jürgen Volke

unread,
Aug 4, 2004, 7:32:33 AM8/4/04
to
Hallo Roman

> Hi Jürgen, jetzt hab ichs kapiert. Stand wohl auf der Leitung.
>
> Ja, der Verweis ist gesetzt.

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


Roman Mayer

unread,
Aug 4, 2004, 7:50:51 AM8/4/04
to
Ja, bin ich eigentlich schon. Zur Sicherheit noch zwei versuchte Zeilen(Die
eÉxcel.Application heißt objExcel)

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


Thomas Möller

unread,
Aug 4, 2004, 11:44:29 AM8/4/04
to
Hallo 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.


Michael Zimmermann

unread,
Aug 4, 2004, 12:47:53 PM8/4/04
to
Hallo!

Thomas Möller:


> (auch wenn ich gleich wieder Schelte kriege)
> Du kannst Dir in Excel ein Makro aufzeichnen.

Schelte. ;-)

Gruß aus Mainz
Michael

Roman Mayer

unread,
Aug 5, 2004, 1:57:19 AM8/5/04
to
Also, ich habe eine halbe Lösung gefunden, die aber auch ihre Tücken hat.

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


Matthias Klaey

unread,
Aug 5, 2004, 7:50:04 AM8/5/04
to

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

0 new messages