В нашем проекте у нас есть шаблон excel (.xlt) и файл надстроек (.xla). Эти файлы используются для создания dataview. Dataview - не что иное, как своего рода отчет. Xla содержит код для создания элементов управления для создания, удаления, управления dataview и его содержимого. Этими элементами управления являются OCX-элементы управления, созданные в VC++ для создания dataview. У нас есть дополнительный код отдельно и файл шаблона отдельно.Цифровая подпись для макроса Excel
Xlt и xla были цифровой подписью для обеспечения того, что код является доказательством несанкционированного доступа. Все работало нормально, пока не появилась цифровая подпись. Создание dataview создается путем открытия файла шаблона (.xlt) и сохранения файла в расширении .xls, тем самым не изменяя файлы xlt и xla с цифровой подписью. Когда мы пытаемся сохранить это, мы получаем следующее сообщение: «Вы пытаетесь изменить подписанный проект. У вас нет подходящей клавиши для подписи проекта ....»
Когда мы даем Сохраните изменения и отмените подпись подпись теряется только для созданного нового файла. Подпись остается неизменной для xlt и xla.
Мы также попытались вручную отредактировать ячейки в excel и сохранить их, но мы не получаем это сообщение выше. Только после создания dataview с помощью элемента управления OCX и сохранения их всплывает вышеприведенное сообщение.