I don't think you can change the properties of the scale bar using the out-of-the-box Data Driven Pages functionality.
However, that is not to say that what you're looking to do is impossible.
It wouldn't be terribly difficult to do this using ArcPy and is roughly described in this [ESRI Help Page][1]. Using their example, you could set up multiple scale bars, one for each setting you prefer, and then move them on and off the page based on scale of a given data-driven page.
To get it to work you would have to bypass the normal data-driven pages export and loop through the pages using Python and the above example.
Something along these lines (I HAVE NOT TESTED THIS, YOU WILL HAVE TO ADAPT IT TO YOUR DOCUMENT):
#You're going to need to reference your current map document and the data frame, assuming you just have one
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0]
#Associate scale bars in your layout with variables that arcpy can manipulate
m_scale = arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT", "m scale bar")[0]
km_scale = arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT", "km scale bar")[0]
#Iterate through all the pages, for each page, look at the scale, then adjust the scale bars to be on, or off, the page.
for page in range(1, mxd.dataDrivenPages.pageCount +1):
#Check the scale and move the elements around to get the right scale bar on the page
if df.scale < 25000:
m_scale.elementPositionX = 5 #on the page
km_scale.elementPostitionX = 15 #off the page
#Export the current page to a pdf, using a specified path
arcpy.mapping.ExportToPDF(mxd, r"C:\Project\Output\Project1.pdf", df)
else:
m_scale.elementPositionX = 15 #off the page
km_scale.elementPostitionX = 5 #on the page
#Export the current page to a pdf, using a specified path
arcpy.mapping.ExportToPDF(mxd, r"C:\Project\Output\Project1.pdf", df)
mxd.dataDrivenPages.refresh()
Best Answer
I don't think there's an option yet which allows you to put the units below the scalebar. An alternative could be to:
Modify your current scalebar and set its
Font colour
to match the background colour:Copy your scalebar and paste it directly below your original scalebar. Then set its
Font colour
to black and itsLine colour
to transparent:You can then select your scalebars and group them, allowing you to move them easily as if they were one: