2017-07-28 17 views
0

以下のようなテンプレートを使用する多くのフローチャートを作成する必要があります。 enter image description here.NetプログラミングによるVisioファイル内のテキストの検索と置き換え方法

各フローチャートは「TABLE_NAME」ラベルを変更します。

最後に、各フローチャートは、Iがワードアプリケーション

vDoc.Content.Find.Execute(FindText:="*TABLE_NAME*", ReplaceWith:=screenTitle & " Master", Replace:=Word.WdReplace.wdReplaceAll) 

しかし、このISN」のよう機能を交換使用しようとした画像(.PNG)

Private Sub CreateFlowChartVisio(ByVal TemplateFilename As String, ByVal saveAs As Object) 
    Dim vApp As Visio.Application 
    Dim vDoc As Visio.Document  
    vApp = New Visio.Application()   
    vDoc = vApp.Documents.OpenEx(TemplateFilename, 4) 

    ''///Code for replace TABLE_NAME likes below code''// 
    vDoc.Content.Find.Execute(FindText:="*TABLE_NAME*", ReplaceWith:=screenTitle & " Master", Replace:=Word.WdReplace.wdReplaceAll) 

    For Each p As Visio.Page In vDoc.Pages 
     Dim n As String = saveAs 
     p.Export(n) 
    Next 
    vDoc.Close() 
End Sub 

ことが輸出されました働いている。

答えて

1

私は、Wordアプリケーション

vDoc.Content.Find.Execute(FindText:="*TABLE_NAME*", ReplaceWith:=screenTitle & " Master", Replace:=Word.WdReplace.wdReplaceAll) 

しかし、これは動作していないのようにReplace関数を使用しようとしました。

それぞれの図形には独自のテキストプロパティがあるためです。ページ上のすべての図形を反復処理する必要があります。文書内のすべてのページを繰り返します。
msワードのメソッドは、ms visioで動作しません。このタスクのVBAマクロ

Dim p as Page 
Dim shp as Shape 
For each p in vDoc.Pages 
For Each shp In p.Shapes 
    shp.Characters.Text = Replace(shp.Characters.Text, "TABLE_NAME", screenTitle & " Master") 
Next shp 
p.export(n) 
Next p 
関連する問題