0
AlexToo
03.06.21
✎
09:56
|
Добрый день, сохраняю программно отчет в эксель. Нужно что бы при открытии числовые значения в ячейках отображались в числом формате с разделитетем групп разрядов. Если такое проделать макросом в эксель, то он предлагает вот такой формат:
Sub Макрос1()
'
' Макрос1 Макрос
'
'
Selection.NumberFormat = "#,##0.00"
End Sub
Однако если формат "#,##0.00" попытаться указать в 1С, то выдает ошибку:
Эксель.Range(Лист.Cells(7,8),Лист.Cells(ВсегоСтрок,8)).Select();
Эксель.Selection.NumberFormat = "#,##0.00";
Форма.ФормаОтчета.Форма(199)}: Ошибка при установке значения атрибута контекста (NumberFormat)
Эксель.Selection.NumberFormat = "#,##0.00";
по причине:
Произошла исключительная ситуация (Microsoft Excel): Нельзя установить свойство NumberFormat класса Range
Методом тыка, понял, что спотыкается скорее всего из-за точки после нуля т.к. в экселе разделители запятые. Поэтому скорректировал формат вот таким образом "#,##0,00", но при таком формате он мне число превращает в какую-то херобору: 176220606,650,00 хотя в идеале должно быть 176 220 606,65. Если убрать решетки и оставить формат "0,00", то число выведется правильно, но без разделителей разрядов т.е. 176220606,65, а мне надо было что бы 176 220 606,65.
Подскажите как правильно указать разделитель разрядов в формате?
|
|
3
AlexToo
03.06.21
✎
10:16
|
(2) если убрать Select() , то выйдет ошибка :
Эксель.Range(Лист.Cells(7,8),Лист.Cells(ВсегоСтрок,8));
по причине:
Метод не найден
Даже если макрос самого экселя посмотреть там тоже сначала Range идет затем Select
|
|