Tabellen-Objekte verschwunden
11.07.2018 11:03:03
Burkhard
ich habe hier ein seltsames, mir unerklärliches Phänomen: nach der Bearbeitung einer Excel-Datei (sImportToFile) durch ein VBA-Programm aus einer anderen Datei heraus hat die bearbeitete Datei sämtliche Tabellen verloren! Im VBA-Editor sind sie zwar unter "Microsoft Excel Objekte" noch zu sehen, mit der rechten Maustaste kann ich aber den Punkt "Objekt anzeigen" nicht auswählen, da er inaktiv (ausgegraut) ist. Der Code ist, sofern zutreffend, vorhanden.
Die VBA-Funktion in der "Hilfs-Datei" wirft aus der Zieldatei zuerst alle Forms und Module raus und importiert sie anschließend aus dem angegebenen Pfad (sImportFromPath) neu. Während der Laufzeit tritt kein Fehler auf ...
Function ImportToFile(ByVal sImportToFile As String, ByVal sImportFromPath As String)
Dim obImportComponent As Object
Dim wbImportWorkbook As Workbook
Dim sComponentToImport As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wbImportWorkbook = GetObject(sImportToFile)
With wbImportWorkbook.VBProject
For Each obImportComponent In .VBComponents
If obImportComponent.Type = 1 Or obImportComponent.Type = 3 Then
'modules and forms
.VBComponents.Remove .VBComponents(obImportComponent.Name)
End If
Next
sComponentToImport = Dir$(sImportFromPath & "*.*")
Do While sComponentToImport ""
If UCase$(Right$(sComponentToImport, 4)) = ".BAS" Or _
UCase$(Right$(sComponentToImport, 4)) = ".FRM" Then 'Or _
.VBComponents.Import sImportFromPath & sComponentToImport
End If
sComponentToImport = Dir$
Loop
End With
If Not wbImportWorkbook Is Nothing Then
wbImportWorkbook.Close True ' True = SaveChanges
Set wbImportWorkbook = Nothing
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Hat irgendjemand eine Idee?