| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Deklarationen zwischen Modulen austauschen? (603 mal gelesen)
|
Einstein Mitglied Zerspanungsmechaniker-Drehtechnik
Beiträge: 94 Registriert: 20.02.2005
|
erstellt am: 03. Jun. 2007 22:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin's schon wieder. Diesmal die folgende Frage: Gibt es in VBA die Möglichkeit, Variablendeklarationen die man zum Beispiel im Modul A durchgeführt hat, auch im Modul B nutzen zu können (oder anders herum)? Eventuell mit Include-Files? ...Doch damit kenn ich mich nicht aus. ------------------ MfG A. Einstein P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 04. Jun. 2007 06:59 <-- editieren / zitieren --> Unities abgeben: Nur für Einstein
Hi Einstein, Kannst du deine Frage ein bißchen genauer stellen?! Willst du von der DVB "A" eine Funktion einer DVB "B" aufrufen?! Include-Files gibt es im VBA nicht. Das ist eher in Richtung C++. Du solltest dir da besser mal die Schlagworte "Public" und "Verweise" anschauen. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Einstein Mitglied Zerspanungsmechaniker-Drehtechnik
Beiträge: 94 Registriert: 20.02.2005
|
erstellt am: 04. Jun. 2007 16:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, noch mal zu meiner Frage: In VBA besteht ja die Möglichkeit, mehrer Module in einer DVB-Datei zu erstellen. Ich möchte nun mehrer Module nutzen (z.B.: A, B und C). Wenn der Benutzer jetzt das Modul/Makro B startet benötige ich einige Variablendeklarationen aus Modul A. Ich könnte diese natürlich neu deklarieren, allerdings würde das die Filegröße sinnlos vergrößern, zum zweiten entstehen sinnlose Fehlerquellen und zum dritten interessiert das mich einfach mal. ------------------ MfG A. Einstein P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 04. Jun. 2007 17:40 <-- editieren / zitieren --> Unities abgeben: Nur für Einstein
Hi Einstein, Hier mal ein Beispiel: Code: Edit: Wegen Fehler gelöscht. Dank an René.
Das ist nur mal als Beispiel gedacht. Zur Filegröße: Speicher mal deine DVB ohne eine Änderung und sie wird trotzdem größer. Von daher kannst du dir diese paar Bytes auch sparen. Gruß, Carsten [Diese Nachricht wurde von Carsten1210 am 05. Jun. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Headcase Mitglied Dipl.-Ing. (FH) --> Maschinenbau
Beiträge: 141 Registriert: 14.10.2004 WinXP Prof., SP3 AutoCAD Mechanical 2010 (2008) Inventor 2010 (2008)
|
erstellt am: 05. Jun. 2007 08:11 <-- editieren / zitieren --> Unities abgeben: Nur für Einstein
Moin, Moin, das stimmt so leider nicht! Variablen, die mit Dim auf Modulebene deklariert werden, sind nur in dem Modul gültig, in dem die Anweisung steht. Werden sie auf Prozedurebene deklariert, dann sind sie sogar nur in dieser Prozedur gültig. Soll eine Variable global gültig sein, also in allen Modulen des Projekts, dann muss sie mit Public deklariert werden. Code:
**Modul1**Dim a As Integer '--> nur im Modul 1 verfügbar Const b = 5 '--> nur im Modul 1 verfügbar Public c As Integer '--> auch in den anderen Modulen verfügbar Sub Test() Dim d As Integer '--> nur in Test() verfügbar End Sub
Um Probleme mit nicht richtig deklarierten Variablen zu vermeiden, sollte auch die explizite Variablendeklaration aktiviert werden ("Option Explicit" im Modulkopf, bzw. Extras-->Optionen-->"Variablendeklaration erforderlich" aktivieren) Grüße! René Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 05. Jun. 2007 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für Einstein
|