VISIO VBA div. Funktion werden nicht erkannt

Hallo,

Wie in der Überschrift bereits beschrieben werden Funktion (bsp. die Left-Funktion) nicht mehr erkannt und geben eine Fehlermeldung aus (Projekt oder Bibliothek nicht gefunden).

Die Visio-Datei habe ich von meinem Arbeitsrechner auf welchem die gleiche Visioversion vorhanden ist (Visio 2007). Auf diesem laufen die Prozeduren ohne Probleme.

Im Internet habe ich bereits eine art Notlösung gefunden:

Wenn ich bspw. die Left-Funktion durch VBA.Left ersetze klappt es wieder. Doch dann müsste ich das vermutlich mit allen betroffenen Funktionen machen.

Zusätzlich scheint VBA nicht deklarierte Variablen als Funktion zu behandeln und gibt die gleiche Fehlermeldung aus.

Weiß einer woran das liegen kann?

Hallo DAO,

Wenn auf Rechner A die Funtkionen laufen und auf Rechner B nicht, dann besteht wahrscheinlich ein Unterschied in den .net-Installationen.

Im Zuge der Umstellung auf .net ist m. E. auch die Klasse VBA hinzugekommen. Folge: VBA.Left ist ein syntaktisch richtiger Ausdruck, kann aber mit einem Verweis auf die Klasse (unter Extras\Verweise war das früher - nach VBA suchen und anhaken).
Dieser Verweis würde dann für alle Module gelten, so dass der Umstellungsaufwand hier gering wäre.

Gruß
Harry

Hallo,

mit Visio selbst kenn ich mich nicht wirklich aus, aber der Fehler sieht nach einem allgemeinen Office-VBA Problem aus. Da passen wahrscheinlich Verweise in Office-Bibliotheken nicht.

Schau mal nach im VBE unter „Extras“->„Verweise“, ewt. ist dort ein Eintag „NICHT VORRHANDEN“.

Das kommt vor wenn Versionen von ext. Bibliotheken nicht uebereinstimmen.

Hope this helps

Tschau
Peter

Hallo,

Leider habe ich keine Erfahrung mit VBAVisio und kann somit nicht helfen.

VG

Christian

Hallo DAO,

probiere doch mal vor jeden Scriptabschnitt folgenden Schalter zu setzen:

option explicit

(einfach als erste Zeile einsetzen)
Das sollte dafür sorgen, dass eine Variable nicht benutzt werden kann, wenn sie nicht definiert ist.

Warum Deine Funktionen nicht auf Anhieb erkannt werden, kann ich Dir nicht sagen. Zum Teil kann es (gaaanz grobe und vage Vermutung) daran liegen, dass die Installation auf den Rechnern verschieden sind ( OCX Dateien oder DLLs auf dem einen oder anderen nicht registriert). Das herauszufinden bedeutet aber genau so ein Haufen Fummelei wie alle Deine Funktionen „VBA.Function“ zu nennen.

Mit freundlichem Gruße,

Matthias

Hallo,

Hallo DAO,

Wie in der Überschrift bereits beschrieben werden Funktion
(bsp. die Left-Funktion) nicht mehr erkannt und geben eine
Fehlermeldung aus (Projekt oder Bibliothek nicht gefunden).

Du schreibst folgend, dass auf Deinem Arbeitsrechner die Funktionen funktionieren. Wo funktionieren sie denn nicht?

Die Visio-Datei habe ich von meinem Arbeitsrechner auf welchem
die gleiche Visioversion vorhanden ist (Visio 2007). Auf
diesem laufen die Prozeduren ohne Probleme.
Im Internet habe ich bereits eine art Notlösung gefunden:
Wenn ich bspw. die Left-Funktion durch VBA.Left ersetze klappt
es wieder. Doch dann müsste ich das vermutlich mit allen
betroffenen Funktionen machen.

Ggf. müsstest Du Dir auf der Entwicklungsumgebung den Objektkatalog genauer anschauen. Die Fehlermeldung jedenfalls scheint schon sehr genau zu beschreiben, dass die Syntax nicht in Ordnung ist.

Zusätzlich scheint VBA nicht deklarierte Variablen als
Funktion zu behandeln und gibt die gleiche Fehlermeldung aus.

Im Laufe der Zeit kann sich an der Sprache schon mal was ändern.

Weiß einer woran das liegen kann?

Vielleicht kommst Du hier weiter:
http://msdn.microsoft.com/en-us/library/office/aa201…
MfG MwieMichel

Hallo,

folgende Fehlerquellen sind möglich:

  • Unterschiedliche Programmversionen VISIO
  • Unterschiedliche Verweise unter Extras/Verweise im VBA-Editor
  • Unterschiedliche Aktalitäten der Objektbibliotheken unter Extras/Verweise

VBA ist eben leider nicht gleich VBA und auf zwei Rechnern nicht immer gleich lauffähig. Bei Benutzung von VBA-Programmen sollte möglichst von Verweisen auf andere Objektbibliotheken abgesehen werden.

Das einfache Rüberkopieren von Bibliotheken oder anderen Dateien kann wiederum andere Probleme mit sich bringen und ist mit Vorsicht zu genießen!