FAQ
起動しているマップ ドキュメントのパスを取得する方法

ナレッジ番号:5308 | 登録日:2023/07/26 | 更新日:2023/12/28

概要

起動しているマップ ドキュメントのフォルダーは IDocumentInfo2::Folder、起動しているマップ ドキュメントの名前は IDocument::Title で取得できます。

サンプル コード

以下はマップ ドキュメントのパスを取得するサンプル コードです。 アドインのボタンクリックのイベントで記述されています。
protected override void OnClick() 
{
     //マップ ドキュメントにアクセス 
    IMxDocument  mxdoc = (IMxDocument)ArcMap.Document;
     //IDocumentInfo2 にキャスト
    IDocumentInfo2 docinfo = (IDocumentInfo2)mxdoc; 
    //IDocument にキャスト
    IDocument doc = (IDocument)mxdoc; 
    //起動中のマップ ドキュメントのパスとタイトルを出力
    MessageBox.Show("フォルダー= " + docinfo.Folder + "\n" + "タイトル = " + doc.Title);
          
} 
Protected Overrides Sub OnClick()
    'マップ ドキュメントにアクセス
    Dim mxdoc As IMxDocument = CType(My.ArcMap.Document, IMxDocument) 
    'IDocumentInfo2 にキャスト
    Dim docinfo As IDocumentInfo2 = CType(mxdoc, IDocumentInfo2) 
    'IDocument にキャスト    
    Dim doc As IDocument = CType(mxdoc, IDocument) 
    '起動中のマップ ドキュメントのパスとタイトルを出力
    MessageBox.Show("フォルダー =" + docinfor.Folder + vbCrLf + "タイトル =" + doc.Title)
End Sub 

※フォルダー オプションによって .mxd が付く場合と付かない場合があります。

メタデータ

種類

製品