Печать PDF на основе ввода пользовательской формы - PullRequest
0 голосов
/ 10 января 2019



Я хочу создать функцию распечатки в формате PDF, которая учитывает вводимые пользователем данные в пользовательскую форму.
В основном я получил 2 листа (CW и год), каждый из которых содержит 10 диаграмм, каждая из которых находится на одной странице (с точки зрения области печати).

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

This is, how the UserForm looks like

Если пользователь решает сохранить диаграммы как отдельные PDF-файлы, ему нужно только один раз указать место для сохранения PDF-файлов. Вкладки в форме «CW» и «Year» в основном одинаковы, но относятся только к 2 различным рабочим листам. Вкладка «Фильтр» содержит только один выбор.

Я попытался создать массив (диаграммы против страниц) с диаграммами, соответствующими флажкам. Поэтому, если выбран график «Единицы измерения, Производительность, KPI и Регион Юг», он будет выглядеть так ({1,1}, {0,2}, {1,3}, {1,4}, {0,5 }, {0,6}, {0,7}, {1,8}, {0,9}, {0,10}) - не обращайте внимания на формат - при этом {#, ..} имеет значение true или false, в зависимости от выбора пользователя, и {.., #} является соответствующим номером страницы графиков.
Однако при таком подходе я сталкиваюсь с двумя проблемами: а) переустановка массива до всех истинных значений, равных ({1,1}, {1,3}, {1,4}, {1,8}) , Что бы сказать, какие страницы печатать. И проблема б) в том, что команда Worksheets("sheet").ExportAsFixedFormat _ позволяет вводить только диапазон страниц (From:=1, To:=10,), но не отдельные страницы.

Что вы думаете о решении этой проблемы? Любая лучшая практика или другая работа вокруг?
Спасибо за ваши усилия заранее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...