在arcobjects中打开mxd vb.net加入

时间:2015-02-17 03:24:17

标签: vb.net add-in arcobjects

我正在尝试使用vb.net在ESRI ArcMap加载项中打开mxd。用户以空白mxd开头并运行工具以打开存储在文件中的mxd。代码打开的mxd在布局中有一些要素图层和一些图形。

到目前为止,我有:

Dim mapdoc As IMapDocument = New MapDocumentClass()
mapdoc.Open("D:\__Test\LockItInPMAV.mxd")

该文档打开,因为我可以通过以下方式获取其文件名:

MsgBox("Filename: " & mapdoc.DocumentFilename)

但是,数据视图和布局视图仍为空白,它们不显示已打开文件的内容。

如何让打开的文件显示在当前的ArcMap会话中?

谢谢, 路加。

1 个答案:

答案 0 :(得分:0)

我在C#工作。我不确定你是否可以在加载后加载mxd。 您可能需要加载新的arcmap实例并将mxd名称作为参数传递:

var expanPath = Environment.GetEnvironmentVariable(Properties.Settings.Default.arcmapLaunchPath, 
EnvironmentVariableTarget.Machine);

string Cmd = string.Format(@"{0}\arcmap.exe", expanPath);
ProcessStartInfo startInfo = new ProcessStartInfo(Cmd);
startInfo.Arguments = Properties.Settings.Default.MxDPath;

Process.Start(startInfo);           
Process.GetCurrentProcess().Kill();

MXD拥有如何详细说明arcmap实例如何操作,以至于不容易重新加载它。我们的esri承包商证实了这一点。

我被告知亲,完全改变了这一点。