VBA Word
Вообщем проблема такая… Программный код не считывается, если документ поставлен на «Защиту формы», т.е. при таком условии макросы не работают. Условием задачи является обязательная «защищенность формы».
Решение было найдено: в начале выполнения макроса необходимо отключить «защиту формы» программно, VBА это позволяет; затем поставить на выполнение программную процедуру – макрос, а затем по окончании выполнений всех процедур с документом снова поставить защиту.
Но здесь есть один минус, если отключать процедуру программно, все программные процедуры обработки документа протекают медленнее в 2 раза. Но вручную отключать документ не годиться - слишком по-«варварски» получается.
Этот момент был исправлен более в поздних версиях офиса, или точнее сказать программном ядре VBA. Но нужно сделать программу с учётом старых версий, найти способ как это обойти (обойти медленное исполнение)…
|