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

"Projekt oder Bibliothek nicht gefunden" / Verweis

"Projekt oder Bibliothek nicht gefunden" / Verweis
14.11.2006 18:36:29
Dieterlem
Hallo Excelfreunde,
ich habe ein AddIn programmiert mit dem ich aus Excel heraus Mails mit Lotus Notes versenden kann. Dazu habe ich im VBA-Projekt unter Extras/Verweise... 2 Verweise (Bibliotheken) von Lotus Notes aktiviert. Nachdem ich das AddIn an einem anderen Rechner getestet habe, bekam ich die Fehlermeldung, daß das Projekt oder Bibliothek nicht gefunden wurde. Jedoch sind die benötigten Bibliotheken verfügbar (in der Liste aufgeführt) nur nicht aktiviert. Darauf hin habe ich folgende Prozedur geschrieben, damit die Bibliotheken aktiviert werden:

Sub VBE_einbinden()
Dim VBEObj As Object
Set VBEObj = Application.VBE.ActiveVBProject.References
On Error Goto ERRORHANDLER
VBE.AddFromFile "domoobj.tlb"
VBE.AddFromFile "notes32.tlb"
Exit Sub
ERRORHANDLER:
If Err.Number = 48 Then Exit 

Sub 'falls schon geladen
MsgBox "Die erforderlichen Bibliotheken...."
End Sub

Damit wird in der Verweisliste für jede Bibliothek ein Eintrag erzeugt und aktiviert:
NICHT VORHANDEN: Lotus Notes ....
Wenn ich dann manuell diese Verweise deaktiviere und die "richtigen Verweise" (also die ohne NICHT VORHANDEN:Lotus Notes...) aktiviere funktionier das AddIn auch wieder.
Wo steckt der Fehler?
Warum wird mir angezeigt, daß die Bibliothek nicht vorhanden ist?
Warum sind die Verweise nur auf dem einen Rechner aktiviert?
Gruß
Dieterlem

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Projekt oder Bibliothek nicht gefunden" / Ver
14.11.2006 18:49:14
Reinhard
Hi Dieterlem,
hier ist Code von Nepumuk, musste dir anpassen an AddfromFile usw. , Ich würde beim Dateinamen sicherheitshalber auch den Pfad mitangeben.
Public Sub prcAddReverence(objWorkbook As Workbook) 'anpassen
Dim intIndex As Integer
Dim blnFound As Boolean
On Error GoTo err_exit
With objWorkbook.VBProject.References 'anpassen
For intIndex = 1 To .Count
If .Item(intIndex).GUID = FM20_GUID Then   'anpassen
If .Item(intIndex).IsBroken Then
.Remove .Item(intIndex)
Else
blnFound = True
End If
End If
Next
If Not blnFound Then _
.AddFromGuid GUID:=FM20_GUID, Major:=2, Minor:=0  'anpassen
End With
objWorkbook.Application.Calculation = xlCalculationAutomatic
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & _
vbLf & Err.Description, vbCritical, "Fehler"
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: "Projekt oder Bibliothek nicht gefunden" / Ver
14.11.2006 18:56:38
Dieterlem
Hallo Reinhard,
ich werde es morgen im Betrieb sofort testen. Zuhause verwende ich kein Lotus Notes. Daher kann ich es nicht sofort testen.
Gruß
Dieterlem
AW: "Projekt oder Bibliothek nicht gefunden" / Ver
14.11.2006 19:01:08
Reinhard
Hi Dieterlem,
zum Verweissetzen ist es doch Excel egal ob es Lotus auf dem Rechner gibt oder nicht. Und wenn du die dateien nicht hast, nimm halt andere Verweisdateien von Excel zum Testen
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: "Projekt oder Bibliothek nicht gefunden" / Ver
15.11.2006 18:43:08
Dieterlem
Hallo Reinhard,
ich habe Dein Code nun angepasst. Die Bibliotheken werden auch aktiviert, jedoch bekomme ich eine Felhermeldung "Wechsel in den Haltemodus ist zu diesem Zeitpunkt nicht möglich.". Trotzdem wird die gewünschte Bibliothek aktiviert.
Public

Sub prcAddReverence()
Dim intIndex As Integer
Dim blnFound As Boolean
On Error GoTo err_exit
With Application.VBE.ActiveVBProject.References
For intIndex = 1 To .Count  'alle verwendete Bibliotheken
If .Item(intIndex).GUID = "{29131520-2EED-1069-BF5D-00DD011186B7}" Then
If .Item(intIndex).IsBroken Then
.Remove .Item(intIndex)
Else
blnFound = True
End If
End If
Next
If Not blnFound Then _
.AddFromGuid GUID:="{29131520-2EED-1069-BF5D-00DD011186B7}", Major:=1, Minor:=1 'domobj.tlb
End With
Application.Calculation = xlCalculationAutomatic
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & _
vbLf & Err.Description, vbCritical, "Fehler"
End Sub

Gruß
Dieterlem
Anzeige
Fehler: Wechsel in den Haltemodus ncht möglich
15.11.2006 19:36:02
Reinhard
Hallo Dieter,
diesen Fehler hatte ich letztens auch als ich zur Laufzeit Code in den Codebereich von Tabelle1 schrieb. Anscheinend weist der Editor darauf hin dass er nur im Haltmodus kompilieren kann o.ä.
Aber das ist nur eine ungeprüfte Vermutung meinerseits.
Ich sehe du hast da Major verändert, was bedeuten die parameter Major und Mior bei addfromguid bzw addfromfile?
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Fehler: Wechsel in den Haltemodus ncht möglich
15.11.2006 22:08:06
Dieterlem
Hallo Reinhard,
ich habe unten aufgefürten Code in einem Buch entdeckt und habe es in Deinen Code mit einfliesen lassen. Major und Minor sind Bestandteile der Bibliothek. Mit dem Code kannst Du die Informationen über alle aktivierten Bibliotheken auslesen. Ich werde mal versuchen, ob ich die Fehlermeldung "Wechsel in den Haltemodus ist zu diesem Zeitpunkt nicht möglich." irgendwie abfangen kann. Falls es mir gelingt werde ich es hier posten.

Sub infosZuBibliothekenAusgeben()
On Error Resume Next
For Each verweis In Application.VBE.ActiveVBProject.References
Debug.Print "Bezeichnung: " & verweis.Description & Chr(13) & "Speicherort: " & _
verweis.Fullpath & Chr(13) & "Name: " & verweis.Name & Chr(13) & "GUID: " & _
verweis.GUID & Chr(13); & "Major: " & verweis.Major & Chr(13) & "Minor: " & _
verweis.Minor & Chr(13) & Chr(13)
Next verweis
End Sub

Gruß
Dieterlem
Anzeige
AW: Fehler: Wechsel in den Haltemodus ncht möglich
15.11.2006 22:54:16
Reinhard
Hallo Dieter,
fürs Archiv, im Code ist ein ";" zuviel.
Gruß
Reinhard
AW: Fehler: Wechsel in den Haltemodus ncht möglich
17.11.2006 06:05:09
Dieterlem
Hallo Reinhard,
Major ist die Hauptversionsnummer und Minor ist die Nebenversionsnummer der jeweiligen Bibliothek. Bei Lotus Notes haben die sich von LoNo R5 auf LoNo R6 verändert.
Ich habe herausgefunden, daß die Fehlermeldung: "Wechsel in den Haltemodus ist zu diesem Zeitpunkt nicht möglich." nur erscheint, wenn ich den Code mit F8 durchgehe. bei einem Normalen durchgang (mit F5) gibt es keine Fehlermeldung. Somit läuft der Code Fehlerfrei

Sub infosZuBibliothekenAusgeben()
On Error Resume Next
For Each verweis In Application.VBE.ActiveVBProject.References
Debug.Print "Bezeichnung: " & verweis.Description & Chr(13) & "Speicherort: " & _
verweis.Fullpath & Chr(13) & "Name: " & verweis.Name & Chr(13) & "GUID: " & _
verweis.GUID & Chr(13) & "Major: " & verweis.Major & Chr(13) & "Minor: " & _
verweis.Minor & Chr(13) & Chr(13)
Next verweis
End Sub


Sub Bibliothek_hinzufügen()
Dim intIndex As Integer
Dim blnFound As Boolean
On Error GoTo err_exit
With Application.VBE.ActiveVBProject.References
For intIndex = 1 To .Count  'alle verwendete Bibliotheken
If .Item(intIndex).GUID = "{29131520-2EED-1069-BF5D-00DD011186B7}" Then
If .Item(intIndex).IsBroken Then
.Remove .Item(intIndex)
Else
blnFound = True
End If
End If
Next
If Not blnFound Then _
.AddFromGuid GUID:="{29131520-2EED-1069-BF5D-00DD011186B7}", Major:=1, Minor:=1 'domobj.tlb
End With
Application.Calculation = xlCalculationAutomatic
Exit Sub
err_exit:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & _
vbLf & Err.Description, vbCritical, "Fehler"
End Sub

Gruß
Dieterlem
Anzeige

194 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige