Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application andocken

Application andocken
27.02.2022 20:32:33
zoom
Hallo,
wird eine Application händisch mit der Maus am z.B. oberen Rand gegriffen (Mauszeiger wird zum ObenUntenpfeil) und zieht den Rand dann nach oben, dann dockt die Application oben am Bildschirmrand an. Ihre Höhe wird maximal und sie lässt sich dann wie auf Schienen verschieben, wenn sie mit der Maus im oberen Rahmenfeld gegriffen wird.
Wenn ich folgendes einsetze:

Application.Top = 1
Application.Height = xlMaximized
Platziert sich die Application am oberen Bildschirmrand, allerdings ist sie nicht angedockt, also lässt sich nicht wie auf Schienen verschieben. xlMaximized wird auch nicht ausgeführt.
Kann mir da geholfen werden? Vielen Dank.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application andocken
27.02.2022 21:05:27
Daniel
Hi
ich vermute mal, dass du das Andocken an den oberern Rand mit VBA nicht nachbilden kannst.
VBA ist schon recht alt und das Andocken ist ist neu ich vermute mal, dass das in VBA nicht nachgezogen wurde. Dir werden ja nur die drei Zustände minimiert, normal und maximiert angeboten. dieses: in Höhe maximiert und in Breite normal, gibt es bei Application.WindowState nicht zur Auswahl .
Hier müsste man wahrscheinlich schon tief in die Windows-Trickkiste greifen, um das nachzubilden (wenn es überhaupt geht)
bei der Höhe musst du den passenden Pixelwert einstellen. Das xlMaximized gilt nur für die Eigenschaft Application.WindowState. Hinter der Systemkonstanten xlMaximized steckt der Zahlenwert -4137 und der ist für die Höhe nicht sinnvoll.
wenn du die Application vom oberen bis zum unteren Rand ausdehnen willst, ohne die Breite zu verändern und das auch auf unterschiedlichen Bildschirmen funktionieren soll, kannst du das so machen, dass du dir:
1. die aktuelle breite merkst
2. die Application maximierst
3. im maximierten Zustand die Höhe und Topwert merkst
4. die Application wieder auf den Normalzustand zurücksetzt und dann die gemerkten breiten-, höhen- und Top-Werte einstellst:

Sub test()
Dim H As Single, T As Single, W As Single
With Application
W = .Width
.WindowState = xlMaximized
T = .Top
H = .Height
.WindowState = xlNormal
.Top = T
.Height = H
.Width = W
End With
End Sub
Gruß Daniel
Anzeige
Vielen Dank!
28.02.2022 06:35:02
zoom
oT.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige