Useform autiomatisch aanpassen bij gebruik van laptop

  • Onderwerp starter Onderwerp starter gst
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

gst

Gebruiker
Lid geworden
5 jan 2010
Berichten
125
Besturingssysteem
64-bits besturingssysteem, x64-processor
Office versie
Microsoft Office LTSC Professional Plus 2021
Geacht forum,

Voor een groot aantal gebrukers heb ik een toepassing gemaakt in Excel VBA.
Daarbij maak ik voornamelijk gebruik van useforms.
Omdat het merendeel van de gebruikers een beeldscherm gebruikt van 24", heb ik de useforms hierop afgesteld.

Echter zijn er een paar gebruikers die gebruik maken van een laptop.
Hierbij komen de gebruikte useforms te groot op het scherm.

Bestaat er een mogelijkheid dat de useform met alle gebruikte besturingselementen en tekst automatisch verkleind worden wanneer het programma gebruikt wordt op een laptop?

Wat ik wel gevonden heb, staat in de volgende link.
http://www.helpmij.nl/forum/showthread.php/662943-Userform-automatisch-aanpassen-aan-schermgrootte
Echter werkt dit niet als gewenst.
 
Wat is niet goed aan die oplossing dan ?
 
Je kunt in principe kijken hoe "groot" excel zelf is. Je kunt ook de beeldscherminformatie opvragen (zie dus gelinkt topic).

Indien je je userform voorziet van scrollbars zat dat grotendeels ook zichzelf oplossen (afhankelijk van de layout e.d. natuurlijk)

"verkleinen" kan inderdaad prima, maar zul je zelf een framework voor moeten schrijven die opdracht geeft om dat uit te voeren. In die zin is het niet "automatisch". Dit soort dingen zijn echter wel mogelijk met vb.net, maar helaas is VBA nog steeds gebaseerd op VB6 van 15 jaar geleden.
 
Op de laptop valt een groot deel van de useform buiten beeld.
 
probeer:

Code:
Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "USER32" (ByVal hWnd As Long) As Long

Private Sub UserForm_Initialize()
    SetWindowLong FindWindow(vbNullString, Caption), -16, 0
    DrawMenuBar FindWindow(vbNullString, Caption)
    With Application
        .WindowState = -4137
        Height = .Height
        Width = .Width
    End With
End Sub
 
Laatst bewerkt:
Wampier,

Ik heb de scrollbars van de userforms ingesteld, echter vallen deze op de laptop net buiten beeld! Dus ook dit werkt niet.

SNB,
Toegevoegd bestand geprobeerd.
Op de pc (met 24" beeldscherm) is de useform beeldvullend.
Op de laptop (15.6") is er geen verandering.
 
Even zelf 'gegoogled' en het volgende gevonden. Zoom mogelijkheid. Zie bijlage.
Alle meedenkers bedankt!

gst
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan