Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arbeitsmappe einblenden

Arbeitsmappe einblenden
Mirke
Hallo, ich kopiere aus einer Access Datenbank mit VBA-Code eine Excel-Datei (Vorlage) an einen neuen Ort und schreibe Daten aus der Datenbank in einzelne Zellen der Excel-Datei. Dies funktioniert grundsätzlich problemlos. Wenn ich jedoch die neue Excel-Datei öffne, ist diese grundsätzlich ausgeblendet. Ich muss diese immer erst über "Einblenden" "Arbeitsmappe" aktivieren. Wenn ich die Excel-Datei danach speichere funktioniert alles korrekt.
Gibt es eine Möglichkeit diese Eigenschaft der Excel-Datei über VBA-Code aus Access einzustellen?
Vielen Dank für evtl Hilfe!
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Arbeitsmappe einblenden
01.10.2011 05:37:45
fcs
Hallo Mirke,
wenn du die Vorlage-Datei in Excel direkt öffnest, wird diese dann eingeblendet angezeigt?
Wie greifst du im Access-Makro auf die kopierte Excel-Datei zu?
Wird in dem Makro die Visible-Eigenschaft von Excel-Fenstern via
ActiveWindow.Visible = False
'oder
Windows("Dateiname.xlsx").Visible = False
auf ausgeblendet gesetzt?
Falls ja, dann diese Anweisungen rausnehmen oder vor dem Speichern der Datei via
Windows("Dateiname.xlsx").Visible = True
Datei einblenden.
Falls das Makro komplett "unsichtbar" ablaufen soll, dann ist es ausreichend, nur die Excel-Anwendung auf nicht sichtbar zu setzen. z.B.:
Excel.Application.Visible = False
'oder
objExcelApp.Visible = False 'Wenn mit einer Objekt-Variablen für die Excel-Anwendung gearbeitet wird.
evtl. vor dem Beenden die Visible-Eigenschaft wieder auf True setzen. Das hängt dann davon ab, ob man im Makro eine neue Instanz von Exel erzeugt (dann diese ggf. mit Quit beenden), oder ob man mit der aktiven/geöffneten Excel-Anwendung arbeitet (dann den Visible-Status wieder auf True setzen).
Gruß
Franz
Anzeige
AW: Arbeitsmappe einblenden
03.10.2011 12:07:01
Mirke
Vielen Dank für die Antwort.
Die Vorlage-Datei kann ich problemlos öffnen, sie ist nicht ausgeblendet.
Die "Excel.Application" benutze ich nicht.
So sieht der VBA-Code aus, mit dem ich die Werte aus der Datenbank in die Excel-Datei schreibe:
'Vorlage kopieren
FileCopy "Vorlage_01.xls", "Neue_Datei.xls"
'Excel Zugriff
Dim EXL_OBJ As Object
Dim EXL_SHEET As Object
Set EXL_OBJ = GetObject("Neue_Datei.xls")
Set EXL_SHEET = EXL_OBJ.Worksheets(1)
'Werte schreiben
EXL_SHEET.Cells(1, 3) = WERT1
EXL_OBJ.Save
Anzeige
AW: ACCESS-Export, Excel-Arbeitsmappe einblenden
03.10.2011 14:44:39
fcs
Hallo Mirke,
indirekt wird natürlich schon die Excel-Anwendung benutzt/gestartet.
Mit der GetObject-Anweisung wird hier dann entweder im Hintergrund die Excelanwendung ausgeblendet gestartet oder aber die aktive Excelanwendung benutzt.
Warum dabei das Fenster der Excel-Arbeitsmappe seinen Visible-Status auf "ausgeblendet" ändert ist das Geheimnis der Mikrosoftprogrammierer.
Ich hab dein Makro mal in einer Office 2007-Umgebung getestet mit Word als Programm, das die Excelanwendung aufruft. Das Phänomen ist das gleiche wie bei dir von Access aus.
Mit den folgenden Anpassungen bleibt die Exceldatei eingeblendet. Unter Word musste ich dabei das Verzeichnis explizit wechseln, damit der Kopiervorgang funktioniert, und auch in der GetObject-Anweisung ist die Angabe des Verzeichnisses erforderlich. Die Exceldatei sollte nach dem Speichern auch unbedingt geschlossen werden.
Wenn die Excelanwendung schon geöffnet ist, dann "flackert" der Dateiname der neuen Datei während der Makroausführung ggf. kurz in der Taskleiste auf, aber die Ausführung des Makros ist deutlich schneller.
Gruß
Franz

