Изменить размеры Excel Windows на половину экрана - PullRequest
0 голосов
/ 31 января 2020

У меня есть 4 Excel Windows:

  • Microsoft Visual Basi c для приложений - PERSONAL.XLSB [перерыв]

  • Рабочая тетрадь1

  • Рабочая тетрадь2

  • Рабочая тетрадь3

Я хочу Изменить размеры моего windows таким образом:

  • VBA будет: Высота = 100% от высоты моего компьютера, Ширина = 50% от половины ширины моего компьютера и положение окна должно быть с правой стороны.

  • Рабочие книги 1-3 будут: Высота = 100% от высоты моего компьютера, Ширина = 50% от половины ширины моего компьютера и положение окна должно быть с левой стороны.

** Я предполагаю, что для доступа к Microsoft Visual Basi c для приложений - PERSONAL.XLSB [перерыв] Мне нужна ссылка на windows системная библиотека, но я считаю, что это возможно

Есть идеи, пожалуйста?

Ответы [ 2 ]

1 голос
/ 31 января 2020

Вы можете попробовать код ниже:

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

Это разделит ваш экран на две части :) Теперь вы можете изменить этот код дальше:)

Пример результата:

enter image description here

0 голосов
/ 31 января 2020

Может быть, это вам поможет.

Sub SetWindowSize1()
    Application.WindowState = xlNormal
    Application.Top = 25
    Application.Left = 25
    Application.Width = 300
    Application.Height = 200
End Sub

А чтобы установить ширину и высоту окна в соответствии с размером экрана, здесь вы можете увидеть код: https://www.ozgrid.com/forum/index.php?thread / 142634-vba -to-auto-resize-user-form-зависимости от разрешения экрана /

Код от l oop до VBA windows:

Sub ListWindows()
Dim wn As Excel.Window
For Each wn In Application.Windows
    MsgBox wn.Caption
Next wn
End Sub
...