Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Typ-Fehler bie Dim X as Dataobject

Typ-Fehler bie Dim X as Dataobject
14.02.2005 17:00:40
Reinhard
Hallo Wissende,
wohl wieder Ende der Fahnenstange bei mir bzw. zurückrutschen zu den Basics der Definitionen :-(
Was will der Editor da von mir? Im Internet steht das oft genauso, warum meckert der Compiler da an der im Remark gezeigten Stelle?

Sub kopieren_test()
Dim MyData As DataObject ' Compiler-Fehler:Benutzerdefinierter Typ nicht definiert
Set MyData = New DataObject
MyData.SetText "Hello World"
MyData.PutInClipboard
End Sub

Dabei funktionierte es auch wenn man die Dim-Anweisung weglässt. (Denn ist Teilcode aus meinem jeanniefür arme posting in Forumstechnik) Und da lief es schon öfters problemlos auch ohne die Dim-Zeile, aber halt nicht immer, jetzt will ich halt genau wissen warum es manchmal nicht geht und wie die Abhilfe aussieht bzw wie es richtig aussehen muss.
Also 2 Fragen :
a) warum lief es 90/10 auch ohne die Dim -Anweisung?
b) wieso läuft es mit Dim-Anweisung nicht?
Danke für etwige Hilfe
Gruß
Reinhard

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typ-Fehler bie Dim X as Dataobject
Ute
Ist ein Verweis auf die Forms 2.0 Bibliothek gesetzt?
mfg Ute
AW: Typ-Fehler bie Dim X as Dataobject
Kurt
Das DataObject ist ein Element der Bibliothek FM20.dll.
Wenn der Verweis darauf nicht gesetzt ist, kannst du es nicht verwenden.
Schau mal in der VBE unter Menü Extras|Verweise, ob da der Verweis auf
die Microsoft Forms 2.0 Object Library(FM20.dll) gesetzt ist.
Danke Ute & Kurt
Reinhard
Hi euch Beiden,
danke sehr für den Hinweis auf die "forms", über google krieg ich raus wie ich das im Makro einbinde, ich nehme an, damit ist das eine Problem gelöst, also warum es nicht läuft.
Bliebe noch das Problem warum es ohne Einbindung mehrfach lief.
Da ich ja den o.g. Code nicht nur selbst mehrfach problemlos ausgeführt habe, OHNE Einbindung von irgendwas, sondern auch hier in Forumstechnik und auch in einem anderen Foren postete, wo andere Leute das ausprobierten, und es bei denjenigen lief, mutmaße ich, (davon ausgehend nix ist speziell eingebunden) wenn ich Excel frisch starte, läuft der Code nicht, aber wenn ich dann , keine Ahnung, ein SteuerButton erstelle oder sowas, dass dann Excel im Geheimen den Verweis auf Forms setzt.
Nur so kann ich mir das Ganze erklären.
Danke für die Antworten, ich setz noch mal die Frage auf noch offen, vielleicht weiss ja jemand was Excel bewegt diesen Verweis von sich aus zu setzen.
Gruß
Reinhard
Anzeige
personl.xls und fm20.dll (MS Forms 2.0 Object Libr
Reinhard
Hallo Wissende,
im Erignis Workbook-Open der personl.xls setze ich den Verweis auf Microsoft Forms 2.0 Object Library mit
Application.VBE.ActiveVBProject.References.AddFromFile "fm20.dll"
Das klappt und auch im Codebereich der dann geöffnetetn Mappe1 ist der Verweis gesetzt.
Aber, öffne ich eine beliebig andere datei über Datei--Öfnnen, so ist in deren Codebereich, der Verweis nicht gesetzt?
Wie kann ich das erreichen dass da auch durch personal.xls der Verweis gesetzt wird für alle später geöffneten Dateien?
Manuelles Setzen des Verweises ist bei der nächsten Excel-Instanz weg.
Gruß
Reinhard
Anzeige
AW: personl.xls und fm20.dll (MS Forms 2.0 Object Libr
Tim
Dazu ist ein Klassenmodul z.B. in der persönlichen Mappe nötig, das den Verweis bei jedem neuen Workbook setzt.
Du kannst auch eine Vorlage verwenden, bei der der Verweis gesetzt ist.
Tim
Verweise bei Workbook, Klasenmodul personl.xls
18.02.2005 02:03:32
Reinhard
Merci Tim,
das mit der Vorlage, okay, das krieg ich sicher hin.
Aber interessieren würde mich der Code für das Verweise setzen in einem Klassenmodul in der Personl.xls.
Außer in der personl.xls Einfügen---Klassenmodul auszuwählen fehlt mir dafür alles weitere Wissen :-()
Wie würde denn da der Code lauten?
Dankeschön
Reinhard
AW: Verweise bei Workbook, Klasenmodul personl.xls
Tim
Klassenmodule sind nichts für Anfänger, nimm die Vorlagenlösung.
Tim
Anzeige
Lösung
Reinhard
Hallo Interessierte,
ich habe eine Lösung im Internet gefunden und für meine Zwecke angepasst :
In Personl.xls ein Klasssenmodul einfügen und per F4 umbenennen in AppEventClass
Darin folgenden Code eintragen:

Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub Class_Initialize()
Set xlApp = Application
End Sub
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
Application.VBE.ActiveVBProject.References.AddFromFile "fm20.dll"
End Sub

In "DieseArbeitsmappe" von personl.xls:

Private Sub Workbook_Open()
Set xlEvents.xlApp = Application
End Sub

In "Modul1" von Personl.xls:

Option Explicit
Public xlEvents As New AppEventClass

In allen geöffneteten Dateien wird nun automatisch beim Öffnen der Verweis auf "fm20.dll", also MS Forms 2.0 Object Library gesetzt.
Gruß
Reinhard
Anzeige

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige