Author |
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
|
Как-то Вы не совсем точно обрисовали ситуацию... У меня этот код работает нормально. |
|
|
immortal
Russia
391 Posts |
Posted - 02/09/2005 : 09:03:22
|
У меня тоже все работает, попробуй макрос сделать не в документе а в Module, там где его пишет рекодер, и(или) напиши Application.ActivePage.Shapes(1).Copy может помогет, вобщето это одно и тоже
и указывайте версию визио (2000,2002, 2003) ибо некоторые вопросы и решения могут касаться конкретной версии
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
|
|
Sabin
11 Posts |
Posted - 02/09/2005 : 09:45:36
|
Согласен, смутно совсем написал. Во-первый Visio 2003. Во-вторых, выполнить этот код на чистом листе с простым прямоугольником, то всё отлично работает.
В моем случае это всё отказалось работать потому что у меня вместо простого прямоугольника размножается прямоугольник, привязанный к базе данных, а в самом прямоугольнике текстом вставлены поля базы.
Причем, Shape Drop Event в аддоне Link to Database специально выставлено в None. |
|
|
Sabin
11 Posts |
Posted - 02/09/2005 : 11:38:33
|
Собственно, вопрос открыт, так почему я не могу сделать Copy & Paste фигуры, прицепленной к базе данных?
Или как иначе клонировать объект? |
|
|
Tumanov
Russia
1198 Posts |
Posted - 02/09/2005 : 19:30:17
|
Так речь уже идет не о клонировании объекта, а о взаимодействии двух программ, обслуживающих события, причем одна из них Ваша, а поведение второй вообще прогнозируется с трудом. Вторая программа еще и не документирована. В такой ситуации уверенности в корректной работе не будет никогда. Что-то гарантировать можно только решив задачу связи с базой своими силами. Тогда Вы хотя бы будете представлять поведение обеих программ. |
|
|
immortal
Russia
391 Posts |
Posted - 02/10/2005 : 08:19:43
|
рекомендую перед копированием считать все данные связи с базой, удалить их из копируемого шейпа, скопировать шейп, вставить, и вставить в оба шейпа считанные ранее данные связи с базой
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
|
|
|
Topic |
|