Microsoft Excel

Herbers Excel/VBA-Archiv

korrekte Syntax bei Verweise löschen | Herbers Excel-Forum


Betrifft: korrekte Syntax bei Verweise löschen von: Jörg-HH
Geschrieben am: 21.12.2009 15:54:51

Hallo zusammen,

mit diesem Code habe ich versucht, einen Verweis zu löschen (stammt von NoNet), nämlich meine heißgeliebten Web Components 11:

Public Sub VerweiseLoeschen()
    Dim d, r, delRef()
    delRef = Array("Microsoft Office Web Components 11.0") 'Hier die Namen der zu löschenden  _
Verweise eingeben
    r = 1
    While r <= Application.VBE.ActiveVBProject.references.Count
        For d = 0 To UBound(delRef)
            If UCase(delRef(d)) = UCase(Application.VBE.ActiveVBProject.references(r).Name)  _
Then
                Application.VBE.ActiveVBProject.references.Remove Application.VBE. _
ActiveVBProject.references(r)
                d = UBound(delRef)
                r = r - 1
            End If
        Next
        r = r + 1
    Wend
End Sub

Aber nix is mit gelöscht :-(( Kann mir jemand sagen, warum das nicht geklappt hat?

VG Jörg

  

Betrifft: AW: korrekte Syntax bei Verweise löschen von: Anton
Geschrieben am: 21.12.2009 16:18:39

Hallo Jörg,

ungetestet:
erstetze
.Name
durch
.Description

mfg anton


  

Betrifft: Description bringt auch nichts von: Jörg-HH
Geschrieben am: 21.12.2009 17:23:17

Hi Anton,
das fürt nicht zum Erfolg. Ich vermute auch eher den Knoten in der Schreibweise des Verweises, den ich abhaken will. In dem Post, aus dem der Schnipsel stammt, waren nämlich die zu löschenden Verweise mit wenigen Buchstaben beschrieben. Da stand "StdOle", "Office" - also erheblich kürzer als die Bandwürmer in der Verweis-Dialogbox. Wie spreche ich denn die Herrschaften, die ich loswerden will, korrekt an?

VG Jörg


  

Betrifft: Bitte nicht .NAME und .DESCRIPTION verwechseln ! von: NoNet
Geschrieben am: 21.12.2009 18:00:34

Hallo Jörg,

wenn Du schon einen Code übernimmst und anpasst, dann solltest Du ihn auch verstehen (zur Not mal in die Onlinehilfe schauen) !
Ich nehme an, Du hast den Code von hier kopiert :

http://spotlight-wissen.de/archiv/message/1071334.html

In diesem Beispiel wird gezielt der NAME des Verweises geprüft, um unabhängig von der Version und von der .DESCRIPTION zu bleiben.
Wenn Du natürlich nach der BESCHREIBUNG des Verweises suchst, musst Du auch die .DESCRIPTION verwenden und nicht den .NAME !!!

Bei defekten Verweisen kann man übrigens weder .NAME noch .DESCRIPTION vergleichen, daher klappt das in Deinem Falls wohl nicht !

Schau Dir bitte nochmal diesen Beitrag an :
https://www.herber.de/forum/archiv/1116to1120/t1118930.htm#1118936

Noch eine Bitte : Wenn Du Codes von mir (oder von anderen) verwendest (und abänderst), dann gib bitte auch immer die Quelle/Herkunfts des Codes mit an, damit andere Interessierte und/oder Helfer auch vergleichen können, warum der Original-Code (von mir) noch funktionierte und der modifizierte Code nun nicht mehr !

Da ich das Thema langsam müßig finde (Du schlägst Dich und uns ja schon seit Wochen immer wieder genau DAMIT herum !), werde ich mich nun nicht mehr dazu äußern....

Gruß, NoNet


  

Betrifft: Danke für die Belehrung... von: Jörg-HH
Geschrieben am: 21.12.2009 23:39:26

...ich wußte nicht, daß die Anzahl erlaubter Fragen zu einem bestimmten Thema begrenzt ist - sorry.

Wirf doch kurz einen Blick auf meinen VBA-Level, NoNet - dann wird evtl. verständlich, warum ich komplizierteren Code vielleicht nur verwenden, aber nicht unbedingt verstehen kann. Du kannst durchaus davon ausgehen, daß ich die Hilfe und das Archiv konsultiere, bevor ich hier mit einer Frage aufschlage.

Du hast recht - den Code habe ich aus Spotlight... nachdem ich hier erstmal das Archiv gewälzt habe und in einem Thread einen Link dahin fand.

Wenn Du natürlich nach der BESCHREIBUNG des Verweises suchst, musst Du auch die .DESCRIPTION verwenden und nicht den .NAME !!! ...natürlich...! Klar, nach 15 Jahren Programmiererfahrung ist das wohl kein Problem, darauf zu achten. Aber dann würde ich hier sicher auch keine Fragen stellen.

Aber achte doch mal darauf, was in diesem Thread eigentlich steht: Den Austausch von NAME durch DESCRIPTION hat Anton mir empfohlen. Das habe ich ausprobiert - mehr nicht. Meine anfängliche Frage stellt original deinen Code dar - nicht abgeändert (abgesehen natürlich davon, daß ich den Verweis, um den es geht, da hineingeschrieben habe). Und ein Schritt weiter hab ich noch mal dazu gesetzt, was da ursprünglich in der Klammer stand. Und dann steht da noch (stammt von NoNet) - alles klar? Wenn nichts geändert wurde, sollte das wohl reichen - wir schreiben hier ja keine wissenschaftliche Zitierweise. Und wenn was geändert wurde, sollte man darauf hinweisen.

...übrigens: wo habe ich eigentlich geschrieben, daß mein Verweis defekt ist? Das verwechselst du vermutlich mit einem anderen Thread von vor ein paar Tagen...

Aber ansonsten finde ich es echt gut, daß du immer gleich für alle sprichst. Hast du neulich schon mal gemacht. Das ist wirklich rationell.

Schönen Abend...

Jörg


  

Betrifft: Hinweise zu VERWEISEN von: NoNet
Geschrieben am: 22.12.2009 15:49:42

Hallo Jörg,

ich bin sicherlich niemand, der anderen (Fragenden) gegenüber (unabhängig vom Level) abwertende oder lapidare Bemerkungen äußert, sondern eher im Gegenteil, fast alles sehr ausführlich erklärt (ich denke mal, das ist Dir nicht entgangen !). Durch die Fülle meiner Beiträge in den verschiedenen Excel-Foren innerhalb der letzten 10 Jahre kann ich aber auch recht gut einschätzen, welche Angaben hilfreich sind - dazu gehört eben u.a. auch die exakte Angabe der Herkunfts-URL eines Codes :

Du hast z.B. in Deinem Code (sicherlich unwissentlich) einen kleinen aber entscheidenden Fehler gegenüber meinem Original-Code in o.g. Beitrag gemacht : Du hast mit "Microsoft Office Web Components 11.0" die Beschreibung (DESCRIPTION) des Verweises verwendet, während ich im Originalcode den NAME des Verweises geprüft habe. Diese beiden Eigenschaften sind nicht identisch (Der Name des Verweises wäre in Deinem Fall "OWC11" - siehe Screenshot unten !). Daher mein Hinweis auf die DESCRIPTION und Bitte um Angabe der URL, damit evtl. auch andere Helfende den Fehler bzw. Unterschiede finden können.

Der Hinweis "...stammt von NoNet" alleine ist kaum hilfreich, da sich wohl niemand die Mühe macht, all meine geposteten Beiträge zu durchsuchen ;-)

Dass es sich um "Defekte" Verweise handeln könnten war in der Tat nur eine (sehr starke) Vermutung (daher die Abschwächung mit "wohl" im Sinne von "vermutlich"), da Du davon in der Vielzahl Deiner letzten Beiträge geschrieben hast.

In meinem beruflichen Umfeld habe ich übrigens vor ca. 1 Jahr ein AddIn programmiert, mit dessen Hilfe man die Verweise sehr leicht einsehen und löschen kann - allerdings darf ich dieses nicht einfach weitergeben, aber ich kann damit Dateien (auch aus dem Forum) überprüfen und hier kannst Du auch das nachvollziehen, was ich meine :



Dass hier im Forum fast jede/r über unterschiedlich lange Programmiererfahrung verfügt, liegt wohl am unterschiedlichen Alter und an der persönlichen (beruflichen und privaten) Entwicklungshistorie eines jeden und darf natürlich kein Grund sein, andere zu belächeln oder gar zu diffamieren !. Ganz im Gegenteil : Jedes Forum lebt durch beide Seiten und logischerweise haben die Erfahrenen meist mehr Wissen angehäuft, das sie anderen weitergeben können. Nichtsdestotrotz können auch Erfahrene Fragen stellen (mache ich ja auch ;-) und von anderen lernen. Meine persönlichen Programmieranfänge datieren übrigens aus dem Jahr 1984 (sind also ein "Viertel-Jahrhundert" alt ;-), mit Excel VBA habe ich dagegen "erst" 1994 begonnen ;-). Man kann nicht in jedem Beitrag ALLE Zusammenhänge umfassend und verständlich erklären, aber zumindest hilfreich sollten die Posts sein, allerdings sollten Fragende manche Antworten einfach auch akzeptieren ohne dass auf alle Besonderheiten eingegangen wurde !

