2010-11-29 20 views
0

コードVisioのGlueTo方法私はここでGlueTo</p> <p>を使用してVisioで別の形状を接着しようとしています「このアクションの不適切なターゲットオブジェクト」を返します

 Set trgObj = Cell.shape.Document.Masters("Trigger").Shapes(1) 

     Dim x As shape    
     Set x = ActivePage.Drop(trgObj, flowConnector.CellsU("PinX"), flowConnector.CellsU("PinY")) 

     Dim vsoCell1 As Visio.Cell 
     Dim vsoCell2 As Visio.Cell 
     Set vsoCell1 = x.CellsU("PinX") 
     Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(flowConnector.ID).CellsSRC(7, 1, 0) 
     vsoCell1.GlueTo vsoCell2 

     'The following code I obtained through running a macro in visio 
     'Dim vsoCell1 As Visio.Cell 
     'Dim vsoCell2 As Visio.Cell 

     'The following is the equivalent to x 
     'Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(51).CellsU("PinX") 

     'The following is the equivalent to flowConnector 
     'Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(12).CellsSRC(7, 1, 0) 
     'vsoCell1.GlueTo vsoCell2 

あるそれは「のために不適切なターゲットオブジェクトを返します。このアクション "、しかし奇妙なのは、私がマクロを記録して得たコードを使用していることです。私はマクロでそれを記録するときにコードが動作する理由を理解できませんが、私はそれを使用していません。 誰でも助けてもらえると大変感謝しています。

答えて

0

は、私はむしろ、以下

Dim vsoCell1 As Visio.Cell 
Dim vsoCell2 As Visio.Cell 
Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(x.ID).CellsSRC(visSectionConnectionPts, 0, 0) 
Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(flowConnector.ID).CellsSRC(visSectionConnectionPts, 1, 0) 

visSectionConnectionPts, 0, 0) 

0,0を使用する代わりに、マクロ

Dim vsoCell1 As Visio.Cell 
Dim vsoCell2 As Visio.Cell 
Set vsoCell1 = x.CellsU("PinX") 
Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(flowConnector.ID).CellsSRC(7, 1, 0) 

によって提供されたコードを使用して問題を考え出しました接続点またはxセルのセル0を参照します。

0接続点における

visSectionConnectionPts, 1, 0) 

参照セル1またはY細胞

関連する問題