|
v7: Установка формата ячеек Excell | ☑ | ||
---|---|---|---|---|
0
GhostTM
27.02.12
✎
15:03
|
Создается экселевский файл.
В колонке "H" должны быть числа с двумя знаками после запятой. xl=СоздатьОбъект("Excel.Application"); xl.Workbooks.Add(); //Добавляем новый документ xl.Range("H:H").NumberFormat = "0.00"; Но на последнюю строку выдается сообщение об ошибке: xl.Range("H:H").NumberFormat = "0.00"; {[skiped]}: Microsoft Office Excel: Нельзя установить свойство NumberFormat класса Range Если написать макрос Range("H:H").NumberFormat = "0.00" и выполнить, то все отрабатывает. Как установить формат ячеек? |
|||
1
ЧеловекДуши
27.02.12
✎
15:08
|
Запускаешь Ексель -> Записать макрос... Начинаешь устанавливать формат в яЧейке... -> как только справишься,то останавливаешь запись макроса -> открываешь макрос на редактирование + Наслаждаешься авто-кодом от мягких :)
|
|||
2
ЧеловекДуши
27.02.12
✎
15:09
|
+В рандже может и нельзя, а вот в Каллсе мона :)
|
|||
3
ЧеловекДуши
27.02.12
✎
15:11
|
+ Range, у тебя не хватает координат, у тебя только "Строка", а надо еще и "колонку" :)
|
|||
4
ЧеловекДуши
27.02.12
✎
15:15
|
+ У меня вот так работало...
//_____________________________________________________________________________ Функция ПОбл(НомС,НомК,префикс="") Перем СтрокаАлфовит,числ,Ост; Перем Рез; Если (ПустоеЗначение(префикс)=1) или (префикс="$") Тогда Рез="A"+СокрЛП(НомС); СтрокаАлфовит="BCDEFGHIJKLMNOPQRSTUVWXYZ";//26 = 25 числ=Число(НомК)-1; // минус один символ :) рез=""; пока Числ>0 Цикл Ост=числ-Цел(Числ/26)*26; рез=?(ост=0,"A",сред(СтрокаАлфовит,ост,1))+рез; числ=(числ-ост)/26 КонецЦикла; Если ПустоеЗначение(СокрЛП(Рез))=1 Тогда рез="A"; КонецЕсли; Рез=префикс+Рез+префикс+СокрЛП(НомС); Иначе Если "RC"=префикс Тогда //"RC" Рез="R"+СокрЛП(НомС)+"C"+СокрЛП(НомК); Иначе //"[]" Рез="R["+СокрЛП(НомС)+"]C["+СокрЛП(НомК)+"]"; КонецЕсли; КонецЕсли; Возврат Рез; КонецФункции //ПОбл(1,1) Лист.range(ПОбл(НачалоТаблицыПоПиУ+2,5)+":"+ПОбл(НачалоТаблицыПоПиУ+23,7)).NumberFormat = "_-* # ##0\ _р_._-;-* # ##0\ _р_._-;_-* ""-""??\ _р_._-;_-@_-"; |
|||
5
GhostTM
27.02.12
✎
15:24
|
(1) В том-то и дело, что не работает код мягких.
(2) Каллс - это Cells & (3) У меня колонка (код мягких) |
|||
6
155153144627
27.02.12
✎
15:25
|
(0)
xl=СоздатьОбъект("Excel.Application"); Лист = xl.Workbooks.Add(); //Добавляем новый документ Лист.Range("H:H").NumberFormat = "0.00"; Вот так надо. |
|||
7
GhostTM
27.02.12
✎
15:32
|
(6)
Ща попробуем |
|||
8
GhostTM
27.02.12
✎
15:36
|
(6)
Поле агрегатного объекта не обнаружено (Range) |
|||
9
155153144627
27.02.12
✎
16:03
|
Лист.Columns("H:H").NumberFormat = "0.00"
|
|||
10
GhostTM
27.02.12
✎
16:22
|
(9) Поле агрегатного объекта не обнаружено (Columns)
|
|||
11
155153144627
27.02.12
✎
16:45
|
...
Ну тогда вот так делай Лист.Cells(Сч, 8).value = Формат(Число1, "Ч6.2"); :-) |
|||
12
ЧеловекДуши
27.02.12
✎
16:50
|
+ (0) Если б вы в (4) посмотрели, то
Вот начало... Ексель=СоздатьОбъект("Excel.Application"); Книга=Ексель.workbooks.add(); Лист=Книга.worksheets(НомерЛистаЕкселя); |
|||
13
ЧеловекДуши
27.02.12
✎
16:51
|
+ (5) да побоку... вы не там пытаетесь формат установить ;)
+ (0) Не стоит все лепить в одну переменную ;) //Гуано код... xl=СоздатьОбъект("Excel.Application"); xl.Workbooks.Add(); //Добавляем новый докуме |
|||
14
GhostTM
27.02.12
✎
17:11
|
Вот полный код:
xls = СоздатьОбъект("Excel.Application"); Book = xls.Workbooks.Add(); //Добавляем новый документ xl = Book.Worksheets(1); xls.ScreenUpdating = 0; xls.EnableEvents = 0; xls.Visible = 0; row = 1; //первая строка row = row + 1; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если КВыдаче = 0 Тогда Продолжить; КонецЕсли; __Сотр = Сотр.Сотрудник; xl.Cells(row, 1).Value = "'987"; xl.Cells(row, 2).Value = "'789"; xl.Cells(row, 3).Value = ""; xl.Cells(row, 4).Value = "'1313962"; xl.Cells(row, 5).Value = __Сотр.Наименование; xl.Cells(row, 6).Value = __Сотр.Имя; xl.Cells(row, 7).Value = __Сотр.Отчество; xl.Cells(row, 8).Value = КВыдаче; //* xl.Cells(row, 9).Value = "'" + Строка(__Сотр.ИНН); xl.Cells(row, 10).Value = ""; xl.Cells(row, 11).Value ="NORM"; xl.Cells(row, 12).Value ="CARD"; row = row + 1;//переходим на следующую строку КонецЦикла; Пока Book.Sheets.Count > 1 Цикл Book.Sheets(Book.Sheets.Count).Delete(); КонецЦикла; //---- Вот тут не работает ------ RR = xl.Range("H:H"); RR.NumberFormat = "0.00"; //---- Вот тут не работает ------ xl.Columns("A:L").EntireColumn.AutoFit(); xls.ScreenUpdating = 1; xls.EnableEvents = 1; xls.Visible = 1; xls - Ексель Book - Книга xl - Лист |
|||
15
GhostTM
27.02.12
✎
17:14
|
Это выдает запись макроса:
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 27.02.2012 (User) ' ' Columns("H:H").Select Selection.NumberFormat = "0.00" End Sub И макрос работает, а из 1С не работает |
|||
16
GhostTM
27.02.12
✎
17:15
|
Ошибка:
RR.NumberFormat = "0.00"; {Документ.РасчетноПлатежнаяВедомость.Форма.Модуль(944)}: Microsoft Office Excel: Нельзя установить свойство NumberFormat класса Range |
|||
17
GhostTM
27.02.12
✎
18:13
|
(11) Чувствую, что так и придется делать, но очень не хочется.... :(
|
|||
18
FN
27.02.12
✎
19:55
|
Попробуй так:
ф=Ексель.Columns("A:A").Select; Ексель.Selection.NumberFormat = "0,00"; |
|||
19
FN
27.02.12
✎
20:00
|
(18) + на всякий случай команда для установки разделителя:
Ексель.DecimalSeparator = ","; |
|||
20
ЧеловекДуши
28.02.12
✎
08:08
|
(17)Не знаю, что ты там чувствуешь (ДНК?), но в (4) тебя спасет, тебе какая баня, формат по тупо колонке или уже с указанными всеми координатами?
...Автор упрям до "...отизма"... :) |
|||
21
ЧеловекДуши
28.02.12
✎
08:09
|
+(17)Ну не пашет эта херь по колонке, что ты так уперся "рогами", делай как обычно все делают... :)
|
|||
22
Рэйв
28.02.12
✎
08:13
|
Лист.Cells(Строка,Колонка).NumberFormat="0,00";
|
|||
23
не человек
28.02.12
✎
08:18
|
(17) вот так попробуй: ЛистЭксель.Range(ЛистЭксель.Cells(1, 1), ЛистЭксель.Cells(КоличествоСтрок, 1)).NumberFormat = "0,00"
|
|||
24
ЧеловекДуши
28.02.12
✎
08:18
|
(22)Я ему лучше дал в (4), а он хочет бездумно и сразу :)
|
|||
25
ЧеловекДуши
28.02.12
✎
08:18
|
(23)Ты пробовал?
|
|||
26
не человек
28.02.12
✎
08:19
|
(25) да. у меня так работает
|
|||
27
ЧеловекДуши
28.02.12
✎
08:36
|
(26)Интересный подход :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |