Verweis zur Laufzeit ändern

Hi @all!

Ich habe folgendes Problem bei einem Excel-VBA-Projekt: Ich möchte zur Laufzeit eines Makros einen Verweis auf eine andere Exceltabelle hinzufügen.

Normalerweise sollte das mit dieser Codezeile gehen:

ThisWorkbook.VBProject.References.AddFromFile strDatName

Wobei in strDatName der komplette Pfad und Dateiname enthalten ist (vollständig, korrekt, inc. Groß- und Kleinschreibung).

Ist die Datei eine dll oder wird als xla abgespeichert, habe ich damit kein Problem. Dann wird der Dateiname unter „Verweise“ aufgeführt, als hätte ich sie per Hand eingefügt. Verwende ich eine xls, wird Laufzeitfehler 48 angezeigt. Ok, der meldet nur, dass er ein Problem mit einer dll hat. Und da ich ja keine dll einbinde, könnte es logisch sein - nur warum geht es dann mit xla?

Ach ja, wenn ich die entsprechende Datei „per Hand“ einfüge, funktioniert das ohne Probleme…

Wie bekomme ich also meine xls zur Laufzeit eingebunden? Der einfachste Weg (Speichern als xla) geht aus anderen Gründen nicht!

Hallo Jens,

Normalerweise sollte das mit dieser Codezeile gehen:

ThisWorkbook.VBProject.References.AddFromFile strDatName

Und da
ich ja keine dll einbinde, könnte es logisch sein - nur warum
geht es dann mit xla?

k.A.
Schau mal hier, da geht es zwar um was anderes aber da im Code wird auch eine xls als Verweis eingebunden:

http://www.office-loesung.de/ftopic413854_15_0_asc.php

Allerdings ist es da Excel 2010.
Vielleicht kamen da auch Antworten darauf wo auch steht das Fehler 48 kommt :smile:

Bei mir mit XL 2000 kommt auch beim ersten Mal die 48,
aber ich sehe das im Editor dies xls als Projekt aufgetaucht ist.
Wahrscheinlich deshalb kommt beim nächsten Code aufruf die Fehölernummer 32813 mit irgendwas wegen Namenskonflikt, was ja erklärlich ist denn die xls steht ja schon im Editor.

http://www.google.de/#sclient=psy&hl=de&source=hp&q=…

Hier habe ich die 10 Treffer, naja 9 *gg*, wirst schon sehen warum nur 9 noch durchgelesen, may be du findest einen Tipp…

Gruß
Reinhard

danke für den link! habe es mal ausprobiert - aber ohne neues ergebnis.