Здравствуйте, уважаемые форумчане. Предыстория: У ме

Автор ForumOOo (бот), 16 мая 2016, 22:19

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Calc
Версия продукта: 5.x
Сборка: Версия: 5.0.3.2 ID сборки: 1:5.0.3~rc2-0ubuntu1~precise2 Локаль: ru-RU (ru_RU.UTF-8)
ОС: 64-разрядная Ubuntu 12.04 LTS

Здравствуйте, уважаемые форумчане.

Предыстория: У меня есть макрос, который производит манипуляции с данными на листах, назовем его Макрос_А(к стати, очень
много почерпнуто из этого форума), и есть набор маленьких макросов, Макрос_Б, Макрос_В, Макрос_№ которые содержат данные о
листах, на которых нужно делать задание.

К примеру анализ прайс листов от поставщиков - каждый прайс = лист книги, колонки в разных прайсах идут в разном порядке и
по разному называются. Но задание для всех одно - найти название товара, его цену и остаток. Так в макросе Макрос_Б есть
массив для прайса 1, с названием листа, номером колонки с ценой, номером колонки с названием, номером колонки остатком. А в
макросе Макрос_В то же самое только для прайса 2.

На отдельном листе есть кнопки, при нажатии на которые выполняется макрос Макрос_Б или Макрос_В соответственно - из них
массив попадает в макрос Макрос_А и он все делает.

Возникла необходимость подружить эту систему с пользователем далеким от программирования макросов и убрать кучу одинаковых
стартовых макросов.

Идея такая :

на отдельном листе сделать диапазон ячеек - как шаблон таблички , и в нем указать вводные данные. И так по шаблону сделать
сколько нужно табличек (ну размер к примеру 2 строки на 4 колонки). при появлении нового прайса, оператор копирует эту
табличку ниже на несколько строк, указывает вводные данные, и нажимает кнопку "Анализ прайса" и получает результат.

Вопрос: как организовать вызов макроса с параметром по нажатию кнопки на листе? как прикреплять к кнопке(вызову макроса)
разные параметры? к примеру выделить диапазон ячеек мышкой и нажать кнопку, так чтобы имя диапазона попало в макрос как
параметр функции(или еще как, может проще есть вариант)?

Помогите пожалуйста разобраться с этой задачей

Заранее спасибо.

--
Подпись: Начинающий Макросер
Эл. почта: p2007pab@gmail.com

rami

Цитата: ForumOOo (бот) от 16 мая 2016, 20:19Вопрос: как организовать вызов макроса с параметром по нажатию кнопки на листе? как прикреплять к кнопке(вызову макроса)
разные параметры? к примеру выделить диапазон ячеек мышкой и нажать кнопку, так чтобы имя диапазона попало в макрос как
параметр функции(или еще как, может проще есть вариант)?
Есть несколько вариантов:
1. выделяете диапазон и жмёте на кнопку, и с помощью строки кода:оSelection=ThisComponent.CurrentSelectionполучаете выделенный диапазон

2. можно использовать один макрос и один шорткат для выполнения разных действий на разных листах — макрос определит на каком листе нажата клавиша и выполнит соответствующие действия.