...I've googled all over and can't find any info on this...where is there a tutorial on where to place this file, so that ArcMap will see it. Thanx.
Solved! Go to Solution.
THIS is what I've been looking for:
Getting a Reference to the Currently Loaded Document in ArcMap
John, are you trying to access this programatically, and if so, what development software are you trying to use?
Are you trying to find it based on the ArcMap Options dialog?
My guess is it is buried somewhere in the C:\Users\<user>\AppData\Roaming\ESRI\Desktop10.3\ArcMap\Templates\Normal.mxt file, but that is only a guess. I was not able to change the value in the above dialog.
A search of the registry shows it
So that my give a clue on how to modify or control it, but again, a guess, either is it embedded in the normal.mxt, OR it just ignores is unless it finds the file in the C:\Program Files (x86)\ArcGIS\Desktop10.3\MapTemplates folder.
I would try putting a new Map.Start file in that folder and see what happens. (I would try it, but no time right now...and don't really know what would go into the file.)
If this is not what you are going for, please supply additional info re: the version of ArcMap and the development environment you are using. That will help others focus on what you are asking and you may get more responses.
...A ProgID is short for "Programmatic ID". It is usually an identifier for a COM/ActiveX top-level object that can be accessed using Visual Basic for Applications (VBA) or VBscript.
I did a search through my CLSIDs, and couldn't find a ProgID called "Map.Start".
Then I found this article:
ArcObjects 10 .NET SDK Help: the IStartupDialog Interface
...According to this article, the developer writes a .NET class that ArcMap will then look for and use upon startup. In Visual Studio, if you compile a project called "Map" and a class called "Start", and put it in the right place, ArcMap by default will look for and use that class upon startup. But by changing that registry entry you could call your project and class anything you want. That's why I didn't find a ProgID called "Map.Start" in my registry.
...But all of this is moot, because as of ArcGIS version 4, VBA will be deprecated in favor of Python. That's why this question is not important, and why I will not get any other replies for it.
But thanx for your help anyways. I was curious about it.
THIS is what I've been looking for:
Getting a Reference to the Currently Loaded Document in ArcMap
Specifically, it is in the MapDocument class
MapDocument—Help | ArcGIS for Desktop
A complete listing or classes and function can be found in their respective links
Alphabetical list of arcpy.mapping classes—Help | ArcGIS for Desktop
Alphabetical list of arcpy.mapping functions—Help | ArcGIS for Desktop
But it is just easier to bookmark the top of the mapping tree for ArcMap and for those about to transition, check out arcpy.mp, the replacement for arcpy.mapping
Introduction to arcpy.mapping ... ArcGIS for Desktop (aka ArcMap
arcpy.mp is not included in my arcGIS 10.3 environment. I tried it in the
Python console; it came back "no module named mp".
mp is for Pro
mapping is for ArcMap
as given in my last 2 links
Are you just looking for..
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
ive been routinely running custom Python scripts within ArcMap, and wanting to add list of layers to the open map document. I use
try:
mxd = arcpy.mapping.MapDocument("CURRENT")
except RuntimeError:
print("not in ArcMap")
else:
df = arcpy.mapping.ListDataFrames(mxd)[0]
newLayer = arcpy.mapping.layer("mynewlayer")
arcpy.mapping.AddLayer(df, newLayer, ("TOP")
...sometimes I loop thru a list of layers...checking to make sure they exists first, then add them.
sorry about not formatting the above correctly (i.e. Not highlighted as Python code). Not able to do it on current device.
thought I would add this info, but since you marked you own answer as correct, I'm assuming this is no longer an open thread.