根据用户屏幕分辨率调整显示?

时间:2020-06-04 04:42:42

标签: excel vba screen screen-resolution

我正在为VBA程序设计一个项目,整个程序将以最大化/全屏视图查看。没有选项卡,公式栏等。用户将使用自定义按钮和命令浏览工作表。问题是我的大部分设计来自笔记本电脑(分辨率为1366/768),在较大的显示器(分辨率为2880/1620)上观看时,该视图在美学上并不令人满意。

有没有一种方法可以对VBA进行编码以根据用户的屏幕大小来调整视图?我知道使用range.zoom,但这只会导致图像在较大的屏幕上显得异常庞大,即使要缩放,当屏幕移到屏幕上方时,将缩放设置回去也更令人赏心悦目。一定的大小。即使该过程不是自动的。我不反对在程序开始时打开输入框,以便用户在运行之前选择小,中或大。

Private Sub Workbook_Open()

    Dim wsh As Worksheet
    Dim CarryOn As Integer
    Set wbPB = PokerBros
    Set wsh = wbPB.Worksheets("Home")

        CarryOn = MsgBox("Do you want to save a copy of this original file?", vbQuestion + vbYesNo, "Save Copy Recommended")
        If CarryOn = vbYes Then
           Call CopyToNewBook
        End If

        wsh.Activate
        Call ZoomToFitHome
        Call ScreenDisplayMax
End Sub

Sub ZoomToFitHome()

    Dim wbh As Worksheet
    Set wbPB = PokerBros
    Set wbh = wbPB.Worksheets("Home")

        wbh.Range("A1:AA30").Select

        ActiveWindow.Zoom = True 'set range zoom

End Sub

Sub ScreenDisplayMax()
'        Call UnProtectAllSheets
        With Application
            .DisplayStatusBar = False
            .DisplayFullScreen = True
            With ActiveWindow
                .WindowState = xlMaximized
                .DisplayHeadings = False
                .DisplayWorkbookTabs = False
                .DisplayGridlines = False
                .DisplayHorizontalScrollBar = True
                .DisplayVerticalScrollBar = True
            End With
            .DisplayFormulaBar = False
        End With
End Sub

0 个答案:

没有答案
相关问题