Clever-Excel-Forum

Normale Version: Datei im Hintergrund verborgen öffnen und anschließend wieder schließen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

wie kann ich eine Datei im Hintergrund öffnen, ohne daß sie angezeigt wird?

So öffne ich sie, aber dann ist sie das "ActiveWorkbook":

Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Workbooks("Öffnungs-Test.xlsb").Close savechanges:=True
End Sub

Private Sub Workbook_Open()
  vntFileName = ThisWorkbook.Path                                                  ' aktueller Dateipfad
  Workbooks.Open Filename:=vntFileName & "\Öffnungs-Test.xlsb"
   
End Sub


VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15


Hi Ralf,

Code:
Private Sub Workbook_Open()
 GetObject ThisWorkbook.Path & "\Öffnungs-Test.xlsb"
End Sub

Gruß Uwe
(01.09.2015, 14:46)Kuwer schrieb: [ -> ]Hi Ralf,

Code:
Private Sub Workbook_Open()
 GetObject ThisWorkbook.Path & "\Öffnungs-Test.xlsb"
End Sub

Gruß Uwe

danke.
Damit wird die Datei im Hintergrund geöffnet, aber es kommt Fehler 432: "Datei- oder Klassenname während Automatisierungsoperation nicht gefunden"
Hi Ralf,

(02.09.2015, 09:16)Rabe schrieb: [ -> ]Damit wird die Datei im Hintergrund geöffnet, aber es kommt Fehler 432: "Datei- oder Klassenname während Automatisierungsoperation nicht gefunden"

das kann ich bei mir nicht nachvollziehen, außer der Datei- oder Pfadname stimmt nicht. Dann wird aber auch nichts geladen.

Gruß Uwe
(02.09.2015, 12:30)Kuwer schrieb: [ -> ]das kann ich bei mir nicht nachvollziehen, außer der Datei- oder Pfadname stimmt nicht. Dann wird aber auch nichts geladen.

ich bin ja doof: Ich hatte nicht den Original-Dateinamen drin stehen.

Jetzt lädt er die Datei im Hintergrund und zeigt sie auch nicht an, aber jetzt kommt in der Zelle ein #BEZUG!-Fehler:
Hier die Formel:
='...Orig-Pfad...\Öffnung Test.xlsb'!Tabelle1[@[Dauer 2]]

Wenn ich die zweite Datei manuell nochmal öffne, dann ist sie im Vordergrund, und die Fehler sind weg.
Hi Ralf,

probiere es doch dann einfach mal so:

Code:
Private Sub Workbook_Open()
 Application.ScreenUpdating = False
 Workbooks.Open ThisWorkbook.Path & "\Öffnungs-Test.xlsb"
 Me.Windows(1).Activate
 Application.ScreenUpdating = True
End Sub

Gruß Uwe
Hi Uwe,

(02.09.2015, 16:11)Kuwer schrieb: [ -> ]probiere es doch dann einfach mal so:

Code:
Private Sub Workbook_Open()
 Application.ScreenUpdating = False
 Workbooks.Open ThisWorkbook.Path & "\Öffnungs-Test.xlsb"
 Me.Windows(1).Activate
 Application.ScreenUpdating = True
End Sub

da war dann trotzdem das Öffnungs-Test nicht verborgen und es war auch noch aktiviert.

Ich habe jetzt statt "Me.Windows(1).Activate" mit "ThisWorkbook.Activate" den Fokus auf die aufrufende Datei gelegt. Dann ist Öffnungs-Test zwar ebenfalls nicht verborgen, aber es liegt wenigstens nicht aktiviert vorne.