Suite

Comment enregistrer .mxd par programmation ?

Comment enregistrer .mxd par programmation ?


Comment enregistrer un .mxd par programmation ? Le projet n'est jamais enregistré et en cliquant sur un bouton, je veux enregistrer le projet.

j'utiliseEnregistrerFichierDialoguepour obtenir le chemin du fichier, puis utilisez ce qui suit :

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

Cela plante mon ArcMap. Aucune suggestion?


J'ai pu obtenir les résultats suivants :

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(); }

Apprécier ton aide.


vous obtenez certainement le crochet IApplication/IMxApplication dans votre code, vous pouvez obtenir le pointeur IMxDocument, puis le convertir en IMapDocument :

IMxDocument ipMxDoc=(IMxApplication)ipApp ; // Supposons que ipApp ait été obtenu via un hook passé dans la méthode OnCreate de l'interface ICommand IMapDocument ipMapDoc=(IMapDocument)ipMxDoc; ipMapDoc.SaveAs(fileName); // Supposons fileName obtenu à partir d'un SaveDialogBox

Voir la vidéo: importer une symbologie..lyr sur un fichier de forme sur ArcMap