Gruß, NoNet


  

Betrifft: nun wird mir viele klarer... von: Jörg-HH
Geschrieben am: 22.12.2009 16:20:33

Hi NoNet,
damit kann ich was anfangen... danke für die Worte!

Ich hatte keine Ahnung, daß "Microsoft ... usw" die Beschreibung ist (hatte micht nur gewundert, daß das so viel länger ist als das, was in deinem Code zwischen den Klammern steht) und wo der Name steht. Ich hatte deine Bemerkung nur auf den Text des Codes bezogen, wo versuchsweise name durch decription ersetzt worden war.

Ich hatte mich sowieso über deinen Text gewundert. Zwar gibt es hier wirklich Leute, die Anfängerfragen mitunter etwas harsch abbügeln, aber gerade du zählst nicht dazu. Du bist normalerweise so ausführlich in deinen Antworten, so daß man sie versteht. Und du weißt ja selbst, daß du mir schon diverse Antworten gegeben hast, wo von Ungeduld oder so überhaupt nichts zu spüren war.

Ich bin absoluter Quereinsteiger, eher betriebswirtschaftlich orientiert. Ich hatte ein Excelprojekt begonnen, bei dem ich - und vor allem auch der Auftraggeber - keine Ahnung hatte, wie komplex sich das mal entwickeln würde. Binnen kurzem stellte sich heraus, daß das mit Excel allein nicht zu lösen ist, und so bin ich quasi unabsichtlich in den VBA-Teich geplumpst...

Werde jetzt die Verweisarie nochmal mit dem nun neu gelernten Namen versuchen und ne Rückmeldung geben.

Vielleicht kannst du mir bei der Gelegenheit noch einen anderen Namen sagen? Ich hatte den Verweis auf die Extensibility 5.3 gesetzt, um per Code Änderungen am Code zum machen. Ich vermute mal, daß das auch so ein exotischer Verweis ist, der woanders ins Leere läuft, und würde den gern gleich mit löschen...

Bis später - Jörg


Beiträge aus den Excel-Beispielen zum Thema "korrekte Syntax bei Verweise löschen"