24.02.2011, 19:10 | #25 |
Moderator
|
Цитата:
X++: { ComExcelDocument_RU doc = new ComExcelDocument_RU(); COM xlApp; COM wbook; COM activeSheet; COM range; COMEnum2Object cellCollection; COM cell; COMVariant prefChar; ; doc.NewFile('',true); wbook = doc.getComDocument(); xlApp = wbook.Parent(); activeSheet = xlApp.ActiveSheet(); range = activeSheet.Range('A1:A100'); range.Value2("'30101810100000000859"); // 1. выводим значения с ведущим апострофом (одинарной кавычкой) print 'Загляните в окошко Excel'; pause; range.NumberFormat('@'); // 2. форматируем заполненный диапазон как Текст cellCollection = new COMEnum2Object(range); // 3. перебирая ячейки диапазона, удаляем ведущий апостроф, если находим for (cell = cellCollection.getFirst(); cell; cell = cellCollection.getNext()) { prefChar = cell.PrefixCharacter(); if (prefChar.bStr() == "'") { cell.Value2(cell.Value2()); // "удаляем" = переписываем значение само на себя } } info('Еще раз загляните в окошко Excel'); } Вот, вроде всё работает: X++: { ComExcelDocument_RU doc = new ComExcelDocument_RU(); COM xlApp; COM wbook; COM activeSheet; COM range; ; doc.NewFile('',true); wbook = doc.getComDocument(); xlApp = wbook.Parent(); activeSheet = xlApp.ActiveSheet(); range = activeSheet.Range('A1:A100'); range.NumberFormat('@'); // предварительное форматирование КАК ТЕКСТ ячеек вывода коррсчета range.Value2("30101810100000000859"); // выводим значения коррсчета БЕЗ апострофа } |
|
|
За это сообщение автора поблагодарили: tolstjak (1). |