次の方法で共有


InvisibleApp.StencilPaths プロパティ (Visio)

Microsoft Visio がステンシルを検索するパスを取得または設定します。 値の取得と設定が可能です。

構文

StencilPaths

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

戻り値

String

注釈

StencilPaths プロパティは、既定では空の文字列 ("") に設定されます。

StencilPaths プロパティとの間で渡される文字列と受け取る文字列は、[ファイルの場所] ダイアログ ボックスに表示される文字列と同じです。 ([ ファイル ] タブをクリックし、[ オプション] をクリックし、[ 詳細設定] をクリックし、[ 全般] の [ ファイルの場所] をクリックします)。この文字列は、 HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Visio\Application\StencilPath サブキーに格納されます。

ステンシルを検索するときに、Visio は StencilPaths プロパティで指定されたすべてのパス、およびそれらのパスのすべてのサブフォルダーを検索します。 StencilPaths プロパティを EnumDirectories メソッドに渡すと、渡されたフォルダーの完全修飾パスの全一覧が返されます。

StencilPaths プロパティを設定すると、[ファイルの場所] ダイアログ ボックスのステンシルの既存の値が置き換えられます。 既存の値を保持するには、次のコードに示すように、既存の文字列を取得し、その文字列に対して新しいファイル パスを追加します。

Application.StencilPaths = Application.StencilPaths & ";" & "newpath ".

警告

レジストリ エディターでもプログラムによっても、任意の方法で Windows レジストリを変更すると、常にある程度のリスクが伴います。 変更が不適切な場合、オペレーティング システムの再インストールが必要になるなどの問題が起きる場合があります。 コンピューターのレジストリの修正の際には、常にあらかじめバックアップをとるようにしてください。

この Microsoft Visual Basic for Applications (VBA) マクロは、StencilPaths プロパティを使用して、ステンシルへのパスを追加する方法を示します。

 
Public Sub ShowStencilPaths_Example() 
  
    Dim strMessage As String 
    Dim strNewPath As String 
    Dim strStencilPath As String 
    Dim strTitle As String 
 
    'Get the path we want to add.  
    strStencilPath = Application.StencilPaths  
    strTitle = "StencilPaths"  
    strMessage = "The current content of the Visio Stencils box is:"  
    strMessage = strMessage & vbCrLf & strStencilPath  
    MsgBox strMessage, vbInformation + vbOKOnly, strTitle  
    strMessage = "Type in an additional path for Visio to look for stencils. "  
    strNewPath = InputBox$(strMessage, strTitle)  
 
    'Make sure the folder exists and that it's not 
    'already in the stencil paths.  
    strMessage = ""  
    If strNewPath = ""  Then 
        strMessage = "You did not enter a path." 
        ElseIf InStr(strStencilPath, strNewPath)  Then 
            strMessage = "The path you specified is already in the stencil paths."  
        ElseIf Len(Dir$(strNewPath, vbDirectory)) = 0 And _  
                Len(Dir$(Application.Path & strNewPath, _  
                vbDirectory)) = 0 Then 
            strMessage = "The folder you typed does not exist (or is blank)."  
        Else 
            Application.StencilPaths = strStencilPath & ";" & strNewPath  
            strMessage = "We just added " & strNewPath & _  
                " to the stencil paths."  
        End If 
   
    If strMessage <> ""  Then 
        MsgBox strMessage, vbExclamation + vbOKOnly, strTitle  
    End If 
   
End Sub

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

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