4 votos

Cómo ahorrar .mxd a través de programación?

¿Cómo puedo guardar una .mxd a través de programación? El proyecto nunca se guarda y de clic de botón, quiero guardar el proyecto.

Yo uso SaveFileDialog para obtener la ruta de acceso y, a continuación, utilice la siguiente:

IMapDocument mapDocument= ArcMap.Document as IMapDocument;
mapDocument.SaveAs(projectPath);

Este se bloquea mi ArcMap. Alguna sugerencia?

4voto

Yo era capaz de lograr resultados como los siguientes:

public void SaveProject()
{
    UID uid = new UIDClass();
    //uid.Value = "{119591DB-0255-11D2-8D20-080009EE4E51}"; 
    uid.Value = "esriArcMapUI.MxFileMenuItem";
    uid.SubType = 3;
    ICommandItem item = ArcMap.Application.Document.CommandBars.Find(uid, false);
    item.Execute();      
}

Agradezco su ayuda.

3voto

Ben Combee Puntos 7193

estás seguro de obtener IApplication/IMxApplication gancho de alguna manera en el código, a continuación, usted puede obtener IMxDocument puntero y, a continuación, echó a IMapDocument:

IMxDocument ipMxDoc=(IMxApplication)ipApp;

//Suppose ipApp has been obtained via hook passed in OnCreate method of ICommand interface

IMapDocument ipMapDoc=(IMapDocument)ipMxDoc;

ipMapDoc.SaveAs(fileName);
//Suppose fileName obtained from a SaveDialogBox

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X