All Forums
 Категория Visio
 Форум Вопросы и ответы
 Удалить все (очистить рисунок)
Author Previous Topic Topic Next Topic  

bdfy

Belarus
267 Posts

Posted - 01/08/2009 :  18:15:15
вот вроде простая задача, выделить все - нажать делит. макрос думал тоже будет простой, ан не получается ((
quote:

Application.Windows.ItemEx("test.vsd").Activate
Application.ActiveWindow.SelectAll

Application.ActiveWindow.Selection.Delete

получаю ошибку
Requested operation presently disabled :(
что делать ?

Tumanov

Russia
1198 Posts

Posted - 01/08/2009 :  20:56:25
Если в чистом документе нарисовать несколько прямоугольничков и выполнить Ваш код, то он нормально срабатывает. Значит дело в начинке Ваших документов.
Нужно искать, что именно в документе мешает выполнению операции.
Вариант - последовательно стирать все до того момента, пока не начнет выполняться.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 01/08/2009 :  22:06:25
мдя похоже я апробовал этот код на пустом документе каждый раз )) по привычке стирая все руками. надо в код добавить рисование какого квадрата предварительно...
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/25/2009 :  12:25:34
еще проблема. если не листе есть фигуры защищенные от удаления (их я хочу оставить), то код выдает ошибку (
Application.ActiveWindow.SelectAll
Application.ActiveWindow.Selection.Delete
как форсировать это дело или предупреждение убрать хотя бы ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 03/25/2009 :  18:20:53
Это не предупреждение, а сообщение об ошибке.
Убирается, если сказать, что обработку берешь на себя (On Error Resume Next). А потом можно опять включить стандартный обработчик (On Error GoTo 0).
Получится примерно так
On Error Resume Next
Application.ActiveWindow.Selection.Delete
On Error GoTo 0
А если нужно защищенные оставить, то, пожалуй, придется добавлять шейпы к селектированным по одному, проверяя каждый на наличие защиты.
Go to Top of Page

bdfy

Belarus
267 Posts

Posted - 03/25/2009 :  20:51:42
quote:
А если нужно защищенные оставить, то, пожалуй, придется добавлять шейпы к селектированным по одному, проверяя каждый на наличие защиты.

ч0рт (( cтранно что руками то удаляется. потом предупреждение выскакивает. а макросом наоборот - сперва предупреждение и не удаляет
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)