Gruß
Jörg
--
LPs auf CD brennen - so geht's: http://www.joergei.de/
E-Mail-Adresse existiert, wird aber nicht gelesen.
ohne es getestet zu haben: hast du schon mal versucht,
Application.DisplayAlerts = False
zu setzen, bevor du den obigen Aufruf machst?
(anschließend
Application.DisplayAlerts = True
nicht vergessen)
Grüße
- Michael -
>> Verweis "NICHT VORHANDEN: VerweisNameAlt" entfernen per VBA
>ohne es getestet zu haben: hast du schon mal versucht,
> Application.DisplayAlerts = False
>zu setzen, bevor du den obigen Aufruf machst?
Es hat sich herausgestellt, dass .DisplayAlerts = False und On Error
Resume Next zwar die Laufzeitfehlermeldung unterdrücken, trotzdem läuft
jeder Versuch, per VBA etwas mit dem nicht vorhandenen Verweis zu
machen, in einen Fehler - egal, ob man ihn per Name oder per Index
anspricht.
Letztendlich habe ich es so gemacht wie hier beschrieben:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=272
Ist aber unbefriedigend, dass die "missing references" nur händisch
entfernt werden können. Wäre schön, wenn es doch eine VBA-Lösung gäbe.
Jörg Eisenträger schrieb am 16.03.2009
>>> Verweis "NICHT VORHANDEN: VerweisNameAlt" entfernen per VBA
>
>>ohne es getestet zu haben: hast du schon mal versucht,
>> Application.DisplayAlerts = False
>>zu setzen, bevor du den obigen Aufruf machst?
>
> Es hat sich herausgestellt, dass .DisplayAlerts = False und On Error
> Resume Next zwar die Laufzeitfehlermeldung unterdrücken, trotzdem läuft
> jeder Versuch, per VBA etwas mit dem nicht vorhandenen Verweis zu
> machen, in einen Fehler - egal, ob man ihn per Name oder per Index
> anspricht.
Ja, das ist wohl korrekt so - VBA reagiert dann mit den 'nettesten'
Meldungen und meckert Code an, der an sich völlig in Ordnung ist.
> Letztendlich habe ich es so gemacht wie hier beschrieben:
> http://www.vbaexpress.com/kb/getarticle.php?kb_id=272
>
> Ist aber unbefriedigend, dass die "missing references" nur händisch
> entfernt werden können. Wäre schön, wenn es doch eine VBA-Lösung gäbe.
*Musst* du denn harte Verweise verwenden oder wäre eine Lösung mit 'late
binding' denkbar?
Anwendungen mit 'late binding' sind auf ändernde Bibliotheken viel weniger
anfällig als solche mit 'early binding'. Im Netz gibt es einiges an
Literatur und Stoff zu diesem Thema.
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Vista Ultimate SP-1 / xl2007 SP-1]
>*Musst* du denn harte Verweise verwenden oder wäre eine Lösung mit 'late
>binding' denkbar?
Bei den alten Dokumenten ist der Zug abgefahren, die haben nun mal den
Verweis per early binding drin. Und um diese geht es.
Die neue API-dll wollte ich mit late binding einbinden. Leider liefert
mir hierbei immer und reproduzierbar die API-Anwendung den berühmten run
time error 429. Die haben da wohl noch einen Bug drin. Da hoffe ich noch
auf eine ausgereiftere Version