Имя: Пароль:
1C
 
Формат ячейки Excel
0 Denis Nsk
 
31.07.09
10:55
Всем привет!

Нужно задать ячейке Excel формат дата, тип *14.03.2001 (из интерактивного описания форматов)

пишу
Sheet = Books.WorkSheets(1);
Sheet.Range("A8:A8").NumberFormat = "m/d/yyyy";

выдает сообщение  "Microsoft Office Excel: Нельзя установить свойство NumberFormat класса Range". Подсматривал в макрос - не помогло.

при этом строка
Sheet.Range("G20:G3020").NumberFormat = "@";
работает правильно.

Подскажите,пжста, как это сделать. С VBA не работал. Понял только одно, что нужен другой класс или другое свойство.

И еще возможно потребуется для ряда ячеек установить "общий" формат и "пусто (формат не указанн)" - это опять же названия в интерактивном режиме установки форматов.
1 Denis Nsk
 
31.07.09
13:17
up
2 dk
 
31.07.09
13:25
Sheet.Cells("A8").NumberFormat = "m/d/yyyy";
3 dk
 
31.07.09
13:26
попробуй
я как-то тоже ренж от селс не очень отличаю
4 skunk
 
31.07.09
13:26
может это поможет...

http://www.1c-club.kz/index.php?showtopic=1209
5 skunk
 
31.07.09
13:27
(3)ренж может состоять из нескольких селсов
6 Denis Nsk
 
31.07.09
13:27
спасибо
попробую
7 Denis Nsk
 
31.07.09
23:01
Sheet.Range("A8:A8").NumberFormat = "ДД.ММ.ГГГГ";

заработало только в таком варианте. на Cells у меня почему-то выдавала ошибку без описания.

короче задолбался я с этим вопросом. всем кто подсказывал Огромное спасибо. я думал это у меня с этим проблема, поскольку с VBA + Excel не работал. но оказалась это не грабли, а целая борона к кировцу.

для себя понял что влияют системные (региональные) настройки (разделители дробной части, даты, времени). в моем случае похоже повлияло то что версия эксель руссифицированная (и "m/d/yyyy" из макроса нужно писать как "ДД.ММ.ГГГГ"). т.е может работать на разных машинах по разному.

в инете перечитал много. особенно понравилось обсуждение
Как установить формат столбца в xls файле из 1С ?
в общем-то здесь ответ и нашел.
8 smaharbA
 
01.08.09
11:22
NumberFormatLocal
9 Denis Nsk
 
02.08.09
22:16
(8) Что NumberFormatLocal?

Нужно было использовать это свойство?
Кажется и его пробовал, но что-то не получилось. Можно немного по подробней.
10 Torquader
 
03.08.09
13:52
NumberFormatLocal - это установка формата в региональных установках пользователя.
NumberFormat - это установка формата в стандартных установках - поэтому могут быть накладки.
Кроме того, насколько я помню, если Range более одного элемента, то значение предполагается SafeArray - по одному элементу на каждую ячейку.
Свойство Cells можно использовать в виде Cells(Row,Column) - тогда должно работать, а Cells("A8") должно "послать нафиг".