次の方法で共有


InvisibleApp.DocumentCreated イベント (Visio)

図面を作成した後に発生します。

構文

DocumentCreated (doc)

InvisibleApp オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
doc 必須 [IVDOCUMENT] 作成された図面です。

注釈

DocumentCreated イベントは、通常、Microsoft Visio テンプレート ファイル (.vst) の EventList コレクションに追加されます。 そのテンプレートを基に新しい図面を作成すると、このイベントの動作が実行されます。

Microsoft Visual Basic または Visual Basic for Applications (VBA) を使用している場合、このトピックの構文を使用して、イベントを一般的な方法で効率的に処理できます。

独自の Event オブジェクトを作成する場合は、Add メソッドまたは AddAdvise メソッドを使用します。

アドオンを実行する Event オブジェクトを作成するには、EventList コレクションに対して Add メソッドを使用します。

通知を受け取る Event オブジェクトを作成するには、AddAdvise メソッドを使用します。

作成するイベントのイベント コードについては、「イベント コード」を参照してください。

DocumentCreated イベントは、Application オブジェクト、Documents コレクション、または Document オブジェクトの EventList コレクションに追加できます。 最初の 2 つの場合は単純で、Application オブジェクトまたはその Documents コレクションのスコープ内で図面を開くか作成した場合に、DocumentCreated イベントが発生します。

ただし、Document オブジェクトのEventList コレクションに DocumentCreated イベントを追加することは、イベントのアクションが visActCodeRunAddon の場合にのみ意味があります。 この場合、イベントは永続化可能です。ドキュメントと共に格納できます。 永続的なイベントを含むドキュメントを開くと、そのアクションがトリガーされます。 永続的なイベントを含むドキュメントに基づいて新しいドキュメントがコピーされた場合、 DocumentCreated イベントが新しいドキュメントにコピーされ、そのアクションがトリガーされます。 ただし、イベントのアクションが visActCodeAdvise の場合、そのイベントは永続化できないため、ドキュメントと共に格納されません。そのため、トリガーされることはありません。

DocumentCreatedDocumentOpened、または DocumentAdded イベントに対するコードの実行、およびすべてのイベントの発生を禁止するには、Application オブジェクトの EventsEnabled プロパティを False に設定します。

この VBA の例は、図面に追加された図形で、"Square" という名前のマスター シェイプに基づいて作成された図形を数える方法を示します。

DocumentCreated イベント ハンドラーは、このコードを含むテンプレートを基に新しい図面を作成すると実行されます。 イベント ハンドラーは整数型の変数 intNumberOfSquares を初期化して、カウントを保存するために使用します。

ShapeAdded イベント ハンドラーは、図形をステンシルからドラッグするか、描画ツールで描画するか、クリップボードから貼り付けるかに関係なく、図形が描画ページに追加されるたびに実行されます。 ハンドラーは、新しい図形の Master プロパティをチェックし、図形が Square マスターに基づいている場合は、 intNumberOfSquares をインクリメントします

 
Dim intNumberOfSquares As Integer 
 
Private Sub Document_DocumentCreated(ByVal vsoDocument As Visio.IVDocument) 
 
'Initialize number of squares added. 
 intNumberOfSquares = 0 
 
End Sub 
 
 
Private Sub Document_ShapeAdded(ByVal vsoShape As Visio.IVShape) 
 
 Dim vsoMaster As Visio.Master 
 
 'Get the Master property of the shape. 
 'the shape was created locally. 
 Set vsoMaster = vsoShape.Master 
 
 'Check whether the shape has a master. If not, 
 If Not (vsoMaster Is Nothing) Then 
 
 'Check whether the master is "Square". 
 If vsoMaster.Name = "Square" Then 
 
 'Increment the count for the number of squares added. 
 intNumberOfSquares = intNumberOfSquares + 1 
 
 End If 
 
 End If 
 
 MsgBox "Number of squares: " & intNumberOfSquares, vbInformation, _ 
 "Document Created Example" 
 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。