2010-12-01 10 views
1

J'utilise Visio 2007 pour dessiner l'organigramme.
Tout fonctionne très bien, mais j'ai un problème sur la façon d'accéder et définir les propriétés de l'objet de forme dans l'espace de noms ci-dessousIntégration C# + Visio 2007

Microsoft.Office.Interop.Visio.Shape 

Toute aide sera très appréciée.

Répondre

0

Qu'essayez-vous de faire exactement? Voici comment je définis la propriété text d'une forme.

using Visio = Microsoft.Office.Interop.Visio; 

[...] (some code) 

Visio.Shape shape1 = page.Drop(currentStencil.Masters["Start/End"], 1.50, 1.50); 
shape1.Text = "John"; 
+0

Merci de votre réponse. Mais ce dont j'ai exactement besoin est de définir les propriétés personnalisées de la forme, autre que la propriété text. –

1

Visio fait un usage intensif de quelque chose appelé une cellule qui est similaire aux cellules Excel. Pour obtenir une référence de cellule d'une forme:

Visio.Cell aCell = shape1.Cells("Prop.XXXX"); 

XXXX est le nom de la propriété. Pour obtenir la valeur de la cellule:

aCell.FormulaU 
2

Il peut être utile non seulement vous, mais d'autres aussi .. :)

Importations Microsoft.Office.Interop.Visio Classe publique VisioMain

Dim currentStencil As Document 
Dim currentPage As Page 

Private Sub VisioMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    currentPage = DC.Document.Pages(1) 
    SetLandscape(currentPage) 

    currentStencil = DC.Document.Application.Documents.OpenEx("Rack-mounted Equipment (US units).VSS", VisOpenSaveArgs.visOpenDocked) 

    Dim stencilWindow As Window 
    stencilWindow = currentPage.Document.OpenStencilWindow 
    stencilWindow.Activate() 
End Sub 

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 

    ''Code to get individual property of Shape...........! 
    For Each objShape As Microsoft.Office.Interop.Visio.Shape In currentPage.Shapes 
     TextBox1.Text = objShape.Cells("Prop.Height").ResultStr("text") 
    Next 

    ''.............! 

End Sub 

Classe de fin

Questions connexes