Активные X командные кнопки со вторым дисплеем - PullRequest
0 голосов
/ 07 ноября 2018

Я поместил командные кнопки Active X в книгу Excel. Они прекрасно работают, когда рабочая книга отображается на основном мониторе, но не когда рабочая книга отображается на дополнительном мониторе. Как это исправить?

Я не уверен, что это аппаратно, но я запускаю MS Surface Pro 5. Дома он подключен к док-станции Surface с двумя мониторами; Экран устройства дублируется на один монитор (основной), а рабочий стол расширяется на другой. На ходу я использую портативный монитор через порт Mini Display. Проблема возникает в обеих конфигурациях.

1 Ответ

0 голосов
/ 08 ноября 2018

к сожалению у меня была такая же проблема. Это связано не с аппаратным, а с программным обеспечением. Если вы измените разрешение экрана или проектора (в моем случае), активные кнопки x начинают расти и деформироваться.

Решение, которое я использовал, заключается в том, чтобы запускать этот код при каждом активном действии x (просто наберите call для sub), чтобы убедиться, что кнопки / метки и т. Д. Находятся на своем месте.

Set wbkWorkbook1 = ThisWorkbook

Set Rng = wbkWorkbook1.Worksheets("WS1").Range("A14:F15")
wbkWorkbook1.Worksheets("WS1").BTN.Width = Rng.Width
wbkWorkbook1.Worksheets("WS1").BTN.Height = Rng.Height
wbkWorkbook1.Worksheets("WS1").BTN.Left = wbkWorkbook1.Worksheets("WS1").Range(wbkWorkbook1.Worksheets("WS1").BTN.TopLeftCell.Address).Left
wbkWorkbook1.Worksheets("WS1").BTN.Top = wbkWorkbook1.Worksheets("WS1").Range(wbkWorkbook1.Worksheets("WS1").BTN.TopLeftCell.Address).Top

Что делает этот код: в этом примере у нас есть активная кнопка X с пометкой ' BTN ' на листе с именем ' WS1 '. После запуска этого сценария он выравнивает BTN по диапазону A14: F15 .

Таким образом, если вы измените разрешение и запустите этот код, ваши активные элементы управления x будут перенастроены.

Вы можете пройти через все элементы управления с помощью процедуры do ... loop until.

...