Documents.DocumentCreated イベント (Visio)

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

構文

DocumentCreated (doc)

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

パラメーター

名前 必須 / オプション データ型 説明
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 イベントが発生します。

ただし、DocumentCreated イベントを Document オブジェクトの EventList コレクションに追加することは、イベントのアクションが visActCodeRunAddon である場合にのみ意味があります。 この場合、イベントは永続可能です。ドキュメントと共に保存できます。 persistent イベントを含むドキュメントを開くと、そのアクションがトリガーされます。 persistent イベントが含まれているドキュメントに基づく、またはドキュメントからコピーされた場合は、 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 のサポートおよびフィードバックを参照してください。