Как программно подписать код в документе Word

ПРИМЕЧАНИЕ. Это не дубликат, потому что я спрашиваю о коде подписи, а не о теле документа.

Нам необходимо регулярно обновлять сертификаты, используемые для подписи кода в целом ряде документов Microsoft Word. Это может быть связано с обновлением самого кода VBA.

Для ясности, я хочу подписать код / ​​макросы в документе, чтобы они могли работать. Я не собираюсь подписывать основную часть документа. См. Разницу: http://support.microsoft.com/kb/920627.

Мы создали утилиту с использованием C #, которая позволяет нам обновлять код VBA, ссылки и многие другие аспекты этих шаблонов, но мы так и не нашли хорошего способа обновить сертификат.

Наш код имеет доступ к следующим пространствам имен.

using Microsoft.Office.Interop.Word
using Microsoft.Vbe.Interop;
using Microsoft.Office.Core;

Наше текущее решение с использованием SendKeys хрупкое и просто неприемлемо.


person AnthonyVO    schedule 14.05.2014    source источник
comment
@ nl-x: да, ладно, возможно, я тоже захихикал, за исключением того, что я больше склонен хихикать, и за исключением того, что я на работе и хихикаю над Stack Overflow сообщений не считается поводом для выставления счета моему клиенту ...   -  person John Saunders    schedule 15.05.2014
comment
Можете ли вы опубликовать фрагмент с помощью SendKeys? Как вы их подписываете? Этот вопрос SO может быть актуальным   -  person Jimmy Smith    schedule 15.05.2014
comment
По моему опыту, Autohotkey - лучшее решение, чем sendkeys, хотя в лучшем случае это все же хакерство.   -  person enderland    schedule 15.05.2014
comment
@JimmySmith, спасибо за указатель. Я попробую это.   -  person AnthonyVO    schedule 15.05.2014
comment
Похоже, об этом уже спрашивали: stackoverflow.com/questions/1480050/. Предлагаемое вами решение - это вариант того, что сказали делать все, кто разместил ответ в Интернете за пределами SO. Это отстой, но работает.   -  person Semicolons and Duct Tape    schedule 15.05.2014
comment
@JohnSaunders, Проследив за вашим указателем, я понял, что речь идет о подписании тела документа в целом, а не о подписании кода. Я уточнил свой вопрос.   -  person AnthonyVO    schedule 15.05.2014
comment
@ClaytonDavis, этот вопрос задали почти 5 лет назад. Я действительно надеюсь, что теперь есть лучший ответ.   -  person AnthonyVO    schedule 15.05.2014
comment
@AnthonyVO не то, чтобы я в курсе / видел. Я наткнулся на пару сайтов, где люди пытались сделать это в базе знаний MS и в группах Google. все они делали вариацию того, чем были вы, и безуспешно пытались найти лучшее решение. Я потратил некоторое время, пытаясь сделать это в Word 2013, просто чтобы дважды проверить, и если вы можете сделать это сейчас, я не понимаю, как, потому что метод добавления подписей, кажется, всегда запускает приглашение, что омрачило мои надежды на поиск по-настоящему программное решение. Если вы найдете способ, хотя меня интересуют технические детали, и желаю вам всего наилучшего.   -  person Semicolons and Duct Tape    schedule 16.05.2014