All Forums
 Категория Visio
 Форум Вопросы и ответы
 Обращение к странице в документе
Author Previous Topic Topic Next Topic  

Sabin

11 Posts

Posted - 02/08/2005 :  17:58:44
Имею следующий код:

ActivePage.Shapes(1).Copy
ActivePage.Paste


При выполнении кода из редактора Visual Basic всё проходит отлично. При выполнении же макроса из меню Tools\Macros\ThisDocument\Macro1, получаю ошибку (exception). Далее ещё интереснее, если вставить в код

MsgBox 1

и нажать на этот самый MsgBox, то всё отрабатывается отлично.

Вопрос, как правильно обращаться к объектам и документа?

Tumanov

Russia
1198 Posts

Posted - 02/08/2005 :  18:30:16
Как-то Вы не совсем точно обрисовали ситуацию...
У меня этот код работает нормально.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 02/09/2005 :  09:03:22  Visit immortal's Homepage
У меня тоже все работает, попробуй макрос сделать не в документе а в Module, там где его пишет рекодер, и(или) напиши
Application.ActivePage.Shapes(1).Copy
может помогет, вобщето это одно и тоже

и указывайте версию визио (2000,2002, 2003) ибо некоторые вопросы и решения могут касаться конкретной версии

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Sabin

11 Posts

Posted - 02/09/2005 :  09:45:36
Согласен, смутно совсем написал.
Во-первый Visio 2003.
Во-вторых, выполнить этот код на чистом листе с простым прямоугольником, то всё отлично работает.

В моем случае это всё отказалось работать потому что у меня вместо простого прямоугольника размножается прямоугольник, привязанный к базе данных, а в самом прямоугольнике текстом вставлены поля базы.

Причем, Shape Drop Event в аддоне Link to Database специально выставлено в None.
Go to Top of Page

Sabin

11 Posts

Posted - 02/09/2005 :  11:38:33
Собственно, вопрос открыт, так почему я не могу сделать Copy & Paste фигуры, прицепленной к базе данных?

Или как иначе клонировать объект?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/09/2005 :  19:30:17
Так речь уже идет не о клонировании объекта, а о взаимодействии двух программ, обслуживающих события, причем одна из них Ваша, а поведение второй вообще прогнозируется с трудом. Вторая программа еще и не документирована. В такой ситуации уверенности в корректной работе не будет никогда. Что-то гарантировать можно только решив задачу связи с базой своими силами. Тогда Вы хотя бы будете представлять поведение обеих программ.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 02/10/2005 :  08:19:43  Visit immortal's Homepage
рекомендую перед копированием считать все данные связи с базой, удалить их из копируемого шейпа, скопировать шейп, вставить, и вставить в оба шейпа считанные ранее данные связи с базой

визио 2003 форэвер

...а вобще-то я белый и пушистый.
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)