Sub Export_Data_to_Excel()
Dim WERT1 As Variant                'Deklaration zum Testen        Testzeile
WERT1 = Format(Now, "YYYY-MM-DD hh:mm:ss")                         'Testzeile
'Excel Zugriff
Dim EXL_OBJ As Object
Dim EXL_SHEET As Object
Dim strEXL_NewFile As String          'Variable für Dateiname der neuen Exceldatei
Dim strPath As String                 'Verzeichnis der Exceldateien
strPath = ActiveDocument.Path         'Verzeichnis der Dateien    'unter Word erforderlich
ChDir strPath                                                     'unter Word erforderlich
strEXL_NewFile = "Neue_Datei.xls"
FileCopy "Vorlage_01.xls", strEXL_NewFile
Set EXL_OBJ = GetObject(strPath & "\" & strEXL_NewFile)
Set EXL_SHEET = EXL_OBJ.Worksheets(1)
'Werte schreiben
EXL_SHEET.Cells(1, 3) = WERT1
'Exeldatei im Anwendungsfenster einblenden
EXL_OBJ.Application.Windows(strEXL_NewFile).Visible = True
'Exceldatei Speichern und schliessen
EXL_OBJ.Save
EXL_OBJ.Close
End Sub

Anzeige
AW: ACCESS-Export, Excel-Arbeitsmappe einblenden
04.10.2011 03:59:14
Mirke
Hallo Franz, vielen Dank ... es funktioniert.
ich hatte zuerst in der Anweisung
EXL_OBJ.Application.Windows(strEXL_NewFile).Visible = True
den kompletten String des Dateinamens der neuen Datei eingefügt und eine Fehlermeldung erhalten.
Danach habe ich die Ordnerstruktur abgeschnitten und es klappt prima!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Arbeitsmappe einblenden


Schritt-für-Schritt-Anleitung

Um eine ausgeblendete Excel-Arbeitsmappe wieder einzublenden, kannst Du die folgenden Schritte befolgen:

  1. Öffne Excel: Starte Excel und öffne die Datei, die Du einblenden möchtest.

  2. Navigiere zum Menü: Gehe zu "Fenster" in der Menüleiste (oder "Ansicht" in neueren Versionen).

  3. Arbeitsmappe einblenden: Wähle "Einblenden" und klicke auf die angegebene Arbeitsmappe.

  4. Makro verwenden: Wenn Du eine Arbeitsmappe einblenden möchtest, die durch ein VBA-Makro erstellt wurde, benutze den folgenden Code:

    EXL_OBJ.Application.Windows("Dateiname.xlsx").Visible = True
  5. Speichern: Vergiss nicht, die Datei zu speichern, um die Änderungen zu sichern.


Häufige Fehler und Lösungen

  • Problem: Die Excel-Datei ist nach dem Öffnen ausgeblendet.

    • Lösung: Überprüfe den Code auf die Verwendung der Visible-Eigenschaft. Stelle sicher, dass diese auf True gesetzt ist, wie im Schritt 4 erwähnt.
  • Problem: Fehlermeldung beim Einblenden.

    • Lösung: Vergewissere Dich, dass der Dateiname korrekt und ohne den kompletten Pfad angegeben ist. Der Code muss nur den Dateinamen enthalten.

Alternative Methoden

Wenn Du eine Excel-Datei einblenden möchtest, die nicht über VBA geöffnet wurde, kannst Du auch die folgenden Methoden ausprobieren:

  1. Taskleiste: Klicke mit der rechten Maustaste auf das Excel-Symbol in der Taskleiste und wähle die ausgeblendete Datei aus.

  2. Tastenkombination: Drücke Alt + F10, um das aktuelle Fenster zu maximieren oder es wiederherzustellen.

  3. Excel-Fenster einblenden: Verwende den Befehl Windows("Dateiname.xlsx").Visible = True in einem VBA-Makro.


Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie Du eine ausgeblendete Excel-Arbeitsmappe mithilfe eines Makros einblenden kannst:

Sub ArbeitsmappeEinblenden()
    Dim EXL_OBJ As Object
    Set EXL_OBJ = GetObject("C:\Pfad\zu\Deiner\Datei.xlsx")

    ' Arbeitsmappe einblenden
    EXL_OBJ.Application.Windows("Datei.xlsx").Visible = True
End Sub

Dieses Makro öffnet eine Excel-Datei und blendet sie ein, sodass Du sofort damit arbeiten kannst.


Tipps für Profis

  • Verwendung von Makros: Automatisiere den Prozess, indem Du ein Makro erstellst, das die Arbeitsmappe bei jedem Öffnen automatisch einblendet.

  • Fehlerprotokollierung: Implementiere eine Fehlerbehandlung in Deinem VBA-Code, um Probleme beim Einblenden der Arbeitsmappe zu protokollieren.

  • Sichtbarkeit steuern: Nutze die Visible-Eigenschaft von Excel-Anwendungen effizient, um zu steuern, ob die Anwendung im Vordergrund oder im Hintergrund läuft.


FAQ: Häufige Fragen

1. Wie kann ich eine ausgeblendete Excel-Arbeitsmappe wieder einblenden?
Du kannst die Arbeitsmappe über das Menü "Fenster" oder mithilfe eines VBA-Befehls wie Windows("Dateiname.xlsx").Visible = True einblenden.

2. Was mache ich, wenn ich eine Fehlermeldung beim Einblenden erhalte?
Stelle sicher, dass der Dateiname korrekt angegeben ist und keine zusätzlichen Pfadangaben enthält. Überprüfe auch, ob die Arbeitsmappe tatsächlich geöffnet ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige