2010-03-02 6 views
7

Мне нужно использовать пространство имен Microsoft.Office.Interop.Word для извлечения, если документ Word содержит макросы и какие. Документация MSDN для этого пространства имен не дает большой информации по сравнению с документацией на других .Net-классах. Где я могу получить дополнительную информацию об этих пространствах имен (примеры, полная документация и т. Д.). Я уже искал в Google и SO, но не очень много информации.Документация Microsoft.Office.Interop.Word

+0

Какая версия Office? –

+0

@ rold2007: просто хочу зарегистрироваться, чтобы узнать, отвечает ли ответ на ваш вопрос. –

+0

@ Otaku: Три ответа до сих пор интересны, но разработка для этого приложения еще не началась, поэтому я не могу сказать, осуществимо ли то, что мне нужно для разработки, или нет. Я отправлю сообщение здесь, когда мои тесты будут выполнены. – rold2007

ответ

0

Microsoft.Vbe.Interop это пространство имен для VBA. (VBE is Visual Basic для расширяемости приложений 5.3.) Ключевые слова, которые помогут вам найти: VBProject, VBComponent и CodeModule.

MSDN Поиск VBProject поможет вам начать работу. http://social.msdn.microsoft.com/Search/en-US?query=VBProject&ac=8.

Следующая статья предназначена для VBA, но легко конвертируется. WD2000: Образец макроса для возврата макросов и имен процедур по адресу http://support.microsoft.com/kb/262961.

+0

Ожидайте исключения «Программный доступ к Visual Basic Project не заслуживает доверия». когда вы попробуете это. Google сообщение об ошибке для получения дополнительной информации. (Вы также найдете, что некоторые люди пытаются сделать то же самое, что и вы!) – MZB

+0

Вы можете изменить это через макросохранение на вкладке «Доверенные издатели». Более того, добавление сертификата в проект с надлежащей настройкой макроса безопасности обходит это сообщение. – AMissico

-1

Основная часть документации находится в файле справки VBA, который поставляется с Microsoft Word - для Microsoft Word 2003 ищет файл VBAWD10.CHM. Также проверьте Microsoft Office Visual Basic Reference (VBAOF11.CHM)

10 и 11 в приведенных выше номерах Word и Office версии - поэтому ваш пробег будет отличаться в зависимости от версии Word, которую вы установили. Кроме того, именование несовместимо во всех версиях Word, поэтому поиск всего VBA * .CHM, вероятно, заставит большую часть необходимой вам документации.

Это ответит на большинство ваших вопросов по API Word.

Невозможно увидеть очевидный способ поиска списка макросов в открытом документе или шаблоне, однако ... Пожалуйста, добавьте комментарий к этому ответу, если вы найдете метод, так как мне было бы интересно узнать ,

(Обратите внимание, что каждый вызов может вызывать исключение при использовании Word interop. Если Word имеет , то любое модальное диалоговое окно будет иметь, например, исключение.

+0

@unknown - Если вы собираетесь что-то проголосовать, подсказка о том, почему ответ был бесполезным, был бы полезен. (Сделав что-то очень похожее на @ rold2007 и искал ту же документацию, мне было бы интересно узнать, есть ли лучший источник информации). – MZB

+0

Как говорит @AMissico, свойство Application.VBE может быть местом для поиска. – MZB

+0

Только гадать, так как есть только один ответ на этот вопрос. Я думаю, что голосующий голос связан с ссылкой на ссылки на объектную модель Office и Word, а не на ссылки VBA/VBE. Более того, возможно, потому, что вы ссылаетесь на VBA вместо .NET Namespace. – AMissico

3

Нет хорошей документации. Единственными ресурсами являются MSDN (тихое плохое) и некоторые блоги. Возможно, вы можете найти информацию здесь: http://blogs.msdn.com/mshneer/

3

Правильный ответ - проверить свойство Document.HasVBProject.

Процитировать в разделе «Примечания»: «Это свойство наиболее полезно при программном определении необходимости сохранения документа в формате файла с поддержкой макроса. Если сохранено в другом формате, макросы и проекты кода, содержащиеся в документе, могут Потерянный."

Смежные вопросы