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

TuzhibaevTA

Russia
85 Posts

Posted - 06/04/2005 :  18:12:03
Цель: надо сделать кучу однотипных шейпов на основе одного мастера.
Нашел в visio функцию DropMany которая быстро плодит эти шейпы но не могу с ней разобраться. Не работает
Нашел учебный пример:
Public Sub DropMany_Example()

On Error GoTo HandleError

Dim vsoMasters As Visio.Masters
Dim intMasterCount As Integer
Set vsoMasters = ThisDocument.Masters
intMasterCount = vsoMasters.Count

ReDim varObjectsToInstance(1 To intMasterCount) As Variant
ReDim adblXYArray(1 To intMasterCount * 2) As Double
Dim intCounter As Integer
For intCounter = 1 To intMasterCount

'Pass name of object to drop to DropMany.
varObjectsToInstance(intCounter) = vsoMasters.Item(intCounter)Name

'Set x components of where to drop to 2,4,6,2,4,6,2,4,6,...
adblXYArray (intCounter * 2 - 1) = (((intCounter - 1) Mod 3) + 1) * 2

'Set y components to 2,2,2,4,4,4,6,6,6,...
adblXYArray (intCounter * 2) = Int((intCounter + 2) / 3) * 2

Next intCounter

Dim aintIDArray() As Integer
Dim intProcessed As Integer

intProcessed = ThisDocument.Pages(1).DropMany(varObjectsToInstance, _
adblXYArray, aintIDArray)
Debug.Print intProcessed

For intCounter = LBound(aintIDArray) To UBound(aintIDArray)
Debug.Print intCounter; aintIDArray(intCounter)
Next intCounter

Exit Sub

HandleError:
MsgBox "Error"

Exit Sub

End Sub
но он почему то плодит только шейпы, мастера которых находятся в документе. Менял ссылку мастеров на другой стенсил (vsoMasters)- функци не работает. :( Как победить эту беду?

Тужибаев Тимур

Tumanov

Russia
1198 Posts

Posted - 06/04/2005 :  21:42:01
Вообще-то, в хелпе явно сказано, что
"If ObjectsToInstance(i) is the string s (or a reference to the string s), then an instance of the Master object with name s in the document stencil of the target object's document is made".
А про произвольный трафарет нечего не говорится.
Но можно ведь до использования функции позаботиться, чтобы этот мастер-шейп появился в Document stencil.
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)