Чтобы заморозить окно с помощью uno, я обнаружил, что оно работает, только если вы открываете документ с опцией Hidden = False. Если для параметра Hidden установлено значение True, команда замораживания не применяется.
import uno
#function for setting parameters
def make_property_array(**kwargs):
"""convert the keyword arguments to a tuple of PropertyValue unostructures"""
array = []
for name, value in kwargs.iteritems():
prop = uno.createUnoStruct("com.sun.star.beans.PropertyValue")
prop.Name = name
prop.Value = value
array.append(prop)
return tuple(array)
#load the document
url = "file:///" + pathtoyourfile.replace("\\","/")
document = desktop.loadComponentFromURL(url, "_blank", 0, make_property_array(Hidden=False))
#set cell A1 as active
table.getCellByPosition(0,0)
#freeze the sheet at row 1
document.CurrentController.freezeAtPosition(0,1)
#save document in Excelformat
document.storeAsURL(url.replace("ods","xls"), make_property_array(FilterName="MS Excel 97", Overwrite=True))