// xlsx := new TSExcelFile(); // xlsx.NewFile(); // xlsx.OpenFile("", "D:\\temp\\vba_new.xlsx"); application := new XlsxApplication(); application.Workbooks.Add; Workbooks := application.Workbooks; Workbooks.Open(FileName : "D:/temp/vba_new.xlsx"); println("Workbooks.Count = {}", Workbooks.Count); Workbooks[2].Worksheets("sheet2").Activate; Workbooks[2].ActiveSheet.Name; println("fullname 1 = {}", Workbooks[1].FullName); println("fullname 2 = {}", Workbooks[2].FullName); application.Workbooks(2).Close(SaveChanges : true, FileName : "D:/temp/vba_close.xlsx"); println("close one, Workbooks.Count = {}", Workbooks.Count); application.Workbooks.Open(FileName : "D:/temp/vba_close.xlsx"); println("workbook(2).name = {}", application.Workbooks(2).Name); Workbooks[2].Password := "tinysoft"; Workbooks[2].Save(); println("Path = {}", Workbooks[2].Path); return; Sheets := application.Sheets; println("sheets.Count = {}", sheets.Count); param := array('After': application.Sheets(Sheets.Count), 'Count': 2); application.Worksheets.Add(param); xlsx.SaveAs("", "D:\\temp\\xlsxvba.xlsx"); return; application.Worksheets(1).Visible := false; Worksheets := application.Worksheets; Worksheets[1].Visible := false; Worksheets['Sheet1'].Visible := false; Worksheets[1].Activate; count := Worksheets.Count; println("Worksheets.Count = {}", count); arr := array("After": Worksheets[1]); application.Worksheets('Sheet1').Copy(arr); xlsx.SaveAs("", "D:\\temp\\xlsxvba.xlsx"); return;