DyadyaGenya
Знающий
- Сообщения
- 308
- Репутация
- 10
Доброго времени суток. Бьюсь над очередной проблемой. Нужно создать файл excel с именованными листами. К сожалению, ни списком, ни циклом у меня не получается. Постоянно лист 37 остается не переименованным. Хотя порядок листов вроде бы получается правильным
и цикл:
Код:
; Добавляем три листа и задаём им имена
While $oWorkbook.Sheets.Count < 39
$oWorkbook.Sheets.Add()
Wend
$oWorkbook.Sheets(1).Name = "Оглавление"
$oWorkbook.Sheets(2).Name = "Элементы питания"
$oWorkbook.Sheets(3).Name = "Дополнительные данные БУ элементов"
$oWorkbook.Sheets(4).Name = "Диапазоны параметров"
$oWorkbook.Sheets(5).Name = "Типы ремонта элементов"
$oWorkbook.Sheets(6).Name = "Новые BMS"
$oWorkbook.Sheets(7).Name = "Дополнительные данные БУ BMS"
$oWorkbook.Sheets(8).Name = "Типы ремонта BMS"
$oWorkbook.Sheets(9).Name = "Корпуса"
$oWorkbook.Sheets(10).Name = "Дополнительные данные БУ корпусов"
$oWorkbook.Sheets(11).Name = "Уникальные корпуса"
$oWorkbook.Sheets(12).Name = "Материалы для корпусов"
$oWorkbook.Sheets(13).Name = "Холдеры"
$oWorkbook.Sheets(14).Name = "Типы холдеров"
$oWorkbook.Sheets(15).Name = "Провода"
$oWorkbook.Sheets(16).Name = "Клеммы и разъёмы"
$oWorkbook.Sheets(17).Name = "Термоусадка и изоляция"
$oWorkbook.Sheets(18).Name = "Прочие комплектующие"
$oWorkbook.Sheets(19).Name = "Поставщики"
$oWorkbook.Sheets(20).Name = "Цены"
$oWorkbook.Sheets(21).Name = "Склад"
$oWorkbook.Sheets(22).Name = "Местоположения на складе"
$oWorkbook.Sheets(23).Name = "Движение ресурсов"
$oWorkbook.Sheets(24).Name = "Резервирование"
$oWorkbook.Sheets(25).Name = "Заказчики"
$oWorkbook.Sheets(26).Name = "Заказы"
$oWorkbook.Sheets(27).Name = "Доставки"
$oWorkbook.Sheets(28).Name = "Платежи"
$oWorkbook.Sheets(29).Name = "Варианты сборки"
$oWorkbook.Sheets(30).Name = "Детали сборки"
$oWorkbook.Sheets(31).Name = "Элементы сборки"
$oWorkbook.Sheets(32).Name = "Связь заказов и сборок"
$oWorkbook.Sheets(33).Name = "Компоновки"
$oWorkbook.Sheets(34).Name = "Схемы сборки"
$oWorkbook.Sheets(35).Name = "Список валют"
$oWorkbook.Sheets(36).Name = "Курсы валют"
$oWorkbook.Sheets(37).Name = "Типы комплектующих"
$oWorkbook.Sheets(38).Name = "Лог архивации данных"
$oWorkbook.Sheets(39).Name = "Единицы измерения"
; Удаляем лишние листы, если их больше трёх
While $oWorkbook.Sheets.Count > 39
$oWorkbook.Sheets($oWorkbook.Sheets.Count).Delete()
Wend
Код:
; Массивы с именами листов
Local $aSheetNames[39] = ["Оглавление", "Элементы питания", "Дополнительные данные БУ элементов", "Диапазоны параметров", "Типы ремонта элементов", _
"Новые BMS", "Дополнительные данные БУ BMS", "Типы ремонта BMS", "Корпуса", "Дополнительные данные БУ корпусов", _
"Уникальные корпуса", "Материалы для корпусов", "Холдеры", "Типы холдеров", "Провода", "Клеммы и разъёмы", _
"Термоусадка и изоляция", "Прочие комплектующие", "Поставщики", "Цены", "Склад", "Местоположения на складе", _
"Движение ресурсов", "Резервирование", "Заказчики", "Заказы", "Доставки", "Платежи", "Варианты сборки", _
"Детали сборки", "Элементы сборки", "Связь заказов и сборок", "Компоновки", "Схемы сборки", "Список валют", _
"Курсы валют", "Типы комплектующих", "Лог архивации данных", "Единицы измерения"]
; Добавляем листы и переименовываем их
For $i = 1 To 39
; Добавляем лист, если его не хватает
While $oWorkbook.Sheets.Count < 39
$oWorkbook.Sheets.Add()
Wend
; Переименовываем лист
$oWorkbook.Sheets($i).Name = $aSheetNames[$i - 1]
Next
Последнее редактирование: