我正在为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