Hallo zusammen,
ich habe in Access (VBA) einen kleinen Code geschrieben, der Werte verschiedener Felder des aktuellen Datensatzes in bestimmte Zellen einer Excel Datei kopiert. Das klappt auch alles sehr gut.
Leider öffnet sich die Excel-Datei nur minimiert (das Excel-Symbol befindet sich in der Taskleiste und blinkt).
Wie kann ich es anstellen, dass sich die Excel-Datei sofort maximiert öffnet?
Hier der VBA-Code:
Dim xlApp As Object, xlBook As Object, xlSheet As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open("Z:\werkstatt\auftragDurchsicht.xlt")
Set xlSheet = xlBook.Sheets("Tabelle1")
xlSheet.Cells(4, 8).value = Me.Angebotsnummer
xlSheet.Cells(10, 8).value = Me.KM_Stand
xlSheet.Cells(10, 1).value = Me.PKW
xlSheet.Cells(12, 1).value = Me.Kw_PS
xlSheet.Cells(12, 3).value = Me.HSN
xlSheet.Cells(12, 4).value = Me.TSN
xlSheet.Cells(12, 7).value = Me.Erstzulassung
Mein Betriebssystem ist Win7 64bit.
Vielen Dank im Voraus.
Gruß Edgar
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Hallo Edgar,
hilft Dir der Link weiter?
http://support.microsoft.com/kb/510042/de
Hallo Karl,
vielen Dank für Dein Interesse, aber bei Deinem Link handelt es sich um das maximierte Öffnen von Datenbanken; ich suche allerdings nach einer Möglichkeit, die Exceldatei maximiert zu öffnen.
Folgendes habe ich schon ausprobiert:
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
ActiveWindow.WindowState = xlNormal
Application.DisplayFullScreen = True
alles ohne Erfolg
Ob es nur bei Win7 so ist, kann ich erst am Montag sagen; dann wird es auf einem XP-Rechner ausprobiert. Wenn es da klappt, ist ja alles in Ordnung, denn da sollen die Datenbank und die Excel-Datei eingesetzt werden.
Gruß Edgar
Nur als Tipp etwas code-kosmetik:
Das:
xlSheet.Cells(4, 8).value = Me.Angebotsnummer
xlSheet.Cells(10, 8).value = Me.KM_Stand
xlSheet.Cells(10, 1).value = Me.PKW
xlSheet.Cells(12, 1).value = Me.Kw_PS
xlSheet.Cells(12, 3).value = Me.HSN
xlSheet.Cells(12, 4).value = Me.TSN
xlSheet.Cells(12, 7).value = Me.Erstzulassung
kannst du besser so schreiben:
With xlSheet
.Cells(4, 8).value = Me.Angebotsnummer
.Cells(10, 8).value = Me.KM_Stand
.Cells(10, 1).value = Me.PKW
.Cells(12, 1).value = Me.Kw_PS
.Cells(12, 3).value = Me.HSN
.Cells(12, 4).value = Me.TSN
.Cells(12, 7).value = Me.Erstzulassung
End With
Ist aber wirklich nur kosmetik
Volker
Hallo zusammen,
ich habe es eben auf meinem Laptop (WinXP) ausprobiert. Dort wird die Excel-Datei normal, also maximiert geöffnet. Es scheint also an Win7 zu liegen (die "Superbar" ?).
@Volker
Stimmt, aber es scheint wirklich "nur" Kosmetik zu sein; es sind zwar 2 Zeilen mehr, dafür aber fast 30 Zeichen weniger und ist professioneller. Danke dafür, habe es schon geändert.
Ich werde den Thread jetzt schließen.
Gruß Edgar
Es spart in erster linie tipparbeit, speziell wenn man mehrfach auf dasselbe Objekt Operationen machen muss.
Klar, man kann das Objekt in eine Variable packen (das hast du getan),, aber manchmal muss man das nachte Systemobjekt nutzen und dann ist es hilfreich:
statt 8 mal
ThisWorkbook.Worksheets("Tabelle1").Cells(n,m)= ....
schreibt sich
With ThisWorkbook.Worksheets("Tabelle1")
.Cells(....)
.Cells(..)
...
...
...
End with
erstens deutlich leichter und ist zweitens auch leichter lesbar.
Volker
Ich persönliche lehne .With ab mal so nebenbei.
xlApp.Visible = false
xlApp.Visible = true
Manchmal hilft das.
Ansonsten mit WinApi.
Verrätst du auch, warum? Ich sehe keinen logischen Grund dafür, im Ggenteil.