Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
160to164
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
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeitfehler 13, abhängig mi

Laufzeitfehler 13, abhängig mi
23.09.2002 22:45:32
Martin Glarner
Hallo Zusammen
Ich habe ein sehr seltsames Problem.
Meine VBA-Code läuft während der Entwicklung ohne Probleme.
Erst wenn ich Tests mache ohne den VBA-Code mit dem Passwort anzuschauen, bekomme ich einen Laufzeitfehler Nr.13

Die Schwierigkeit bestand zuerst darin den Fehler einzukreisen,
da die Fehlerstelle ohne Eingabe des Passwortes nicht angezeigt werden kann.
Durch Ausgaben in der Statuszeile konnte ich den Fehler einkreisen. Doch ich habe keine Erklärung !!!!

Folgendes passiert in meinem Code
1. Es wird automatisch ein Register mit dem Namen "Import"
angelegt.
2. In dieses Register werden diverse Daten eingefügt.
3. Es werden alle Register der Datei bearbeitet.
4. Sobald vom neuen Register der Codename abgefragt wird
erhalte ich den Laufzeitfehler

Auszug aus meinem Code:

Wenn ich das Register anschliessend betrachte, hat das Register
"Import" den Codenamen "Tabelle4" erhalten.
Also müsste die Zahl 4 zurück gegeben werden.
Ich habe schon vor diesem Code die Länge des Codenamen abgefragt
das hat auch geholfen, aber ich habe keine Erklärung.

Ich vermuhte, dass der Codename nach dem Erstellen des Registers
noch nicht gespeichert wurde oder so was ???

Wer kann mir einen Tip geben
Gruss Martin




7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Laufzeitfehler 13, abhängig mi
24.09.2002 06:20:25
Axel
Hallo,

das hat nichts mit dem Speichern sondern ausschließlich mit dem Schutz des VBA-Projektes zu tun.

Wenn ein Projekt geschützt ist, ist auch der programmtechnische Zugriff auf projektbezogene Eigenschaften nicht möglich und CodeName gehört hierzu.

Wenn Du bei der Zuweisung von Quell_Reg_Nr einen Haltepunkt setzt, den Code bei geschütztem Projekt laufen lässt und Dir dann bei der Programmunterbrechung im Überwachungsfenster das Objekt wks ansiehst, wirst Du ... genau, nichts sehen. Es werden keine Eigenschaften angezeigt.

Nach erfolgter Freigabe eines Projektschutz wird dieser übrigens erst dann wieder aktiviert, wenn die Datei geschlossen und neu geöffnet wird.

Gruß
Axel

Anzeige
Was ist nun die Lösung
24.09.2002 07:09:17
Martin Glarner
Hallo Axel
Danke für Deine Erklärung.
Du schreibts, dass im geschützen Modul kein Zugriff auf
projektbezogene Eigenschaften möglich sind.
Wenn das zutreffen sollte, verstehe ich nicht, warum meine
Anwendung funtioniert.
Ich nutzte die Eigenschaft Codename sehr oft, damit der
Anwender den Namen der Register jederzeit ändern kann.

Wie soll ich meine Anwedung verbessern
Gruss Martin

Re: Was ist nun die Lösung
24.09.2002 08:30:04
Axel
Hallo Martin,

wahrscheinlich reden wir aneinander vorbei. Mit projektbezogen bezeichne ich die Eigenschaften, die über das Vbproject-Objekt zu erreichen sind. Also z.B. der Code in den einzelnen Modulen. Diese sind bei geschützten Projekten definitiv nicht zu erreichen.

Warum nutzt Du überhaupt die Codename-Eigenschaft? Der Codename ist eigentlich nur von Relevanz, wenn über das Vbproject-Objekt auf Module zugegriffen wird.

Wenn der Name eines Blattes geändert werden soll, reicht es vollkommen, die Name-Eigenschaft des Worksheet-Objektes zu setzen.

Oder verstehe ich da bzgl. Deiner Anforderung irgendetwas falsch?

Gruß
Axel

Anzeige
Re: Was ist nun die Lösung
24.09.2002 08:54:22
Martin Glarner
Hallo Axel
Ich habe in meiner Anwendung ca. 10 Register. Jedes
dieser Register hat seine speziele Funktion.
Der Name, der für den Benuzter sichtbar ist, spielt keine
Rolle, kann also geändert werden.
In meinen VBA-Code werden in einer For-Next-Schleife aus
den Registern Werte gelesen.

Mit der Funktion :
Quell_Reg_Nr = Mid(wks.CodeName, 8)
extrahiere ich die Register-Nr., welche ich für die
einzelnen Register definiert habe.
Register 1: Blattname "VAT", Codename "Tabelle10"
Register 2: Blattname "FC", Codename "Tabelle20"
Register 3: Blattname "FB", Codename "Tabelle30"
usw.
Diese Definition von Codename kann vom Anwender nicht
angepasst werden.

Gibt für mein Problem bessere Lösungen

Besten Dank
Gruss Martin


Anzeige
Re: Was ist nun die Lösung
24.09.2002 09:46:05
Axel
Hallo Martin,

damit wir uns nicht missverstehen. Meine Ausführungen bzgl. des Zugriffs auf projektbezogene Eigenschaften bei geschützten Projekten gilt natürlich nur für den Fall, dass der Zugriff von aussen - also nicht über das geschützte Projekt selbst - erfolgt.

Gruß
Axel

Re: Laufzeitfehler 13, abhängig mi
24.09.2002 12:56:43
Martin Beck
Hallo Martin,

ich habe mal mit folgendem Code getestet:

Ergebnis: Ohne Projektschutz funktioniert es einwandfrei. Mit Projektschutz wird der Variablen Quell_Reg_Nr nicht die gewünschte Zahl, sondern ein Leerstring zugewiesen. Der Codename scheint also nicht zu existieren!

Der Laufzeitfehler 13 ergibt sich dann, wenn die Variable Quell_Reg_Nr z.B. als Integer deklariert wurde. Wie hast Du deklariert?

Eine Problemlösung habe ich leider nicht, es sieht aber so aus, als könnte man Codename für eingefügte Tabellen nicht verwenden.

Gruß
Martin Beck

Anzeige
Wer hat eine Erklärung ?
24.09.2002 13:21:57
Martin Glarner
Hallo Martin
Besten Dank für Deinen Test.
Ich habe mein VBA-Code genau wie Du mit einer
Interger-Variablen eingesetzt.

Interessant wäre, ob jemand eine Erklärung dafür hat.

Vielleicht könnte man die Bezeichung für den Codename
selber definieren (habe mal was gesehen)

Nochmals Dank auch an Axel
Gruss Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige