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

VBA, Extras -> Verweise automatisch setzen

VBA, Extras -> Verweise automatisch setzen
30.06.2005 14:56:10
gerhard
Hallo, eine Frage an die Experten....

Sub test()
Dim vb as VBProject
End Sub

Dieses simple Programmm in einer vorhandene Arbeitsmappe eingebracht, wirft einen Compilerfehler, weil das entsprechende Kontrollkästchen "Microsoft Visual Basic for Application Extensibility " unter EXTRAS -> Verweis des VBE Editors nicht angeclickt ist. Sobald der Verweis manuell gesetzt wird, verschwindet der Compiler-Fehler.
Ich möchte nun vermeiden, dass für eine grosse Anzahl von Mappen auf unterschiedlichen PCs dieser Verweis manuell angeclickt wird.
Gibt es eine Möglichkeit, den Verweis auf die Bibliothek automatisch mit VBA oder ähnlichem zu setzen ?
Wäre für einen Tip dankbar...
viele Grüsse
Gerhard

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

Betreff
Datum
Anwender
Anzeige
AW: VBA, Extras -> Verweise automatisch setzen
30.06.2005 15:45:14
harry
hi,
hatte das problem auch. aber die sicherheitseinstellungen sind per code nicht änderbar. du kannst nur mit einer error-anweisung eine msgbox anzeigen lassen, die dem user sagt, was er wo zu aktivieren hat:
On Error GoTo ERRORHANDLER
.....
ERRORHANDLER:
If Error = Error(1004) Then
MsgBox Title:="Systemfehler", Prompt:="Die Sicherheitseinstellungen in EXCEL verhindern das Ausführen des Programms! Extras-Otionen-Sicherheit-Makrosicherheit Register Vertrauenswürdige Quellen-Zugriff auf Visual Basic-Projekt aktivieren. Danach das Programm neu starten."
End If
liebe grüße,
harry
Anzeige
AW: VBA, Extras -> Verweise automatisch setzen
30.06.2005 16:00:33
gerhard
hallo harry,
ich habe noch einmal kontrolliert jetzt. Bei Makrosicherheit ist das Kontrollkästchen "Zugriff auf Visual Basic Projekt vertrauen " aktiviert. "Alle installierten Add-inns vertrauen" ist ebenfalls aktiviert. Trotzdem verschwindet die Fehlermeldung nicht.
Es muss also noch was anderes geben.
gruss
gerhard
SCHAAANDEEEE!
30.06.2005 16:07:10
harry
sorry, heute ist nicht mein bester tag! hab mich da komnplett verlesen.
check diese anweisungen mal durch, bin mir (heute aber nur fast) sicher, es ist etwas für dich dabei.
For i = 1 To Application.VBE.ActiveVBProject.References.Count
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References
VBEObj.Remove VBEObj(i)
Next i
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{000204EF-0000-0000-C000-000000000046}", 4, 0)
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{00020813-0000-0000-C000-000000000046}", 1, 4)
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{00020430-0000-0000-C000-000000000046}", 2, 0)
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}", 2, 2)
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{0D452EE1-E08F-101A-852E-02608C4D0BB4}", 2, 0)
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{00020905-0000-0000-C000-000000000046}", 8, 2)
On Error Resume Next
Set VBEObj = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{0002E157-0000-0000-C000-000000000046}", 5, 3)
Set VBEObj = Nothing
liebe grüße,
harry
Anzeige
AW: VBA, Extras -> Verweise automatisch setzen
30.06.2005 16:49:41
bst
Auch Hallo,
setze die Verweise vielleicht erstmal per Hand und schau Dir dann an welche Parameter Du für AddFromGuid oder AddFromFile brauchst.
cu, Bernd
--
Option Explicit

Public Sub ListReferencesInProject()
   Dim oRefs As Object ' References
   Dim oRef As Object ' Reference
   Dim i As Long
   
   Set oRefs = ActiveWorkbook.VBProject.References
   
   Range("A1") = "Bezeichnung"
   Range("B1") = "Name"
   Range("C1") = "Pfad"
   Range("D1") = "GUID"
   Range("E1") = "Major"
   Range("F1") = "Minor"
   Range("G1") = "Standard-Verweis"
   Range("A1:G1").Font.Bold = True
   
   i = 1
   For Each oRef In oRefs
      i = i + 1
      Cells(i, 1) = oRef.Description
      Cells(i, 2) = oRef.Name
      Cells(i, 3) = oRef.FullPath
      Cells(i, 4) = oRef.GUID
      Cells(i, 5) = oRef.Major
      Cells(i, 6) = oRef.minor
      Cells(i, 7) = oRef.BuiltIn
   Next
   Range("A1:G1").EntireColumn.AutoFit
   Set oRefs = Nothing
End Sub

Anzeige
AW: VBA, Extras -> Verweise automatisch setzen
30.06.2005 17:18:54
gerhard
danke für eure nette Hilfbereitschaft...
ich kann jedoch erst morgen an dem Thema weitermachen.
grüsse
gerhard
AW: VBA, Extras -> Verweise automatisch setzen
01.07.2005 13:08:13
gerhard
hallo ....
ich habe eurem Beispiel-Code angeschaut und ein bischen mit dem Debugger die aktuellen Werte im Projekt mir anzeigen lassen. Bei Durchsehen eures Codes ist mir jedoch eine ganz einfache Lösung für mein Problem aufgefallen
1. Dieses Testprogramm kompiliert nicht, wenn das Kontrollkästchen für Visual Basic Extensibilty nicht gesetzt ist

Sub test()
Dim vb as VBProject
End Sub

2. Diese Programm übersetzt erfolgreich und wird richtig ausgeführt, auch wenn das Kontrollkästchen nicht aktiviert ist

Sub test()
Dim vb as object
End Sub

Also ändere ich die Deklarierung von vb entsprechend um in object und schon funktioniert es.
Der Nachteil besteht jetzt darin, dass das Eintippen von Code und die Fehlersuche bei mir erschwert wird, da der Editor die Methoden und Eigenschaften von VBProject bei der Eingabe nicht unterstützt. Die Syntaxprüfung während der Eingabe ist dann weniger scharf. Bei Freigabe tritt der Fehler nicht mehr auf.
Ist vielleicht für einen Experten trivial, meine Erfahrung ist jedoch noch nicht so gut, um solche Probleme leicht beantworten zu können.
noch mal recht herzlichen Dank für eure Hilfe...
grüsse gerhard
Anzeige
AW: VBA, Extras -> Verweise automatisch setzen
02.07.2005 09:15:39
Nepumuk
Hi,
was hindert dich daran, den Verweis zu setzen, dein Makro mit den entsprechenden Variablen zu schreiben und wenn's funktioniert, den Verweis wieder zu entfernen und die Variablen als Objekte zu deklarieren. Ich mach das so, ist sehr bequem.
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen