Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1600to1604
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
Inhaltsverzeichnis

Zugriff auf VBProject zickt auf anderem Rechner

Zugriff auf VBProject zickt auf anderem Rechner
22.01.2018 10:19:33
Burkhard
Hallo miteinander,
ich importiere per VBA Codemodule (aus sImportFromPath) in eine Excel-Datei (sImportToFile). Auf meinem Rechner funktioniert auch alles wunderbar; auf einem anderen Rechner reagiert das "Workbooks.Open" sehr seltsam: anstatt im Code weiterzumachen, wird die Zieldatei geöffnet (sichtbar im Vordergrund) und dann ist Ende.
    Dim obImportComponent As Object
Dim wbImportWorkbook As Workbook
Dim sImportToFile As String
Dim sImportFromPath As String
sImportToFile = ActiveSheet.Range("D6").Value
sImportFromPath = ActiveSheet.Range("D8").Value
Application.EnableEvents = False
Workbooks.Open sImportToFile
Application.EnableEvents = True
Set wbImportWorkbook = Workbooks(getName(sImportToFile))
With wbImportWorkbook.VBProject
For Each obImportComponent In .VBComponents
[...]
Auf beiden Rechnern läuft derselbe Code; es ist dieselbe Excel-Version installiert (2007), dasselbe Betriebssystem (Windows 7), dieselben Verweise:
Visual Basic For Applications
Microsoft Excel 12.0 Object Library
OLE Automation
Microsoft Office 12.0 Object Library

Hat irgendjemand eine Idee, woran das liegen könnte? Oder zumindestens, was man noch überprüfen könnte? Ich bin dankbar für jeden Hinweis, jede Idee, jede Vermutung!
Grüße
Burkhard

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf VBProject zickt auf anderem Rechner
22.01.2018 12:10:59
Rudi
Hallo,
wird auf dem anderen Rechner dem Zugriff vertraut?
Gruß
Rudi
AW: Zugriff auf VBProject zickt auf anderem Rechner
22.01.2018 14:24:40
Burkhard
Hallo Rudi,
sieht so aus, als ob ja:
  • unter „Einstellungen für Makros“ ist das Häkchen vor „Zugriff auf das VBA-Projektobjektmodell vertrauen“ gesetzt
  • bei den "Eigenschaften von VBAProjekt" ist „Projekt für die Anzeige sperren“ NICHT gesetzt

  • Gibt es noch andere Stellen?
    Grüße
    Burkhard
    Was macht getName(...)? oT
    22.01.2018 15:49:52
    Anton
    AW: Was macht getName(...)? oT
    22.01.2018 16:21:32
    Burkhard
    Hallo Anton,
    getName holt sich aus einem Pfad den Namen der Datei:
    Function getName(sText As String) As String
    Dim iPos As Integer
    getName = ""
    If Right(sText, 1) = "\" Then sText = Left(sText, Len(sText) - 1)
    iPos = InStrRev(sText, "\", , vbTextCompare)
    getName = Right(sText, Len(sText) - iPos)
    End Function
    
    Das Set wbImportWorkbook funktioniert ja noch, aber sobald man irgendwie (sogar im Direktfenster) auf VBProject zugreift, steigt die Entwicklungsumgebung aus.
    Grüße
    Burkhard
    Anzeige
    vielleicht so(ungetestet):
    22.01.2018 17:38:49
    Anton
    Hallo Burkhard,
         ...
    Application.EnableEvents = False
    Set wbImportWorkbook = Workbooks.Open(sImportToFile)
    With wbImportWorkbook.VBProject
    For Each obImportComponent In .VBComponents
    Application.EnableEvents = True
    
    mfg Anton
    AW: vielleicht so(ungetestet):
    23.01.2018 12:32:44
    Burkhard
    Hallo Anton,
    wenn die events beim Set wbImportWorkbook disabled sind, bekomme ich für jede einzelne Tabelle und jedes einzelne Codemodul eine überaus aussagekräftige Fehlermeldung: "Fehler beim Laden von [Name]". Ich kann das Laden fortsetzen oder abbrechen oder die Hilfe aufrufen.
    Wenn ich die events gleich nach dem Workbooks.Open wieder einschalte, beendet sich der Code mit dem Zugriff auf VBProjects. Eine MsgBox, die ich etwas weiter unten (vor dem End With) eingefügt habe, wird nicht angezeigt.
    Wenn ich das im Debugger durchklickere, bleibt der Editor in der Zieldatei in der Tabelle InputSheet in
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    stehen (die ganze Tabelle und auch das SelectionChange wird in der Zieldatei beim Öffnen durch VBA-Code neu generiert) und der Debugging-Mode ist beendet.
    Gibt's noch irgendwelche Ideen? Es muss ja nicht der Code sein, irgendetwas an irgendwelchen Einstellungen scheint auf dem anderen Rechner wohl anders zu sein.
    Grüße
    Burkhard
    Anzeige

    302 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige