Попытка разобрать документ Word, получение исключений COM - PullRequest
0 голосов
/ 28 января 2019

Это мой код для чтения пользовательских свойств из файла.Это работает на всех типах файлов.но показывает System.Runtime.InteropServices.COMException (0x80004005):

в текстовом документе 2013

неопределенная ошибка (исключение из HRESULT: 0x80004005 (E_FAIL)) System.Runtime.InteropServices.COMException

в текстовом документе 2003

(0x80030005): доступ запрещен.(Исключение из HRESULT: 0x80030005 (STG_E_ACCESSDENIED))

Также правильна ли функция DeleteCustomPropertyThroughDSO или нет?Я использую DSOFile.dll x86 версии.

private static JObject ReadCustomPropertiesThroughDSO(string fileName)
    {
        JObject Properties = new JObject();
        OleDocumentProperties file = new OleDocumentProperties();
        try
        {
            file.Open(fileName, false, dsoFileOpenOptions.dsoOptionDefault);
            foreach (CustomProperty p in file.CustomProperties)
            {
                Properties.Add(p.Name, p.get_Value().ToString());
            }
            file.Save();
            file.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception in --> ReadCustomPropertiesThroughDSO: " + ex);
            return null;
        }
        return Properties;
    }

private static string DeleteCustomPropertiesThroughDSO(string fileName)
    {
        OleDocumentProperties file = new OleDocumentProperties();
        try
        {
            file.Open(fileName, false, dsoFileOpenOptions.dsoOptionDefault);
            foreach (CustomProperty p in file.CustomProperties)
            {
                p.Remove();
            }
            file.Save();
            file.Close();
        }
        catch (Exception ex)
        {
            Logger.Write_Log("Exception in -->  DeleteCustomPropertiesThroughDSO: " + ex);
            return FAILURE;
        }
        return SUCCESS;
    }

Я буду рад, если вы направите меня в правильном направлении.Заранее спасибо.Мой вопрос, DSOFile.dll работает для xlsx и pptx.Проблема только для документов Word.

...