All Forums
 Категория Visio
 Форум Вопросы и ответы
 Не удаляются шейпы программно.
Author Previous Topic Topic Next Topic  

bdfy

Belarus
267 Posts

Posted - 05/04/2010 :  17:36:58
quote:
Sub test345343()
'Set w = Application.Windows(CStr(ThisDocument.name))

'On Error Resume Next
Set w = Application.Windows.ItemEx(Split(CStr(ThisDocument.Name), ".")(0)) 'Application.Windows(CStr(ThisDocument.name))

w.DeselectAll
For Each Sh In ActivePage.Shapes
If Left(Sh.Name, 3) <> "box" Then
w.Select Sh, visSelect
'Debug.Print Sh
'Sh.Delete
End If
'w.Selection.Delete
Next
End Sub


вот такой вот код. пробовал как через Sh.Delete, так и через w.Selection.Delete - удаляет не все шейпы. руками зайдешь - выделенное отлично удаляется. в чем дело ?
вот пример файла
http://rapidshare.com/files/383488093/Drawing137.vsd.html
чего с этим делать ? циклить удаление уже пробовал - не всегда помогает. и подобные проблемы встречаю регулярно в своих чертежах - в чем дело ?

Tumanov

Russia
1198 Posts

Posted - 05/04/2010 :  20:24:48
Из коллекции обычно удаляют от конца к началу.
См., http://visio.getbb.ru/viewtopic.php?f=6&t=48
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)