首页 > 解决方案 > 如何使用 VBA 更改外部应用程序的屏幕大小

问题描述

我试过下面的代码来调整 Excel 的屏幕大小

Sub win()
Dim myWindow1 As Window, myWindow2 As Window
Set myWindow1 = ActiveWindow
Set myWindow2 = myWindow1.NewWindow
With myWindow1
    .WindowState = xlNormal
    .Top = 0
    .Left = 0
    .Height = Application.UsableHeight
    .Width = Application.UsableWidth * 0.25
End With
With myWindow2
    .WindowState = xlNormal
    .Top = 0
    .Left = (Application.UsableWidth * 0.25) + 1
    .Height = Application.UsableHeight
    .Width = Application.UsableWidth * 0.75
End With
End Sub

但我想更改谷歌浏览器的屏幕大小。如果不使用 shell 打开新的 Chrome 应用程序,我该怎么办?我想更改已经打开的 Chrome 应用程序的屏幕大小

标签: vbaexcelgoogle-chromescreen-size

解决方案


您可以使用 User32 库中的函数来控制外部窗口。以下是针对 Google Chrome“新标签”窗口执行此操作的示例:

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Sub Resize_Chrome()
Dim ChromeHandle As Long
ChromeHandle = FindWindow(vbNullString, "New Tab - Google Chrome")
SetWindowPos ChromeHandle, -1, 0, 0, 600, 600, &H10
End Sub

这会将窗口设置为左上角 (0,0),像素大小为 600 x 600 (600,600)

有关 SetWindowPos 函数的详细信息,请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/ms633545%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396


推荐阅读