diff --git a/funcext/TSOffice/worksheet/xlsxWorkBook.tsf b/funcext/TSOffice/worksheet/xlsxWorkBook.tsf index fde0145..e94c1ec 100644 --- a/funcext/TSOffice/worksheet/xlsxWorkBook.tsf +++ b/funcext/TSOffice/worksheet/xlsxWorkBook.tsf @@ -1057,10 +1057,22 @@ Type xlsxWorkBook = Class begin name := sheetNames_[i]['name']; xml_file := GetXmlFileObj(sheetNames_[i]['file']); - sheet_node := xml_file.FirstChildElement('worksheet').FirstChildElement('sheetViews').FirstChildElement('sheetView'); if name = sheet then Begin - sheet_node.SetAttribute('tabselected', 1); + work_node := xml_file.FirstChildElement('worksheet'); + sheet_node := work_node.FirstChildElement('sheetViews'); + if not ifObj(sheet_node) then + begin + prev_node := class(TSXml).GetWorkSheetPrevNode(work_node, 'sheetViews'); + sheet_node := work_node.InsertAfterChild(prev_node, 'element', 'sheetViews'); + end + node := sheet_node.FirstChildElement('sheetView'); + if not ifObj(node) then + begin + node := sheet_node.InsertFirstChild('element', 'sheetView'); + node.SetAttribute('workbookViewId', 0); + end + node.SetAttribute('tabselected', 1); workbook := GetXmlFileObj('xl/workbook.xml'); book_view_node := workbook.FirstChildElement('workbook').FirstChildElement('bookViews').FirstChildElement('workbookView'); book_view_node.SetAttribute('activeTab', ind);