<class 'arcgisscripting.ExecuteError'>: Failed to execute. Parameters are not valid. ERROR 000732: Input Table: Dataset MXD_Overview_Table does not exist or is not supported Failed to execute (AddField).
#List all maps and there properties in a folder # Import system modules import arcpy, os, glob import sys import traceback # Overwrite pre-existing files arcpy.env.overwriteOutput = True #This is the folder containing your MXD's arcpy.env.workspace = r"P:/RAME/GIS/2011/Maps" #arcpy.GetParameterAsText(0) baseFolder=arcpy.env.workspace #The Geodatabase to store the Resulting table in geoDataBasePath="P:/RAME/GIS/2011/RAME.gdb" #arcpy.GetParameterAsText(1) #The Name of the New Table containing the MXD-List NewTable="MXD_Overview_Table" #arcpy.GetParameterAsText(2) #Define Workspace #Create New Lists for Layers and Sources of Layers mxdFileNames=[] workspaces=[baseFolder] #Create a new table containing Name of MXD, Path of MXD, Selected MXD Properties, Layers in the MXD and Sources (Shapefiles on which the Layers are based of the MXD) field_length=255 field_length2=3000 arcpy.CreateTable_management(geoDataBasePath, NewTable) arcpy.AddField_management(NewTable, "MXD_Name", 'TEXT', '', '', field_length, "MXD_Name") arcpy.AddField_management(NewTable, "MXD_Path", 'TEXT', '', '', field_length, "MXD Fullpath") arcpy.AddField_management(NewTable, "Author", 'TEXT', '', '', field_length, "Authors of MXD") arcpy.AddField_management(NewTable, "Credits", 'TEXT', '', '', field_length, "Credits") arcpy.AddField_management(NewTable, "Descript", 'TEXT', '', '', field_length2, "Map Description") arcpy.AddField_management(NewTable, "Summary", 'TEXT', '', '', field_length2, "Map Summary") arcpy.AddField_management(NewTable, "Tags", 'TEXT', '', '', field_length, "Map Tags") arcpy.AddField_management(NewTable, "Saved", 'TEXT','','',field_length2,"Date Saved") arcpy.AddField_management(NewTable, "Layers", 'TEXT', '', '', field_length2,"Layers included in Map") arcpy.AddField_management(NewTable, "FeatureCl", 'TEXT', '', '', field_length2, "Featureclasses included in Map") #Lets grab a listing of all MXD's in our workspace; baseFolder b = arcpy.ListWorkspaces("*", "Folder") workspaces.extend(b) for workspace in workspaces: #Lets grab a listing of all MXD's in our workspace; baseFolder allItems = os.listdir(workspace) # filter out just .mxd's mxdFileNames = [(x) for x in allItems if x.endswith('.mxd')] #For each mxd get all parameters. To do this step through the mxd list for name in mxdFileNames: try:#get mxd arcpy.env.workspace=baseFolder temp= str(str("%s" %workspace)+"\\"+name) mxd = arcpy.mapping.MapDocument(temp) namemxd= str("%s" % mxd.title) filePath=str(mxd.filePath) author="%s" % mxd.author credits_="%s" % mxd.credits dateSaved="%s" % mxd.dateSaved description="%s" % mxd.description summary="%s" % mxd.summary tags="%s" % mxd.tags #list all the layers for MXD after another from above try: Source=[] LyrList=[] mxdlyrs=arcpy.mapping.ListLayers(mxd) for lyr in mxdlyrs: name=lyr.longName if lyr.supports("dataSource"): dataSource=lyr.dataSource else: dataSource="Not defined" LyrList.extend([str(name)]) Source.extend([str(dataSource)]) except ValueError: #get error message if there is a problem getting lyr name or lyr source print "Invalid Layer in MXD:",filePath,"." arcpy.AddError( 'Invalid Layer in MXD:',filePath, '. Maybe because of a missing template.') finally: #Create a Insert Cursor to insert new rows and write each value in the corresponding field cursor = arcpy.InsertCursor(geoDataBasePath+"\\"+NewTable) row = cursor.newRow() row.MXD_Name=str(namemxd) row.MXD_Path=str(filePath) if len(LyrList)>3000: LyrList=["More than 3000 characters. To many to be written to the file"] else: row.Layers=str(LyrList) if len(Source)>3000: Source=["More than 3000 characters. To many to be written to the file"] else: row.FeatureCl=str(Source) row.Author=author row.Credits=str(credits_) row.Descript=str(description) row.Saved=str(dateSaved) row.Summary=str(summary) row.Tags=str(tags) cursor.insertRow(row) # tidy up del row del cursor except ValueError: print "Invalid MXD:",filePath,". Open the mxd in ArcMap and check for errors." arcpy.AddError( 'Invalid MXD:',filePath, '. Open the mxd in ArcMap and check for errors.')
arcpy.AddField_management(geoDataBasePath+'\\'+NewTable, "MXD_Name", 'TEXT', '', '', field_length, "MXD_Name")
arcpy.CreateTable_management(geoDataBasePath, NewTable) arcpy.env.workspace = geoDataBasePath arcpy.AddField_management(NewTable, "MXD_Name", 'TEXT', '', '', field_length, "MXD_Name") # Other AddFields go here, then: arcpy.env.workspace = r"P:/RAME/GIS/2011/Maps" # rest of code
As there are multiple other reasons 000732 seems to pop up for users, if you are trying to utilize user input file paths and concatenate string variables with them, this solution helped me after hours of searching here and elsewhere online: