Как в эксель сделать выбор да нет


Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет



1С 8.х и Excel

Чтение данных из Excel

Доступ из 1С к Excel производится посредством OLE. Создание COM-объекта: Попытка Эксель = СоздатьОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки;
Теперь используя переменную Эксель можно управлять приложением Excel.
  • Внимание! Microsoft Excel должен быть установлен на компьютере!

Следующая команда откроет книгу: Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
Перед тем, как начать считывание данных, укажем лист книги, с которого будем считывать данные: Лист = Книга.WorkSheets(НомерЛиста);
Нумерация листов книги начинается с 1. Общее количество листов можно получить, используя следующую команду: КоличествоЛистов = Книга.Sheets.Count;
Лист можно выбрать по имени листа в книге: Лист = Книга.WorkSheets(ИмяЛиста);
Имя листа в книге можно получить по номеру: ИмяЛиста = Книга.Sheets(НомерЛиста).Name;
Итак, мы открыли книгу и выбрали лист, теперь посмотрим, сколько строк и колонок на выбранном листе: ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
Получим значения ячейки листа в строке НомерСтроки и в колонке НомерКолонки: Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;
Ниже приведен отрывок кода, запустив который мы прочитаем все данные с первой страницы: Эксель = СоздатьОбъект("Excel.Application"); Книга = Эксель.WorkBooks.Open(ПутьКФайлу); Лист = Книга.WorkSheets(1); ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; для Строка = 1 по ВсегоСтрок цикл для Колонка = 1 по ВсегоКолонок цикл Значение = СокрЛП(Лист.Cells(Строка,Колонка).Value); КонецЦикла; КонецЦикла;
Где ПутьКФайлу - полный путь к файлу книги Excel (включая имя).

После выполнения действий необходимо закрыть книгу:

Эксель.Application.Quit();

Выгрузка данных в Excel

Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных.
Для создания новой книги можно использовать следующий код: Попытка Эксель = СоздатьОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Книга = Эксель.WorkBooks.Add();
При создании книги автоматически создаются листы (по умолчанию 3). Нам остается только выбрать нужный: Лист = Книга.WorkSheets(НомерЛиста);
Или добавить в книгу новый лист: Лист = Книга.Sheets.Add();
Добавим в ячейку на листе значение: Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение;
Запишем книгу: Попытка Книга.SaveAs(ПутьКФайлу); Исключение Сообщить(ОписаниеОшибки()+" Файл не сохранен!"); КонецПопытки;
Где ПутьКФайлу - полный путь к файлу книги Excel (включая имя).

После выполнения действий необходимо закрыть книгу:

Эксель.Application.Quit();


 

Часто используемые методы Excel

Эксель.Visible = Видимость; 0 - Excel не виден, 1 - виден. Книга = Эксель.WorkBooks.Add(); Создание новой книги (файла) Excel. Книга.SaveAs(ИмяФайла); Сохранение книги Excel. Лист = Книга.WorkSheets.Add(); Добавление нового листа в книгу. Книга = Эксель.WorkBooks.Open(ИмяФайла); Открытие существующей книги (файла) Excel. Лист = Книга.WorkSheets(НомерЛиста); Установка листа в качестве рабочего с номером НомерЛиста. Лист.Name = ИмяЛиста; Задание рабочему листу имени ИмяЛиста Лист.PageSetup.Zoom = Масштаб; Задание параметра страницы "Масштаб" (от 10 до 400). Лист.PageSetup.Orientation = Ориентация; Ориентация: 1 - книжная, 2 - альбомная. Лист.PageSetup.LeftMargin = Эксель.CentimetersToPoints(Сантиметры); Задание левой границы (в сантиметрах). Лист.PageSetup.TopMargin = Эксель.CentimetersToPoints(Сантиметры); Задание верхней границы (в сантиметрах). Лист.PageSetup.RightMargin = Эксель.CentimetersToPoints(Сантиметры); Задание правой границы (в сантиметрах). Лист.PageSetup.BottomMargin = Эксель.CentimetersToPoints(Сантиметры); Задание нижней границы (в сантиметрах). Лист.Columns(НомерКолонки).ColumnWidth = Ширина; Задание ширины колонке. Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение; Ввод данных в ячейку. Лист.Cells(НомерСтроки,НомерКолонки).Font.Name = ИмяШрифта; Установка шрифта в ячейке. Лист.Cells(НомерСтроки,НомерКолонки).Font.Size = РазмерШрифта; Установка размера шрифта в ячейке. Лист.Cells(НомерСтроки,НомерКолонки).Font.Bold = Жирный; 1 - жирный шрифт, 0 - нормальный. Лист.Cells(НомерСтроки,НомерКолонки).Font.Italic = Курсив; 1 - наклонный шрифт, 0 - нормальный. Лист.Cells(НомерСтроки,НомерКолонки).Font.Underline = Подчеркнутый; 2 - подчеркнутый, 1 - нет. Лист.Cells(НомерСтроки, НомерКолонки).NumberFormat = Формат; Установка формата данных ячейки. Лист.Cells(НомерСтроки,НомерКолонки).Borders.Linestyle = ТипЛинии; Установка рамок ячейки. 1 - тонкая сплошная. Лист.Protect(); Установка защиты на лист Лист.UnProtect(); Снятие защиты с листа Лист.Cells(Строка, Столбец).Locked=0; Ячейка будет доступной (и после установки защиты на лист)

Хитрости Excel

Как выборочно разрешить / запретить редактирование ячеек листа

//Создаем объект EXCEL Эксель = СоздатьОбъект("Excel.Application"); Книга = Эксель.WorkBooks.Open(ФайлВыгрузки); Лист =Книга.Worksheets("Список сотрудников"); // Выбор листа Книга.ActiveSheet.UnProtect(); //делаем шаблон незащищенным // Заполняем лист ................................... // Снимаем защиту с области ввода сумм Для Перем = 1 По 10 Цикл // Прописываем, какие ячейки будут доступными Книга.ActiveSheet.Cells(Перем, 2).Locked=0; КонецЦикла; Книга.ActiveSheet.Protect(); // ставим защиту на лист

Как осуществить поиск / замену значений ячеек на листе

//Выбираем область поиска - весь лист ОбластьПоиска = Лист.Cells; // Укажем начало листа НачалоЛиста = Диапазон.Cells(1, 1); // Ищем ячейку с текстом, указанным в переменной ТекстДляПоиска, //укажем откуда искать - с начала листа ОбластьПараметр = ОбластьПоиска.Find(ТекстДляПоиска, НачалоЛиста); // Если нашли, заполняем значением из переменной Значение Если ОбластьПараметр <> неопределено Тогда ОбластьПараметр.Value = Значение; КонецЕсли;
Замечание. Текст для замены лучше выделять, например, в угловые скобки, аналогично параметрам макета в 1С. Это улучшит наглядность, визуально отделит от рабочего текста.
Текст для поиска в этом случае будет выглядеть так:
ТекстДляПоиска = ""

Как скопировать / удалить строку

//Выбираем область поиска - весь лист ОбластьПоиска = Лист.Cells; // Найдем нужную нам ячейку // Если не указываем откуда искать - то с текущей ячейки, это первая ячейка на листе НайденнаяОбласть = ОбластьПоиска.Find("Текст для поиска"); // Выделяем всю строку НайденнаяОбласть.EntireRow.Select(); // Копируем выделенное НайденнаяОбласть.EntireRow.Copy(); // Вставляем (новая строка будет вставлена тут же) НайденнаяОбласть.EntireRow.Insert(); // Теперь как удалить строку. Найдем область НайденнаяОбласть = ОбластьПоиска.Find("Текст для поиска", НачалоЛиста); НайденнаяОбласть.EntireRow.Delete();
Замечание. Приведенные выше примеры позволят, например, организвать работу с шаблонами на основании листов Excel.

Источник: http://programna1c.narod.ru/docs/Excel/Excel1C8.html


Как в эксель сделать выбор да нет фото


Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Как в эксель сделать выбор да нет

Далее: