Все константы MS Office

09.10.13

Разработка - Инструментарий разработчика

16000+ констант MS Office 2013 для Excel, Word, Access, Outlook, PowerPoint, Project и Visio с краткими описаниями из MSDN, переведены в формат "mxl",
с удобной оболочкой  в виде обработки для отбора и преобразования в другие форматы.
Примеры использования.
Пример получения значений напрямую из Excel (без ВК).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Все файлы одним архивом
.zip 2,21Mb
158
158 Скачать (1 SM) Купить за 1 850 руб.

Предыстория: все, кто программно форматировал документы MS Office из 1С сталкивался с обилием констант, которые там используются. Конечно можно использовать числовые значения и переписывать VBA Help в комментарии, но разобраться иногда становиться непросто, особенно, если писалось давно.
Теоретически, идеально было-бы получать значения констант через точку из того-же COM объекта или функцией Evaluate() или Run(), но для констант это не подходит. Придется использовать родные 1С объекты где есть доступ к свойствам через точку или функции, в которых прописаны все значения. Остается запастить этими значениями на все случаи жизни.

 

1) Обработка MSOEnum.epf - позволяет отметить нужные объекты MS Office и вывести их в макет табличного документа, таблицу значений, структуру или генерировать функцию. Опционально описания констант исключаются.

В макете Табличного Документа используются колонки: Параметр, Значение, Описание.
Значения записываются в именованных областях. Таким образом, можно использовать конструкцию:

1С 8
Значение = ПолучитьМакет("МойМакет").Область("ИмяКонстанты").Значение;

Таблица Значений и Структура выводятся во внутреннем формате - готовые к "закладке" в макеты. Колонки Таблицы Значений: Параметр, Значение, Описание.

В связи с использованием OLE в MS Office - по каждому объекту показано фактически поддерживаемое в нем количество констант. Уникальных констант в итоге меньше на ~1000.

Генерируемая функция совместима с 7.7 и всеми 8.
При генерации макетов "mxl" для 7.7 не забудьте выбрать формат сохранения "Табличный документ v7.7".

2) Обработка ПримерИспользования.epf - для проверки и сравнения методов извлечения.
Из нее можно использовать сводные макеты, минуя предыдущий этап.



Обработка ПримерИспользования.ert - аналогичная предыдущей, для 7.7.
Табличный Документ 8 и Таблица 7.7 оказались наиболее быстрыми объектами на этапе инициализации. У функции единственный недостаток - километр кода.


3) Обработка ДинамическоеВычислениеЗначений.epf - пример вычисления выражений в контексте Excel. Принцип: в Excel создается книга, в которую добавляется и выполняется программный модуль. Для каждого вычисления выполняемая в модуле функция модифицируется.
Требует понижения безопасности до опасного уровня. Только для экспериментов.

 

Практические приёмы (для начинающих).

Для примера возьмем таблицу Excel, в которую данные добавлены программно и нет никакого оформления и выравнивания.
Оформим её вручную, записав все действия в макрос и затем повторим тоже самое из 1С, чтобы убедиться, как это просто и удобно имея таблицу констант.

Исходная таблица


Откроем книгу с данными в Excel сразу включим запись макроса (Вид - Макросы - Запись макроса - ОК)

Вставляем для используемой области таблицу (Вставка - Таблица) или Ctrl + T. В открывшемся конструкторе выбираем стиль, чередование строк, и прочие полезности. Когда в оформлении достигнут желаемый результат - останавливаем макрос (Вид - Макросы - Остановить запись) и забираем код оформления (Макросы - Изменить).
Если потренироваться и под запись не нажимать ничего лишнего код генерируется достаточно чистый.

Результат форматирования


Соответствующий этому форматированию код:

VBA Excel

Sub Макрос1()
'
' Макрос1 Макрос
'

    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$J$13"), , xlYes).Name = "Таблица1"
    Range("Таблица1[#All]").Select
    ActiveSheet.ListObjects("Таблица1").TableStyle = "TableStyleLight21"
    ActiveSheet.ListObjects("Таблица1").ShowTotals = False
    ActiveSheet.ListObjects("Таблица1").ShowAutoFilterDropDown = False
    ActiveSheet.ListObjects("Таблица1").ShowTableStyleLastColumn = True
    ActiveSheet.ListObjects("Таблица1").ShowTableStyleColumnStripes = False
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlCenter
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub


Для адаптации кода в 1С нам нужно указать в параметрах COM объекты, а вместо фиксированной области использовать рабочую "UsedRange" (чтобы получить некоторую универсальность).

1С 8
Процедура КнопкаВыполнитьНажатие(Элемент)
        //Поместим в Структуру константы из макета
    xl = ЗначениеИзСтрокиВнутр( ПолучитьМакет("MSConst_Структура").ПолучитьТекст() );
        //Откроем книгу, выделим используемый диапазон
    Excel = Новый COMОбъект("Excel.Application");
    Excel.DisplayAlerts = Ложь;
    Excel.EnableEvents = Ложь;
    Excel.Workbooks.Open("E:\Книга1.xlsx");
    ActiveSheet = Excel.ActiveSheet;
    ActiveSheet.UsedRange.Select();
        //Тут практически текст VBA. К именам констант дописываем нашу Структуру "xl"
    Таблица1 = ActiveSheet.ListObjects.Add(xl.xlSrcRange, ActiveSheet.UsedRange, , xl.xlYes);
    Таблица1.Name = "Таблица1";
    Таблица1.TableStyle = "TableStyleLight21";
    Таблица1.ShowTotals = False;
    Таблица1.ShowAutoFilterDropDown = False;
    Таблица1.ShowTableStyleLastColumn = True;
    Таблица1.ShowTableStyleColumnStripes = False;
    Excel.Selection.HorizontalAlignment = xl.xlGeneral;
    Excel.Selection.VerticalAlignment = xl.xlCenter;
    Excel.Selection.WrapText = True;
    Excel.Selection.Orientation = 0;
    Excel.Selection.AddIndent = False;
    Excel.Selection.IndentLevel = 0;
    Excel.Selection.ShrinkToFit = False;
    Excel.Selection.ReadingOrder = xl.xlContext;
    Excel.Selection.MergeCells = False;
        //Покажем результат
    Excel.Visible = Истина;
    Excel.DisplayAlerts = Истина;
    Excel.EnableEvents = Истина;
КонецПроцедуры

Сложное форматирование лучше записывать с остановками в несколько макросов, давая им осмысленные имена.
Так будет проще разбираться с кодом, а имена макросов пригодятся для комментариев в 1С.


См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159498    874    399    

862

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7802    57    22    

67

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    23446    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10437    36    25    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15405    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188003    1140    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17306    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7699    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. МимохожийОднако 142 24.07.13 06:47 Сейчас в теме
ОК. Получили список констант. Описание и использование каждой константы на русском языке надо брать в справке к Офису или тоже есть где-то в обработке?
2. TrashMaster 196 24.07.13 10:03 Сейчас в теме
Подскажете, где достать - поменяю. Справка пишет "Данное содержимое не доступно на вашем языке, используйте версию на английском...". То, что есть в руссой документации тоже не напрягаются переводить.
Удобнее включить запись макроса, отформатировать документ интерактивно и перекинуть автоматически сгенерированный код в 1с, поправив синтаксис.
Чтобы заменить константу на другую из этого-же набора нужно глянуть соседние строки в макете или в коде макроса VBA в контекстном меню открыть "Definition".
По этому поводу добавил примерчик в описание.
3. ITEkb 26.07.13 08:39 Сейчас в теме
Проходил, знакомо :-)
Спасибо за веселые воспоминания!
4. Арчибальд 2709 26.07.13 10:19 Сейчас в теме
Спасибо,отправлю в мемориз.
5. adhocprog 1142 26.07.13 15:34 Сейчас в теме
Фундаментальный труд )
Стояла такая задача 6 лет назад. Каждый раз вручную смотрел в справке :)
http://infostart.ru/public/163592/
Сриншот № 1.
8. TrashMaster 196 26.07.13 21:13 Сейчас в теме
(5) adhocprog, тоже подобный модуль написал в 03 году, тогда это были просто хиты.
Сейчас снова понадобилось сделать кое-что в excel, но теперь стал ленив - 50 строк кода на парсер и с константами офиса решил закрыть вопрос на все последующие версии.
6. sergnik 26.07.13 17:53 Сейчас в теме
Спасибо за труды) Часто приходится использовать объекты MS Office, замучался гуглить описания)
Опенконф для 7.7 конечно же может сам сгенерить описание всех методов, но очень краткое
7. TrashMaster 196 26.07.13 20:25 Сейчас в теме
(6) sergnik, тут только константы и пример, как заставить офис делать за Вас черную работу. Для остального скачайте себе русскую MSDN и изучейте с комфортом.
9. sick_russian 29.07.13 09:06 Сейчас в теме
Спасибо, возьму на заметку, частенько с ВБА работаю)
10. LexSeIch 211 01.08.13 11:08 Сейчас в теме
Мир этому дому!
Спасибо за информацию. Пока не качал, но взял на заметку. Плюс однозначно.
11. xzorkiix 35 19.08.13 11:29 Сейчас в теме
Спасибо - за проделанное. Познавательно. Написано хорошо.
12. Shrek2015 19.08.13 14:34 Сейчас в теме
познавательно. респект!
13. khizhov 29.08.13 10:33 Сейчас в теме
Спасибо что непожалел сил и труда всё это сделать, будет очень полезно
14. Abadonna 3968 31.08.13 07:36 Сейчас в теме
Мне точно не надо, но работа проделана солидная. Плюс
15. TrashMaster 196 06.09.13 10:56 Сейчас в теме
(14) Abadonna,
Спасибо! Плюс от Мастера удвоил мою карму.

Вскрываю карты, как это делается
16. Поручик 4692 07.09.13 17:02 Сейчас в теме
(0) И другие, кому надо
Список констант Word http://www.progresstalk.com/threads/mail-merge-question.25614/#post-77930
Ещё здесь есть немного http://wladm.narod.ru/Borland/word.html
TrashMaster; +1 Ответить
17. TrashMaster 196 07.09.13 18:49 Сейчас в теме
(16) Поручик,
1) В Word за 16 лет количество констант удвоилось. Сам сначала попробовал использовать функцию с мисты, но не поперло.
2) OlePropertyGet - надо вызывать в контекстах соответствующих объектов (может ошибаюсь), а их немало. Но можно и так.
Вопрос в удобстве. Выйдет следующая версия офиса - а парсер msdn уже выложен http://infostart.ru/public/200004/ нажал кнопку, и готово - пошел делать что-нибудь другое.
18. Поручик 4692 07.09.13 19:43 Сейчас в теме
(17) Для большинства приложений в 1С сгодится и такой список. В самом деле, что в основном генерят из 1С для Word и Excel? Относительно несложный документ или таблицу и немного стилевого оформления абзацев или ячеек, то есть применяются константы цветов, шрифтов и выравнивания абзацев.
19. TrashMaster 196 07.09.13 20:08 Сейчас в теме
(18) Поручик, Согласен, но неприятно, когда в нем чего-то не хватает. Для надежность лучше иметь 100%.
Бывает, ещё всякая хрень нужна:
20. NAKIS 5 18.12.13 12:05 Сейчас в теме
Спасибо)) очень полезно)
21. Патриот 458 24.11.14 13:39 Сейчас в теме
Однозначно плюс! Раньше приходилось каждую константу в справке смотреть, теперь не надо, и к тому же код будет наряднее, когда вместо цифры имя константы будет.
Оставьте свое сообщение