将Excel窗口大小更改为屏幕的一半
我有4个Excel窗口:将Excel窗口大小更改为屏幕的一半,excel,vba,windows,screen-size,Excel,Vba,Windows,Screen Size,我有4个Excel窗口: Microsoft Visual Basic for Applications-PERSONAL.XLSB[中断] 工作手册1 工作手册2 工作手册3 我想用这种方式更改窗口的大小: VBA将是:高度=计算机高度的100%,宽度=计算机宽度的50%,窗口位置应在右侧 工作手册1-3将是:高度=我电脑高度的100%,宽度=我电脑宽度的50%,窗口的位置应在左侧 **我想要访问Microsoft Visual Basic for Applications-PERSO
- Microsoft Visual Basic for Applications-PERSONAL.XLSB[中断]
- 工作手册1
- 工作手册2
- 工作手册3
- VBA将是:高度=计算机高度的100%,宽度=计算机宽度的50%,窗口位置应在右侧
- 工作手册1-3将是:高度=我电脑高度的100%,宽度=我电脑宽度的50%,窗口的位置应在左侧
**我想要访问Microsoft Visual Basic for Applications-PERSONAL.XLSB[break]我需要一个windows系统库的参考,但我相信这是可能的
有什么想法吗?也许这会对你有所帮助
Sub SetWindowSize1()
Application.WindowState = xlNormal
Application.Top = 25
Application.Left = 25
Application.Width = 300
Application.Height = 200
End Sub
要根据屏幕大小设置窗口宽度和高度,请参见以下代码:
要在VBA窗口中循环的代码:
Sub ListWindows()
Dim wn As Excel.Window
For Each wn In Application.Windows
MsgBox wn.Caption
Next wn
End Sub
您可以尝试以下代码:
Sub ChangeWindowSize()
' get size of a screen
Application.WindowState = xlMaximized
windWidth = Application.width
windHeight = Application.height
' set size and location of a main workbook
Application.WindowState = xlNormal
Application.Top = 0
Application.Left = 0
Application.width = windWidth / 2
Application.height = windHeight
Call OpenOtherWorkBookAndSetSize(windWidth, windHeight)
End Sub
Sub OpenOtherWorkBookAndSetSize(windWidth As Variant, windHeight As Variant)
Dim appExcel As Application
Dim objWorkbook As Workbook
Dim i As Integer
'create new excel application object
Set appExcel = New Application
'open other workbook
Set objWorkbook = appExcel.Workbooks.Open("path to the file")
' just example setting
appExcel.WindowState = xlNormal
appExcel.Top = 0
appExcel.Left = windWidth / 2
appExcel.width = windWidth / 2
appExcel.height = windHeight
appExcel.Visible = True
End Sub
它会将您的屏幕分成两半:)现在您可以进一步修改此代码:)
示例结果:
这是一个很好的解决方案,谢谢。我编辑了原始帖子,我需要更改一个不是窗口对象或工作簿对象的窗口,它是Microsoft Windows窗口,我想我需要对Windows系统库的引用,但我相信这是可能的,有什么想法吗?Microsoft Visual Basic for Applications-PERSONAL.XLSB不是工作簿。当您在Excel中单击Alt+F11时,它将打开不是工作簿的Visual Basic。我需要右边的屏幕,这意味着我可能必须控制windows 10的窗口,并添加对我的库的引用。谢谢,我一定会查看它。我正试图在计算机打开的窗口中循环,以便访问VBA窗口:Microsoft Visual Basic for Applications-PERSONAL.XLSB[break],有什么想法吗?