Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: klausi76 am Oktober 09, 2013, 13:38:19

Titel: Aufruf einer Funktion in Excel aus Access
Beitrag von: klausi76 am Oktober 09, 2013, 13:38:19
Hallo zusammen,

habe bereits das Forum durchsucht und bin auf folgenden Code gestoßen, den ich versucht habe anzupassen:


Public Function xlfct()
    Dim xl As Object
    Set xl = CreateObject("Excel.Application")
    xlfct = xl.WorksheetFunction.excelbefehlsname()
    Set xl = Nothing
End Function


Der Befehl liegt in Excel im ersten Arbeitsblatt als public-Funktion vor.

Fehlermeldung: Laufzeitfehler 438, Objekt unterstützt diese Eigenschaft oder Methode nicht

Was mache ich falsch?
Titel: Re: Aufruf einer Funktion in Excel aus Access
Beitrag von: bahasu am Oktober 09, 2013, 22:27:27
Hi,

vielleicht hilft: http://support.microsoft.com/kb/153748/de

Harald
Titel: Re: Aufruf einer Funktion in Excel aus Access
Beitrag von: klausi76 am Oktober 10, 2013, 08:34:29
Danke, der Artikel war hilfreich für mein Grundverständnis, nur so wie ich das sehe können so nur exceleigene Funktionen aufgerufen werden.
War vorher unpräzise von mir formuliert, aber ich versuche eine umfangreiche Funktion, welche ich in Excel programmiert habe von Access aus aufzurufen und finde diese nicht im Objektkatalog wieder.
Titel: Re: Aufruf einer Funktion in Excel aus Access
Beitrag von: Wurliwurm am Oktober 10, 2013, 09:03:12
In dem Code oben wird nur ein Excel-Objekt angelegt, aber keine Excel-Mappe. Da Deine Makros in einer Excel-Mappe liegen und nicht im Excel an sich, braucht es eine Referenz auf eine Mappe (c:\meinemappe.xls o.ä.)
Titel: Re: Aufruf einer Funktion in Excel aus Access
Beitrag von: klausi76 am Oktober 10, 2013, 09:16:59
Hab damit auch schon rumprobiert, dieselbe Fehlermeldung kam leider trotzdem


Public Function xlfct()

Dim xl As Object

Set xl = CreateObject("Excel.Application")
xl.DisplayAlerts = False

Set wb = xl.Workbooks.Open(Application.CurrentProject.Path & "\excelfilename.xls") '
xlfct = wb.WorksheetFunction.namedereigenenfunktion()

Set xl = Nothing

End Function


Hängt das vielleicht damit zusammen, dass meine selbst erstellte Funktion eigentlich kein Bestandteil des worksheetfunction-Funktionskataloges ist?
Weiss nicht wie der richtige Aufrufbefehl für selbst erstellte Funktionen sonst aussehen würde.

LG
Titel: Re: Aufruf einer Funktion in Excel aus Access
Beitrag von: klausi76 am Oktober 10, 2013, 09:27:52
Die Funktion befindet sich in folgendem Objekt in Excel:


(http://s7.directupload.net/images/131010/8hyy9f99.jpg) (http://www.directupload.net)
Titel: Re: Aufruf einer Funktion in Excel aus Access
Beitrag von: database am Oktober 13, 2013, 16:48:19
Hallo,

ich glaube mal gelesen zu haben, dass dein Vorhaben die Existenz einer Funktion als Benutzerdefinierte Funktion in deiner Arbeitsmappe erfordert.
Soll heißen, dass diese Funktion als solche in einem VBA Modul als 'Public Function' anzulegen wäre und nicht in einem Arbeitsblatt zu speichern ist.
Aber bitte mich nicht darauf verhaften - auch über die AddIns sollte das machbar sein, wenn deine Function als AddIn angelegt wird

schau auch mal da rein:

http://microsoft.public.de.access.narkive.com/WogrGrju/aufruf-benutzerdefinierte-excel-funktion (http://microsoft.public.de.access.narkive.com/WogrGrju/aufruf-benutzerdefinierte-excel-funktion)