Ошибка времени выполнения '-2032465766 (86db089a)' "Запрошенная операция в настоящее время отключена."

Это странно Почему Visio выбрасывает исключение?

Сценарий:

  1. Откройте новый экземпляр Visio.
  2. Нажмите CTRL+N для пустого нового документа.
  3. Перейти к VB редактор.
  4. Откройте файл кода по умолчанию "ThisDocument".
  5. Вставьте следующий код.

    Sub test () Application.ActiveWindow.SelectAll End Sub
  6. Выполните подпрограмму "Тест".

Вы увидите это исключение для строки кода "Application.ActiveWindow.SelectAll":

---------------------------
Microsoft Visual Basic for Applications
---------------------------
Run-time error '-2032465766 (86db089a)':



Requested operation is presently disabled.
---------------------------
OK   Help   
---------------------------

Кто-нибудь знает почему?

3 ответа

Решение

Ошибка "Запрошенная операция в настоящее время отключена" означает буквально это - запрошенная операция в данный момент отключена (в меню) (потому что это не имеет смысла).

В вашем случае вы не можете сделать "Выбрать все", потому что нечего выбирать (у вас нет фигур). Поэтому команда "выбрать все" отключена.

Если бы на чертеже было несколько фигур, этот код работал бы просто отлично.

Я чувствую, что Visio выдает исключение по дизайну, если вы пытаетесь выполнить операцию выбора с помощью кода, когда в документе нет объекта.

Я надеюсь, что это изменение в будущих версиях.

Эта процедура не относится к ThisDocument модуль, который предназначен для событий документа. Щелкните правой кнопкой мыши ThisDocument в Project Explorer слева и выберите Вставить модуль, вырежьте и вставьте код здесь.

Если вы добавите одну или несколько фигур в документ и нажмете, чтобы выбрать одну из них перед запуском вашего кода, то это сработает. Это потому, что раньше не было ActiveWindowчто и стало причиной ошибки. Выбор всех фигур отключен, если нет активного окна.

Другие вопросы по тегам