v7: Как сохранить печатные формы в ексель! #214378


#0 by VadimMS
Обработкой формируюся 2 печатные формы:подскажите как я могу их сохранить из 1С в один ексель-файл, но на 2 листах.
#1 by Heckfy
Используй ОЛЕ
#2 by VadimMS
#3 by VadimMS
как на две страницы записать?
#4 by Heckfy
Может поможет. Таблицы 1С и Excel. Многие пользователи для удобства работы сохраняют таблицы 1С (печатные формы) в формате Excel (*.xls). После чего в полученном файле делают различные группировки, сортировки, вычисления и т.п. Связано это с тем, что в таблицах 1С нет такого огромного функционала как в таблицах Excel. Но в версии 1С 8.0 есть нововведения, делающих работу с таблицами более комфортной. На сайте 1С есть полезная программка, которая дает возможность открывать таблицы 1С в Excel и сохранять лист Excel как таблицу 1С. Это пригодится в том случае, если таблицу 1С не сохранили в формате Excel, а на том компьютере, где нужно открыть эту таблицу не установлена 1С. Да и постоянно помнить о том, что сохранить таблицу 1С нужно в формате Excel, не будет необходимости. Полная информация о программе находится здесь. Скачать программу можно здесь (архив zip 682 739 байт). Замечание: В Excel разделителем дробной части считается символ ",". Поэтому перед сохранением таблицы 1С в формате Excel замените в ней другой разделитель (например ".") на ",". Иначе в Excel с этими числами не удастся произвести вычисления, или они вообще не будут отображаться как числа. Например, в таблице 1С "15.2" отобразится в Excel как "15.фев". Получение данных из Excel. Доступ из 1С к Excel производится посредством OLE. Например, код Попытка позволит нам получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными. Далее примеры кода. Открытие книги (файла): Книга = Эксель.WorkBooks.Open(ПутьКФайлу); ПутьКФайлу - полный путь к файлу книги Excel. Выбор листа книги для работы с ним: Лист = Книга.WorkSheets(НомерЛиста); или Лист = Книга.WorkSheets(ИмяЛиста); НомерЛиста - номер листа в книге, ИмяЛиста - имя листа в книге. Получение значения ячейки листа: Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value; НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка. Важно: не забывайте поле выполнения нужных действий добавлять код Эксель.Quit; , иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера. Вывод данных в Excel. Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код: Попытка Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа: либо добавить в книгу новый лист, если необходимо: Лист = Книга.Sheets.Add; Следующим шагом будет установка значения ячейки: Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение; НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка. И в конце нужно произвести запись созданной книги: Попытка Книга.SaveAs(ПутьКФайлу); КонецПопытки; ПутьКФайлу - полный путь к файлу книги Excel (включая имя). Важно: не забывайте, что в имени файлов не должно содержаться символов / : * ? " > < |. Часто используемые методы для чтения/установки значений в Excel. Эксель = СоздатьОбъект("Excel.Application");  Получение доступа к приложению 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 - тонкая сплошная.
#5 by VadimMS
4- ок, у меня уже есть процедуры формирования печатной формы в 1С, теперь мне еще нужно написать то же самое только в ексель файл? через Таб.Записать(ПутькФайлу) не получиться ??
#6 by Heckfy
На двух листах нет.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С