СПОСОБ ПОИСКА НАИМЕНОВАНИЙ СВОЙСТВ И МЕТОДОВ VBA EXCEL С ПОМОЩЬЮ ЗАПИСИ МАКРОСОВ
На практике часто случается, что нужно решить какую-либо задачу, иногда довольно тривиальную с точки зрения пользователя Excel (к примеру изменить фон ячейки в Excel, добавить левую границу и т.д.), а решение в сети/документации искать не хочется или не получается, тогда можно попробовать начать запись макроса, выполнить нужную последовательность действий (изменить фон, добавить границу) , после чего записать макрос и открыть код VBA для анализа кода, названий свойств и методов. Такой способ довольно часто помогает быстро решить проблему.
1. Подключение к Excel
Попытка
Excel = Новый COMОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + "Возможно программа Exсel не установлена на данном компьютере!");
Возврат Ложь;
КонецПопытки;
//Создание книги
Книга = Excel.WorkBooks.Add();
//Открытие существующей книги
Книга = Excel.WorkBooks.Open(ПутьКФайлу);
//Выбор рабочего листа по номеру
Лист = WorkBook.WorkSheets(НомерЛиста);
//Выбор рабочего листа по имени
Лист = WorkBook.WorkSheets(ИмяЛиста);
//Сохранение книги
Попытка
Книга.SaveAs(ПутьКФайлу);
Книга.Close();
Excel.Quit();
Исключение
Книга.Close();
Excel.Quit();
КонецПопытки;
При подключении к Excel не забываем закрывать приложение после работы дабы не наплодить кучу ненужных процессов. Они также могут появиться если во время выполнения модуля выскочит ошибка до того как система дойдет до строк, где происходит закрытие Excel.
2. Запись значения в ячейку
ТекущийЛист.Cells(i, j).Value = "2";
Количество листов книги
КоличествоЛистов = Книга.Sheets.Count;
3. Шрифт и размер шрифта
//Выделение области
Excel.Columns("A:H").Select();
//Размер шрифта
Лист.Cells.Font.Size = 12;
//Тип шрифта
Лист.Cells.Font.Name = "Calibri";
//1 - жирный шрифт, 0 - обычный.
Лист.Cells.Font.Bold = 1;
//1 - наклонный шрифт, 0 - обычный.
Лист.Cells.Font.Italic = 1;
//2 - подчеркнутый, 1 - нет.
Лист.Cells.Font.Underline = 1;
Как указать цвет шрифта в ячейке, цвет рамки, цвет фона
Книга.Sheets(1).Cells(1,1).Borders.Color = 25525124; // цвет рамки
Книга.Sheets(1).Cells(1,1).Font.Color = 255000000; // цвет шрифта
Книга.Sheets(1).Cells(1,1).Interior.Color = 255045; // цвет фона
4. Ширина колонки
Чтобы скрыть колонку, нужно установить ширину в значение 0.
Лист.Columns(НомерКолонки).ColumnWidth = Ширина;
Получение последней ячейки в используемом диапазоне
Например, при открытии таблицы нам нужно узнать до какой строки и/или до какого столбца присутствуют заполненные ячейки.
ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
4. Установка фильтра
Лист.Cells.AutoFilter();
5. Горизонтальное выравнивание ячейки
ТекущийЛист.Cells(i, j).HorizontalAlignment = -4130;
Режим выравнивания
Константа в Excel
Значение в ISBL
По центру
xlHAlignCenter
-4108
По центру выделения
xlHAlignCenterAcrossSelection
7
Распределенное
xlHAlignDistributed
-4117
С заполнением
xlHAlignFill
5
По значению
xlHAlignGeneral
1
По ширине
xlHAlignJustify
-4130
По левому краю
xlHAlignLeft
-4131
По правому краю
xlHAlignRight
-4152
6. Вертикальное выравнивание ячейки
ТекущийЛист.Cells(i, j).VerticalAlignment = -4130;
Режим выравнивания
Константа в Excel
Значение в ISBL
По нижнему краю
xlVAlignBottom
-4107
По центру
xlVAlignCenter
-4108
Распределенное
xlVAlignDistributed
-4117
По высоте
xlVAlignJustify
-4130
По верхнему краю
xlVAlignTop
-4160
7. Установка свойства ячейки "переносить по словам"
ТекущийЛист.Cells(i, j).WrapText = True;
8. Отключение/включение режима показа предупреждений
ExcelApp.DisplayAlerts = False; // отключение
ExcelApp.DisplayAlerts = True; // включение
9. Формулы
ТекущийЛист.Cells(i, j).Formula = "SUM(A1:A10)";
Для формул с русскими названиями нужно использовать не Formula, а FormulaLocal. Таким образом правильными вариантами написания формул будут:
ТекущийЛист.Cells(i, j).FormulaLocal = "Сумм(A1:A10)";
10. Таблица цветов с индексами
//Установка цвета текста ячейки
ТекущийЛист.Cells(i, j).Font.ColorIndex = 8;
//Установка цвета фона ячейки
ТекущийЛист.Cells(i, j).Interior.Color = 49;
//Установка цвета рамки
ТекущийЛист.Cells(i, j).Borders.Color = 8;
11. Установка границы ячейки и тип линии границы
Значения константы XlBordersIndex
Тип линии
Значение в Excel
Значение в ISBL
Нет линии
xlLineStyleNone
0
Непрерывная
xlContinuous
1
В виде тире и точек
xlDashDot
4
В виде тире и двойных точек
xlDashDotDot
5
В виде точек
xlDot
8
В виде двойной линии
xlDouble
9
В виде наклонной пунктирной
xlSlantDashDot
13
Свойство LineStyle (тип линии) может принимать следующие значения
Расположение линии
Значение в Excel
Значение в ISBL
Линия по диагонали сверху - вниз
xlDiagonalDown
5
Линия по диагонали снизу - вверх
xlDiagonalUp
6
Линия, обрамляющая диапазон слева
xlEdgeLeft
7
Линия, обрамляющая диапазон сверху
xlEdgeTop
8
Линия, обрамляющая диапазон снизу
xlEdgeBottom
9
Линия, обрамляющая диапазон справа
xlEdgeRight
10
Все вертикальные линии внутри диапазона
xlInsideVertical
11
Все горизонтальные линии внутри диапазона
xlInsideHorizontal
12
1С: Работа с Excel (2 часть) Смотрите также:
Электронный учебник по программированию в 1С Рекомендации по изучению программирования 1С с нуля Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, нидерландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки