Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Общий NumberFormat в Excel-е


murzik ©   (2005-11-17 13:05:00) 

Кто знает, как задать региону через Excel сервер в Delphi формат "Общий". Так, как задается в самом Excel-е - 'General' - не проходит.


sniknik   (2005-11-18 15:58:00) [1]

а... возможно он "поверх" старых данных пишет, у которых есть тип, ну тогда другое дело (и теперь уже на этих данных/типах предварительная установка общего даст ту же ошибку... ;), возможно)


sniknik   (2005-11-18 15:54:00) [2]

> а точная установка 'General' из Delphi.
я взял диапазан листа с данными в разном фармате, числовой, числовой с точками, текстовый, дата. т.е. то что под руку подвернулось, установил формат этому диапазону пустую строку ''. зашол в Excel и вижу у заданного мной диапазона (в отличии от остального) тип ячеек сменился на "общий"...

вывод ? - пустая строка и есть общий формат. а то что у тебя чтото не выставляется, и даже ошибку дает, это твоя проблема, твоих данных. типы которых я и хотел узнать чтобы проверить у себя... ну да не судьба видимо.

Digitman ©   (18.11.05 13:38) [10]
при создании листа все ячейки в нем (у меня по крайней мере) и так в нем (общем)... т.что предварительная установка врядли поможет (уже скорее всего так и есть).


murzik   (2005-11-18 13:58:00) [3]

>Digitman ©   (18.11.05 13:38) [10]

Я собираю данные из многих файлов Excel. Принимаю данные через вариантный массив, обрабатываю в памяти и вывожу в результирующую книгу Excel-а тоже массивом.
Спасибо, попробую сначала установить формат с пустой строкой, а потом писать.


Digitman   (2005-11-18 13:38:00) [4]


> murzik   (18.11.05 13:28) [9]


ты бы хоть задачу свою описал, барин)

иначе я ее вижу так : создаешь новый лист, затем (1) устанавливаешь форматы того или иного диапазона его ячеек и уж потом только (2)устанавливаешь содержимое этих ячеек ... а не наоборот - сначала (2) , затем (1) ..


murzik   (2005-11-18 13:28:00) [5]

>sniknik ©   (18.11.05 08:19) [8]
Это не непосильный, а бесполезный труд, т.к. при нормальном формате 'General' такого не бывает. Ну, можно убедиться, что формат "пустая строка" не живет с какими-то данными, а дальше-то что. Меня интересует не это, а точная установка 'General' из Delphi. Если ответа нет, то придумывать ничего не надо.


sniknik   (2005-11-18 08:19:00) [6]

> Можно долго разбираться - на каком именно формате.
???
т.е. как понимаю, решение твоей проблемы, тебя уже не интересует.

и что значит долго? метод деления на 2. определяется строка  с ошибочными данными в 10-11 шагов из ~2 тыс. записей. т.е. ~10мин. проб. (из 4 тыс. соответственно 12 шагов, 8-13, 16-14, 32-15, 64-16, а следующего (128) в екселе не бывает)
16 проверок (максимум) это конечно непосильный труд... перед ним логика пасует...


murzik   (2005-11-17 23:41:00) [7]

> sniknik [6]
При попытке отформатировать регион с информацией пустой строкой вообще выдается "Несовпадение типов". Можно долго разбираться - на каком именно формате.


sniknik   (2005-11-17 21:14:00) [8]

Digitman ©   (17.11.05 16:17) [4]
да, проверил, General не проходит, зато пустая строка прошла. ты не ошибался в [1]

murzik   (17.11.05 16:15) [3]
> Пустая строка не проходит. Заменяет часть информации на пустые ячейки.
какой информации? тип.


Tstas   (2005-11-17 17:55:00) [9]

Конечно General  не пройдет, это похоже константа Visual Basic'а экселевского. тобы знать ее значение, как и любой другой константы,надо написать MsgBox(General)/ Я так без проблем узнавал числовые значения экселевких констант, а потом вместо них в Дельфи писал их значения


Digitman   (2005-11-17 16:17:00) [10]


> sniknik ©   (17.11.05 14:51) [2]


в записанном макросе как раз и фигурирует

Selection.NumberFormat = "General"

как видишь, свойство - текстовое.

И автор утверждает, что Паскаль-аналог этой строки

RangeObject.NumberFormat := 'General;

дает отлуп.


murzik   (2005-11-17 16:15:00) [11]

> Digitman
Пустая строка не проходит. Заменяет часть информации на пустые ячейки.

> sniknik
Как раз там и показывается 'General', который и не работает.


sniknik   (2005-11-17 14:51:00) [12]

> Кто знает, ...
Excel знает. начни макрос, установи нужное свойство, останови макрос и смотри что в нем получилось... большинство вопросов по работе с Excel так решаются.


Digitman   (2005-11-17 14:45:00) [13]

могу ошибаться, но вроде бы для задания общего формата св-ву следует присвоить просто пустую строку


Наверх

Титульная страница Поиск, карта сайта Написать письмо