Свойство чтения C# COMException объекта MSWord Shape Microsoft.Office.Interop.WordC#

Место общения программистов C#
Гость
Свойство чтения C# COMException объекта MSWord Shape Microsoft.Office.Interop.Word

Сообщение Гость »


Я пытаюсь просмотреть все фигуры в документе и проверить их «Альтернативный текст», в котором имя исходного файла для этого изображения записано как альтернативный текст. Мне нужно прочитать определенные исходные изображения и преобразовать их в другой формат изображений.

Я могу дойти до чтения AlternateText фигуры, но выдает исключение: '((Microsoft.Office.Interop.Word.Shape)(s)).AlternativeText' выдал исключение типа 'System.Runtime.InteropServices.COMException'

Когда я устанавливаю точку останова и просматриваю объект «s», большинство свойств выдают это исключение, однако некоторые нет, например, я могу без проблем прочитать свойство LinkFormat и несколько других, но большинство свойств выдать ошибку.

Вот код, который я использую:

Word.Application WordApp = новый Word.Application(); d = WordApp.Documents.Open(@strFilename, ReadOnly: true, Visible: false); интервал iReplacements = 0; интервал iReplacementNoLink = 0; foreach (Word.Shape в d.Shapes) { Приложение.DoEvents(); пытаться { if (s.LinkFormat.SourceName.ToString().Contains(".eps") || s.LinkFormat.SourceName.ToString().Contains(".png")) { iReplacements++; } если (s.AlternativeText != "") { iReplacementNoLink++; } } поймать (Исключение fff) { Консоль.Запись(ффф); } } Инструкция if, проверяющая s.AlternateText, всегда попадает в ловушку.

Я использую Visual Studio 2013 и Office 2007, не уверен, актуально это или нет.

Может ли кто-нибудь сказать мне, что мне нужно сделать, чтобы прочитать альтернативный текст фигур? Если я делаю это неправильно, или мне нужно включить библиотеку, или мне нужно обновить VS или Office? Кажется, все должно быть очень просто.

Спасибо за любую помощь, которую вы можете оказать.

Вернуться в «C#»