Innstilling Program vindusstørrelsen i en makro

May 19  by Eliza

Christopher behov, innenfor en makro, for å sette størrelsen på Excel programvinduet. Han vet hvordan han skal angi størrelsen på et regneark innenfor programvinduet, men det er ikke det han trenger. Han lurer på hvordan han kan sette den totale størrelsen på programvinduet, pluss sørge for at han ikke setter det større enn brukerens faktiske skjermstørrelsen.

Dette kan gjøres ganske enkelt hvis man vet hvilke objekter og egenskaper til bruk i makro. Objektet du ønsker å bruke, er programmet objektet, som refererer til Excel-programmet. Her er de relevante egenskaper:

  • Top. Skjermen piksel på som den øverste kanten av programvinduet bør plasseres.
  • Venstre. Skjermen piksel som venstre kant av programvinduet bør plasseres.
  • Bredde. Bredden i programvinduet, i piksler.
  • Høyde. Høyden på programvinduet, i piksler.

Med disse i tankene, kan du angi posisjonen og størrelsen på programvinduet på denne måten:

Sub SetWindowSize1 ()
Application.WindowState = xlNormal
Application.Top = 25
Application.Left = 25
Application.Width = 300
Application.Height = 200
End Sub

Denne makroen angir øvre venstre hjørne av programvinduet for å være 25 piksler fra toppen av skjermen og 25 piksler fra venstre på skjermen. Deretter blir programmet vinduet satt til å være 300 bildeelementer bred og 200 piksler høy. Oppmerksom på, også, innstillingen av WindowState eiendom på den første av makroen. Dette setter vinduet for å være i en "normal" tilstand, noe som betyr en som kan bli endret til noe større enn minimert og mindre enn maksimert. (Hvis du vil at Excel programvinduet for å ta hele skjermen, sett WindowState eiendom til xlMaximized og glemme resten av innstillingene i makro.)

Selvfølgelig setter denne makroen Excel programvinduet for å være ganske liten. I all sannsynlighet vil du ønsker den skal være større, men du ønsker ikke at det skal være større enn størrelsen på brukerens skjerm. Den enkleste måten å finne ut størrelsen på brukerens skjerm er å bare maksimere Excel programvinduet og deretter se på Bredde og Høyde egenskaper. Du kan deretter justere disse tallene basert på hvor du vil ha øvre venstre hjørne av skjermen for å være, og deretter justere deretter.

Som et eksempel, la oss si at du vil at programvinduet for å starte på 25, 50 og du vil at det skal være 1000 x 500. Du kan bruke kode som ligner på følgende:

Sub SetWindowSize2 ()
Dim iMaxWidth As Integer
Dim iMaxHeight As Integer
Dim iStartX As Integer
Dim iStartY As Integer
Dim iDesiredWidth As Integer
Dim iDesiredHeight As Integer

iStartX = 50 'Avstand fra venstre
iStartY = 25 'Avstand fra topp
iDesiredWidth = 1000
iDesiredHeight = 500

Med Application
.WindowState = XlMaximized
iMaxWidth = Application.Width
iMaxHeight = Application.Height

'Juster for startpunkt
iMaxWidth = iMaxWidth - iStartX
iMaxHeight = iMaxHeight - iStartY
Hvis iDesiredWidth> iMaxWidth Deretter
iDesiredWidth = iMaxWidth
End If
Hvis iDesiredHeight> iMaxHeight Deretter
iDesiredHeight = iMaxHeight
End If

.WindowState = XlNormal
.Øverst = IStartY
.Left = IStartX
.Width = IDesiredWidth
.Height = IDesiredHeight
Avslutt med
End Sub

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (10938) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Innstilling Program vindusstørrelse i en makro.