|
![]() |
#1 |
MCTS
|
Цитата:
Это в том случае, если у него уже имеется этот range.
X++: COM ws; COM cells; COM sheets; int cnt; COM findRange; sheets = app.sheets(); cnt = sheets.Count(); for (i = 1; i <= cnt; i++) { sheet = sheets.Item(i); cells = sheet.Cells(); findRange = cells.Find("ttt"); if (findRange) { ws = findRange.Worksheet(); info(ws.Name()); } |
|
![]() |
#2 |
Moderator
|
Да не нужно листы перебирать, я ж всё вроде написал...
Получите Application как точку опору и мир сам перевернется ![]() X++: static void Job120(Args _args) { ComExcelDocument_RU doc = new ComExcelDocument_RU(); COM xlApp; COM wbook; COM activeSheet; COM wkss; COM range; str sheetName(COM _excel, str _namedRange) // ОНО! { COM comTemp; ; comTemp = _excel.Range(_namedRange); comTemp = comTemp.Worksheet(); return comTemp.Name(); } ; // это всё - подготовка тестовых данных // --------------------------------------------------------- doc.NewFile(); wbook = doc.getComDocument(); wkss = wbook.Worksheets(); xlApp = wbook.Parent(); activeSheet = xlApp.ActiveSheet(); range = activeSheet.Range('B2'); range.Name('test'); range.Select(); activeSheet = wkss.Add(); activeSheet.Select(); // специально ушли на другой лист // --------------------------------------------------------- // а теперь собственно вызов функции box::info(sheetName(xlApp, 'test')); } |
|
Теги |
excel |
|
|