Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Benutzerdefinierter Typ nicht definiert

Benutzerdefinierter Typ nicht definiert
23.05.2024 15:17:17
Holger
Hallo,
ich habe von einem Datenblatt einen Beispielcode kopiert um ein gerät eines Herstellers anzusprechen.
Wenn ich diesen ausführen möchte bekomme ich die Fehlermeldung:
Fehler beim Kompilieren
Benutzerdefinierter Typ nicht definiert

Markiert ist dabei:
PSFMan As PSF092352AAMLXManager

Befehlszeile ist:
Dim PSFMan As PSF092352AAMLXManager, DevicesCol As ObjectCollection, I As Long

Hat jemand einen Gedanken was ich hier tun könnte?

Vielen Dank

Userbild
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierter Typ nicht definiert
23.05.2024 16:04:00
Onur
Gehe auf die Herstellerseite, versuche da eine DLL-Datei zu finden, mit der du diese Funktionen auch in VBA benutzen kannst (ähnlich wie ein Druckertreiber), binde diese DLL in den VBA-Editor ein und schon sollte es auch klappen.
Anzeige
AW: Benutzerdefinierter Typ nicht definiert
24.05.2024 07:22:02
Holger
Hallo,
DLL habe ich.
Wie binde ich diese im VBA-Editor ein?

Vielen Dank

Gruß
AW: Benutzerdefinierter Typ nicht definiert
24.05.2024 10:09:44
schauan
Hallöchen,

da müsste Dir der Hersteller auch was beschreiben, könnte was so in der Art sein,

Declare PtrSafe Sub namederfunktionausdll Lib "pfadundnamezurdll" (parameter/variablen und deren typen) ggfrueckgabewert nebst typ

oder was anderes ...

Anzeige
AW: Benutzerdefinierter Typ nicht definiert
24.05.2024 12:22:47
Mullit
Hallo,

hab mal was wie dein Manual aussieht gegoogelt:

https://media.melexis.com/-/media/files/documents/software/evb-mlx90614-psf-software-library.pdf?la=en

daraus dann Zitat:
[...]

2 Introduction
MLX90632 PSF is MS Windows software library, which meets the requirements for a Product Specific
Functions (PSF) module, defined in Melexis Programmable Toolbox (MPT) object model. The library
implements in-process COM objects for interaction with MLX90632 EVB firmware. It is designed primarily to
be used by MPT Framework application, but also can be loaded as a standalone in-process COM server by other
applications that need to communicate with the above-mentioned Melexis hardware.
The library can be utilized in all programming languages, which support ActiveX automation. This gives great
flexibility in designing the application with the only limitation to be run on MS Windows OS. In many scripting
languages, objects can be directly created and used. In others, though, the first step during implementation is to
include the library in your project. The way it can be done depends on the programming language and the
specific Integrated Development Environment (IDE) used:
 in C++ it can be imported by #import directive
 in Visual Basic it either can be directly used as pure Object or added as a reference to the project
 in C# it has to be added as a reference to the project


[...]

da hier VB und VBA sich gleichen müsstest du also in den Verweisen nach diesen mark. Stichworten suchen und dann die Bibliothek einbinden, das geht im VBA Editor über Extras >>> Verweise >>> Bibl. anhaken...dann erscheinen deine neuen Objekte im Objektkatalog(F2) des Editors.

Im Manual werden auch die Methoden und Eigenschaften einzeln beschrieben.

Gruß, Mullit
Anzeige
AW: Benutzerdefinierter Typ nicht definiert
23.05.2024 15:31:22
Holger
Hallo Boris,
danke für deine Nachricht.

Aber so wie ich das mit meiner sehr bescheidenen Programmiererfahrung sehen wird es doch mit "Dim" der Type zugewiesen , oder?

Sub CreateDevice()
Dim PSFMan As PSF092352AAMLXManager, DevicesCol As ObjectCollection, I As Long
On Error GoTo lError
Set PSFMan = CreateObject("MPT.PSF092352AAMLXManager")
Set DevicesCol = PSFMan.ScanStandalone(dtSerial)
If DevicesCol.Count = 0 Then
MsgBox ("No PTC-04 programmers found!")
Exit Sub
End If
' Dev is a global variable of type PSF092352AAMLXDevice
‘ Select first device from the collection
Set Dev = DevicesCol(0)
MsgBox (Dev.Name & " device found on " & Dev.Channel.Name)
If DevicesCol.Count > 1 Then
For I = 1 To DevicesCol.Count - 1
' We are responsible to call Destroy(True) on the device objects we do not need
Call DevicesCol(I).Destroy(True)
Next I
End If
Exit Sub
lError:
MsgBox Err.Description
Err.Clear
End Sub
Anzeige
AW: Benutzerdefinierter Typ nicht definiert
23.05.2024 15:33:38
{Boris}
Hi,

Aber so wie ich das mit meiner sehr bescheidenen Programmiererfahrung sehen wird es doch mit "Dim" der Type zugewiesen , oder?

Klar - aber man kann nur zuweisen, was auch vorhanden ist - und der Type muss irgendwo in der Datei deklariert / angelegt sein, ansonsten kommt es zu der von Dir genannten Fehlermeldung.

VG, Boris
Anzeige
AW: Benutzerdefinierter Typ nicht definiert
23.05.2024 15:36:19
Holger
Hallo,
kannst Du mir vlt. ein Beispiel senden.
Ich habe keine Ahnung was ich tun muss, was fehlt....

Es wundert mich da dieser Code vom Hersteller kommt aus seinem Datenblatt.

Danke
AW: Benutzerdefinierter Typ nicht definiert
23.05.2024 15:38:42
schauan
Hallöchen,

ich denke, Dir fehlt der entsprechende Verweis auf die vom Hersteller bereitgestellte bzw. für die Ausführung erforderliche Bibliothek. Sollte eigentlich beschrieben oder über den Support herauszubekommen sein.

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige