'DefinedNameDict' object has no attribute 'definedName'
I used to use the following code regularly but it has recently broken. The error is
The offending line is:
for named_range in openpyxl_wb.defined_names.definedName:
The error retuned is:
AttributeError: 'DefinedNameDict' object has no attribute 'definedName'
def dict_of_existing_named_ranges(openpyxl_wb):
range_dict={}
for named_range in openpyxl_wb.defined_names.definedName:
x=openpyxl_wb.defined_names.get(named_range.name, named_range.localSheetId)
try:
for y in x.destinations:
range_dict[x.name]=y
except Exception as e:
print(e)
return range_dict
wb=openpyxl.load_workbook(filename="C:/Temp/temp/Book2.xlsx")
def main():
print(dict_of_existing_named_ranges(wb))
I can fix the code by
for named_range in openpyxl_wb.defined_names:
and later:
for y in openpyxl_wb.defined_names[named_range].destinations:
range_dict[x.name]=y
But is this change in openpyxl permanent? Is the change in my code safe to make?