Ссылка на объект не указывает на экземпляр объекта Excel

Обновлено: 20.11.2024

Фильтр типа файла Microsoft Excel 2007–2013 не может сохранить целевой файл XLSX и выдает ошибку:

Не удалось сохранить целевой файл: ссылка на объект не указывает на экземпляр объекта.

Это также можно воспроизвести в SDL Trados Studio 2017 и/или 2019 при использовании типа файла Microsoft Excel 2007–2013.

Решение этой проблемы зависит от того, работаете ли вы с версией WorldServer, включающей тип файла Microsoft Excel 2007–2016 (WorldServer 11.1.1. и более поздние версии), или работаете с более ранней версией, в которой Доступен тип файла Excel 2007–2013 (10.4.4., 10.4.5, 11.1 и 11.1.0).

  • Загрузите исходный файл XLSX на локальный компьютер.
  • Откройте исходный файл XLSX с помощью более ранней версии Microsoft Excel (2013 и более ранней)
  • Сохраните файл XLSX
  • Повторно отправьте файл в новый проект или добавьте его в существующий проект в качестве новой задачи. Затем задачу в Autoerror необходимо будет отменить. Чтобы добавить файл в качестве новой задачи в существующий проект из Проводника, выполните действия, описанные в этой статье: Как добавить новую задачу в существующий проект в WorldServer

*Примечание. Тип файла Microsoft Excel 2007–2016 не позволяет обрабатывать встроенное содержимое. Поэтому, если существующий фильтр использует встроенную обработку содержимого, лучшим вариантом может быть сохранение файла в более ранней версии Microsoft Office, чтобы избежать различий в сегментации. Ожидается, что тип файла Microsoft Excel 2007–2016 будет включать встроенную обработку контента в WorldServer 11.4.

***** Некоторые сбои, возникавшие в более ранних версиях, не возникают в WorldServer 11.4 *****

Это происходит, когда исходный файл XLSX был создан в неподдерживаемой версии Office, а именно в Microsoft Office/Excel 2016, номер сборки 1707 и новее. Файлы Excel, созданные в Microsoft Office 2016, официально не поддерживаются типом файлов Microsoft Excel 2007–2013.

Эта статья полезна, если вы хотите изменить конфигурацию, связанную с вашим файлом XLSX, чтобы использовать последний фильтр, соответствующим образом настроив последовательность группы фильтров/типа файла:

Объект — это экземпляр класса, он хранится где-то в памяти. Ссылка — это то, что используется для описания указателя на область памяти, где находится объект. Сообщение «ссылка на объект не указывает на экземпляр объекта» означает, что вы ссылаетесь на объект, который не существует или был удален или очищен. Обычно это ошибка времени выполнения .

Ссылочные типы

Ссылочные типы при объявлении не имеют значения по умолчанию:

Если вы попытаетесь получить доступ к члену класса (здесь MyClass), вы получите исключение System.NullReferenceException. Это то же самое, что «ссылка на объект не указывает на экземпляр объекта». Это указывает на то, что вы пытаетесь получить доступ к полям-членам или типам функций в ссылке на объект, которая указывает на null. Это означает ссылку на объект, который не инициализирован. Однако исключение нулевой ссылки разработано как допустимое условие выполнения, которое может быть вызвано и перехвачено в обычном ходе программы.

Обработка исключения NullReferenceException

Обычно лучше избегать исключения NullReferenceException, чем обрабатывать его после того, как оно возникнет. Чтобы предотвратить эту ошибку, объекты, которые могут иметь значение NULL, должны быть проверены на значение NULL перед использованием.

Переменная ссылки на объект похожа на "указатель в C", но не совсем на указатель. NullReferenceException обычно отражает ошибку разработчика и возникает в следующих случаях:

  1. Забыли создать экземпляр ссылочного типа.
  2. Забыл размер массива перед его инициализацией.
  3. Вызывается методом, которому передается значение null.
  4. Получить возвращаемое значение null из метода, а затем вызвать метод для возвращенного типа.
  5. Использование выражения для извлечения значения и проверка того, является ли значение нулевым.
  6. Перечисление элементов массива, содержащего ссылочные типы, и попытка обработки одного из элементов.

Обработка исключения может усложнить поддержку и понимание кода, а иногда может привести к возникновению других ошибок. Однако во многих ситуациях обработка ошибки может быть полезной:

  1. Ваше приложение может игнорировать объекты, которые имеют значение null.
  2. Вы можете восстановить состояние вашего приложения до допустимого состояния.
  3. Вы хотите сообщить об исключении.

Что такое ссылка на объект, не являющаяся экземпляром объекта?Как решить ошибку ссылки на объект, не установленную на экземпляр объектной утилиты? Этот пост от MiniTool покажет вам ответы.

Что такое ссылка на объект, не являющаяся экземпляром объекта?

Мы узнали, что ссылка nullreferenceexception:object, не являющаяся экземпляром объекта, вызвана нулевой ссылкой. Итак, вы знаете, что такое нулевая ссылка?

Нулевая ссылка означает, что она не указывает ни на какой объект. Ошибки с нулевыми ссылками ответственны за хороший процент всех ошибок приложения. Обычно это очень простые проблемы, возникающие из-за того, что не добавлена ​​дополнительная логика, гарантирующая, что объекты имеют допустимые значения перед их использованием.

Итак, когда вы сталкиваетесь с ошибкой, когда ссылка на служебный объект не указывает на экземпляр объекта, знаете ли вы, как ее исправить? Как избежать этой ошибки?

Если вы ищете решения для устранения ошибки исключения 0xc0000409 Windows 10, этот пост — то, что вам нужно, поскольку в нем показаны решения.

Как избежать того, чтобы ссылка на объект не устанавливалась на экземпляр объекта?

Поэтому в этой части мы покажем вам, как избежать ссылки на объект, не установленной на экземпляр объекта. Чтобы избежать проблемы со ссылкой на объект, не установленной на экземпляр объекта, вы можете принять несколько мер. Сейчас мы покажем некоторые из них.

<р>1. Явно проверяйте значение null и игнорируйте значения null.

Если вы ожидаете, что иногда ссылка будет нулевой, вы можете проверить ее на нуль, прежде чем обращаться к членам экземпляра.

<р>2. Явно проверьте значение null и укажите значение по умолчанию.

Чтобы ссылка на объект не была установлена ​​на экземпляр объекта, вы можете выбрать проверку на нуль и указать значение по умолчанию.

<р>3. Явно проверяйте наличие null из вызовов методов и выбрасывайте пользовательское исключение.

В этом показателе вы можете создать пользовательское исключение только для того, чтобы перехватить его в кодах вызова.

<р>4. Используйте Debug.Assert, если значение никогда не должно быть нулевым, чтобы обнаружить проблему до того, как возникнет исключение.

Если вы знаете, что метод может быть нулевым, но никогда не должен быть пустым во время разработки, вы можете использовать Debug.Assert() для останова как можно скорее, когда это произойдет.

Чтобы избежать ошибки ссылки на объект, не установленной на экземпляр объекта, вы также можете воспользоваться оператором объединения null.

<р>6. Воспользуйтесь преимуществами нулевого контекста.

Чтобы избежать ошибки ссылки на утилиту, не установленной на экземпляр объекта, вы можете использовать нулевой контекст.

Конечно, чтобы избежать nullreferenceexception:ссылка на объект не указывает на экземпляр объекта, вы можете принять другие меры.

При открытии виртуальных машин с помощью VirtualBox вы можете столкнуться с ошибкой VT-x недоступен. В этом сообщении показано, как решить эту проблему.

Заключительные слова

Подводя итог, этот пост показал, что такое ошибка ссылки на объект, не установленную на экземпляр объекта, и что вызывает эту ошибку. Кроме того, в этом посте также показаны некоторые меры, позволяющие избежать этой ошибки. Если у вас есть другие идеи, вы можете поделиться ими в зоне комментариев.

ОБ АВТОРЕ

Должность: обозреватель

Тина увлекается технологиями и присоединилась к MiniTool в 2018 году. В качестве редактора MiniTool она продолжает делиться компьютерными советами и предлагать надежные решения, особенно специализируясь на резервном копировании и восстановлении Windows и файлов. Кроме того, она расширяет свои знания и навыки в области восстановления данных, оптимизации дискового пространства и т. д.

В свободное время Тина любит смотреть фильмы, ходить по магазинам или общаться с друзьями и наслаждаться жизнью.

Проблема: при создании нового семейства веб-сайтов в SharePoint 2016 я получил сообщение об ошибке "Ссылка на объект не указывает на экземпляр объекта"!

При проверке журналов ULS были обнаружены следующие подробные ошибки:
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Microsoft.SharePoint.Administration.SPContentDatabaseCollection.FindBestContentDatabaseForSiteCreation (IEnumerable`1 contentDatabases, Guid siteIdToAvoid, Guid webIdToAvoid, база данных SPContentDatabase, SPContentDatabase databaseTheSiteWillBeDeletedFrom) в Microsoft.SharePoint.Administration.SPContentDatabaseCollection.FindBestContentDatabaseForSiteCreation (SPSiteCreationParameters siteCreationParameters, Guid siteIdToAvoid, Guid webIdToAvoid, базы данных SPContentDatabase , SPContentDatabase databaseTheSiteWillBeDeletedFrom)

Основная причина:

Это связано с поврежденной базой данных контента, связанной с конкретным веб-приложением.

Решение:

Удалите неверную связь с базой данных контента, выполнив следующие действия.

Шаг 1. Получите GUID веб-приложения

Используйте приведенный ниже сценарий PowerShell, чтобы получить идентификатор рассматриваемого веб-приложения.

Шаг 2. Запрос базы данных конфигурации SharePoint с помощью GUID веб-приложения:

Войдите на свой SQL Server, откройте SSMS, запустите этот запрос выбора в базе данных конфигурации фермы.

Нажмите на значение столбца «Результат», выполните поиск «m_Databases» и найдите GUID базы данных со значением «null».

Шаг 3. Удалите неработающую ссылку на базу данных:

Теперь удалите неработающую ссылку на базу данных с помощью PowerShell.

Это выдаст: Исключение, вызывающее «Удалить» с аргументом(ами) «1»: «Ссылка на объект не указывает на экземпляр объекта». Но не волнуйтесь.

Читайте также: