Datei im Hintergrund verborgen öffnen und anschließend wieder schließen
#1
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


Top
#2
Hi Ralf,

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

Gruß Uwe
Top
#3
(01.09.2015, 15: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"
Top
#4
Hi Ralf,

(02.09.2015, 10: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
Top
#5
(02.09.2015, 13: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.
Top
#6
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
Top
#7
Hi Uwe,

(02.09.2015, 17: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.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste