Access 2016 insert из excel большой таблицы дает ошибку

Обновлено: 06.07.2024

Когда Excel не достаточно, как использовать Access для анализа данных?

Что делать, если объем данных слишком велик для Excel? Существуют ли другие инструменты, которые могут заменить Excel, но просты в использовании?

Этот вопрос действительно ударил по рукам. Я получил много подобных вопросов. Я отвечу на них сегодня единым образом.

Большой объем данных для отчетности или анализа данных

Более 100 мегабайт, сотни тысяч строк данных в формате Excel: база данных ACCESS + SQL

Если данные не достигают сотен миллионов уровней, используйте инструменты BI для непосредственного анализа

Независимо от того, насколько он большой, он не похож на двоюродного брата или двоюродного брата, его может решить аналитик данных.

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

Что касается ACCESS, его брата по Excel, того же Microsoft Office, то нетрудно начать, получить основную операцию за неделю.

Это может решить следующие жалобы небольших партнеров, которые выполняют операции с данными:

Хранилище таблиц данных Excel, которые будут обрабатываться в бизнесе, становится все больше и больше, и оно становится медленным, как улитка, когда оно превышает 50 МБ. В это время, если в таблице больше функций IF и VLOOKUP, компьютер будет работать напрямую, если он сталкивается с размером, подобным этому Таблицы Excel, компьютеры уровня сервера не могут быть перегружены, не говоря уже об обработке данных и анализе данных.

 excel , Access ?

Данные Excel с большим объемом данных трудно открыть

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

Ответ, конечно: ДА, и тот же брат Excel, ДОСТУП фракции Microsoft Office.

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

На следующем рисунке показаны четыре основные цели этой статьи, использующие ACCESS для анализа исходных данных таблицы.

 excel , Access ?

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

1. Основные понятия операторов ACCESS и SQL

Access, полное имя «Microsoft Office Access», является членом Microsoft Office, системы управления реляционными базами данных, выпущенной Microsoft. Он сочетает в себе функции Microsoft Jet Database Engine и графический интерфейс пользователя и является одной из системных программ Microsoft Office. (Из энциклопедии Baidu)

Когда дело доходит до ACCESS, вы должны упомянуть SQL. Только овладев SQL, вы сможете максимизировать функции ACCESS. Полное имя SQL - «Язык структурированных запросов», который является декларативным языком.

Во-первых, помните об этой концепции: «Декларация». По сравнению с языками программирования, известными всем в прошлом, язык SQL является примером для компьютера, который объявляет, какие результаты вы хотите получить из исходных данных, вместо того, чтобы сообщать компьютеру, как получить результаты. Другими словами, настоящее ядро ​​SQL - это ссылка на таблицу.

SELECT first_name, last_name FROM employees WHERE age> =25

Приведенный выше пример прост для понимания. Нам не нужно заботиться о том, откуда берутся данные о сотрудниках. Все, что нам нужно, это данные о сотрудниках в возрасте 25 лет и старше (возраст> = 25).

2. Преимущества ДОСТУПА

Наиболее очевидным преимуществом ACCESS является то, что он может обрабатывать исходные файлы данных большой емкости, которые Excel не может переносить без необходимости владения очень глубоким языком программирования, он чрезвычайно быстр и прост в изучении и использовании.

 excel , Access ?

3. Общие предложения ДОСТУПА

В следующей таблице приведены некоторые часто используемые операторы SQL при использовании ACCESS, которые нетрудно понять.

 excel , Access ?

Названия часто используемых операторов SQL в базе данных ACCESS

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

После краткого ознакомления с инструкциями ACCESS и SQL давайте приступим к практике анализа данных ACCESS!

1. Импорт данных

Следующая таблица является исходным файлом анализа данных ACCESS в этой статье. Объем данных составляет почти 230 МБ. Excel нужно подождать несколько минут, чтобы открыть, и это зависит от настроения компьютера . В целях коммерческой конфиденциальности в этой статье будут использоваться некоторые данные для анализа и работы, а также Сделайте некоторую обработку.


Исходный вопрос данных экспортируется в фоновом режиме

Сначала импортируйте файл в Excel в ACCESS, как показано стрелкой на рисунке ниже:

 excel , Access ?

Импортировать заголовок файла первичных данных Excel

После выполнения описанных выше шагов автоматически генерируется первичный ключ (т. Е. Идентификатор) и получается следующий результат:

 excel , Access ?

Файл исходных данных Excel, импортированный в заголовок ACCESS

2. Анализ времени заказа пользователя

Для анализа периода времени для размещения заказа необходимо преобразовать время, когда пользователь разместил заказ, в час «время». Используемый здесь оператор SQL - это формат, а функция - форматировать выбранное поле. Синтаксис:

формат (поле ссылки, «формат данных»)

Среди них «формат данных» обычно выбирает H (час), D (день), M (месяц) или Y (год) во времени.

Затем используйте функцию подсчета для подсчета идентификатора пользователя, и результатом будет количество заказа.

Обратите внимание, что после использования формата и количества необходимо использовать «AS», чтобы определить его как новое поле, здесь определяются как «период времени» и «количество заказа».

 excel , Access ?

Шаги для анализа заказа

Создайте новый «Query Design» в «Create», нажмите «SQL» в правом нижнем углу, а затем введите следующий оператор в диалоговом окне SQL:

Формат SELECT (время заказа, «ч») AS период, количество (UserID) количество заказа AS

ОТ метаданных

Формат GROUP BY (время заказа, "ч");

Затем нажмите «Выполнить» в разделе «Дизайн», чтобы получить следующий результат:

 excel , Access ?

Распределение заказов в разные периоды

Возьмите пример, чтобы объяснить, как интерпретировать вышеуказанные результаты: если клиент размещает заказ в 12:23, момент времени попадает в период «12», а «12» представляет время 12

13 часов. сегмент. Вы можете использовать функции в статье «Практика работы | Как использовать фоновые данные WeChat для оптимизации операций WeChat для оптимизации операций WeChat», чтобы превратить их в отображение периода времени.

3. Анализ распределения заказов в диапазоне оплаты

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

ПЕРЕКЛЮЧАТЕЛЬ (условие 1, результат 1, условие 2, результат 2, условие 3, результат 3, . условие N, результат N)

Условие 1, Условие 2 и Условие 3: представляют вычисляемое выражение.Если Условие 1 истинно, возвращаемое значение результата 1, если Условие 2 истинно, возвращаемое значение результата 2 и т. Д.

В соответствии с описанным выше способом создайте «Дизайн запроса» в «Создать», нажмите «SQL» в правом нижнем углу и введите следующую инструкцию:

ВЫБЕРИТЕ ИД пользователя, сумму платежа, переключатель (сумма платежа <= 10, «1

10 юаней»,

Сумма платежа <= 20, «11

20 юаней»,

Сумма платежа <= 50, «21

50 юаней»,

Сумма платежа <= 80, "51

80 юаней",

Сумма платежа <= 150, «81

220 юаней»), как диапазон потребления

ОТ метаданных;

После нажатия «Выполнить» получаются следующие результаты:

 excel , Access ?

Вопрос об интервале потребления, соответствующий сумме потребления одного заказа, размещенного целевым пользователем

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

Таким образом, как и выше, необходимо создать новый запрос, а имя изменить на «Статистика количества заказов в диапазоне платежей».

Оператор SQL, который необходимо ввести здесь:

ВЫБЕРИТЕ диапазон потребления, количество (UserID) AS количество заказа

ОТ платежного интервала

Диапазон потребления GROUP BY;

После нажатия «Выполнить» результат будет следующим:

 excel , Access ?

Распределение заказов в различных областях потребления

Затем скопируйте вышеуказанные данные в таблицу Excel и создайте следующую процентную веерную диаграмму, которая может интуитивно анализировать пропорцию заказов в каждом интервале потребления, а затем посмотреть, каков общий уровень потребления пользователями. Разумная оценка операции.

 excel , Access ?

Фан-график доли заказов в каждой области потребления

4. Анализ количества заказов, количества пользователей и объема продаж по регионам

(1) Количество пользователей в каждой области

Это немного хлопотно: количество пользователей рассчитывается косвенно, используя счет «userID», но, поскольку большинство пользователей размещают заказ не менее 2 раз, поэтому, если вы посчитаете его напрямую, результатом будет количество заказа. Ввиду этой ситуации мы должны изменить свое мышление и составить таблицу информации о заказах пользователя, которая не будет дублироваться, то есть таблицу частот заказов, размещаемых каждым идентификатором пользователя.

Создайте новый «дизайн запроса» и назовите его «частота потребления пользователями». Введите следующий оператор в диалоговом окне SQL:

ВЫБЕРИТЕ UserID, COUNT (UserID) AS время потребления, регион

ОТ метаданных

GROUP BY UserID, площадь;

После нажатия «Выполнить» результат будет следующим:

 excel , Access ?

Таблица частот пользовательских заказов

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

Создайте новый «дизайн запроса» и назовите его «количество пользователей в каждой области». Введите следующий оператор в диалоговом окне SQL:

Область SELECT, count (UserID) AS общее количество пользователей

ОТ пользовательской частоты

GROUP BY область;

После нажатия «Выполнить» результат будет следующим:

 excel , Access ?

Количество пользователей по регионам

(2) Статус заказов и объемов потребления в различных регионах

Создайте новый «Дизайн запроса» и назовите его «Статус заказа по регионам». Введите следующий оператор в диалоговом окне SQL:

Поле SELECT, count (UserID) AS общее количество заказов, сумма (оплата) AS общая сумма, avg (оплата) AS средняя сумма потребления

ОТ метаданных

GROUP BY область;

После нажатия «Выполнить» результат будет следующим:

 excel , Access ?

Статус заказов и объемов потребления по регионам

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

 excel , Access ?

Обзор региональных операций

5. Анализ потребительской ценности

Анализ потребительской ценности здесь основан на модели RFM, но он был дополнительно улучшен. На основе первоначального «совокупного объема потребления» введены три «минимальный объем потребления», «максимальный объем потребления» и «средний объем потребления». Этот показатель стремится полностью отражать покупательскую способность потребителей.

Создайте новый «Дизайн запроса» и назовите его «Потребление пользователя». Введите следующий оператор в диалоговом окне SQL:

После нажатия «Выполнить» результат будет следующим:

 excel , Access ?

Таблица анализа пользовательских значений

После получения таблицы вы можете выполнить кластерный анализ и классифицировать пользователей в соответствии с тремя измерениями R, F и M. Подробнее см. В разделе «[Практика обработки данных] Как использовать анализ данных для выполнения проекта пробной операции» «Нет тупика» обзор? »Эта статья.

Наконец, мы также можем получить общий объем заказов и продаж в этих трех регионах:

Создайте новый «Дизайн запроса» и назовите его «Обзор продаж по регионам». Введите следующий оператор в диалоговом окне SQL:

SELECT count (userID) AS общее количество заказов,

сумма (сумма платежа) как общая сумма платежа,

avg (сумма платежа) AS средняя сумма заказа

ОТ метаданных;

После нажатия «Выполнить» результат будет следующим:

 excel , Access ?

Обзор продаж в трех регионах

Как видно из вышеприведенного случая, если операторы SQL используются немного более умело, ACCESS не будет уступать Excel в обработке данных, и его сильной стороной является обработка больших объемов данных.

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Исходный номер КБ: 2221635

Симптомы

Данные на буфере обмена данными повреждены, поэтому Microsoft Access не может вклеить их. Может быть ошибка в буфере обмена, или может быть недостаточно свободной памяти. Попробуйте операцию еще раз.

Причина

Существует несколько сценариев, которые могут привести к этой ошибке. Корпорация Майкрософт знает об этой проблеме в последних версиях Microsoft Access.

Сценарий 1

Эта проблема возникает, когда верны следующие два условия:

  • Одно из значений в первом ряду данных содержит десятичная точка
  • Вы копируете несколько строк данных

Сценарий 2

Имя Excel содержит один символ кавычка или символ апострофа.

Обходной путь

Используйте одно из следующих обходных пути:

Метод 1

В Microsoft Access выберите стрелку выпада на значке Вайт, а затем выберите вклейку Special. Затем выберите текст или CSV.

Метод 2

Убедитесь, что десятичных точек в первом ряду данных Excel, которые вы копируете.

Метод 3

Скопируйте и вклейте одну строку одновременно.

Дополнительная информация

Проблема не возникает в Microsoft Access 2003.

Действия по воспроизведению

В Access создайте новую пустую базу данных.

Создание новой таблицы в представлении дизайна таблицы.

Добавьте следующее поле:

Тип данных: номер

Размер поля: дважды

Сохраните таблицу в качестве таблицы1.

Откройте таблицу1 в представлении таблицы данных.

В Microsoft Excel создайте новую таблицу.

Добавьте эти значения в следующие ячейки:

В Excel выберите A1 и A2, а затем нажмите значок Copy.

В Access выберите Поле1, а затем нажмите значок вклейки.

Вы получаете одну из этих версий ошибки:

  • Данные на буфере обмена данными повреждены, поэтому Microsoft Office доступ не может вклеить их. Может быть ошибка в буфере обмена, или может быть недостаточно свободной памяти. Попробуйте операцию еще раз.
  • Данные на буфере обмена данными повреждены, поэтому Microsoft Access не может вклеить их. Может быть ошибка в буфере обмена, или может быть недостаточно свободной памяти. Попробуйте операцию еще раз.

Это статья "FAST PUBLISH", созданная непосредственно из организации поддержки Майкрософт. Сведения, содержащиеся здесь, предоставляются в ответ на возникающие проблемы. Из-за скорости ее использования материалы могут включать в себятипические ошибки и могут быть пересмотрены в любое время без уведомления. Условия использования см. в других соображениях.

Хорошо, у меня есть БД доступа, с которой я пытаюсь импортировать данные, в Excel. В частности, я пытаюсь импортировать результаты запроса, который я написал в Access.

Я написал этот запрос в Access SQL (я также включил функцию синтаксиса, совместимую с ANSI 92, во всех моих БД доступа).

Они спрашивают, что это не то, что вам нужно. Он работает отлично в Access, все время. Нет проблем с доступом. Проблема в том, что когда я добавляю определенные критерии в WHERE моего запроса, связанный файл Excel не будет импортировать данные. В файле Excel отображается только таблица с данными без данных.

Однако, когда эти критерии удалены из WHERE в моем запросе, связанная таблица Excel может обновляться только штрафом, а таблица заполняется результатами запроса, no-problemo.

enter image description here

Вот фотографии запроса: (я нарисовал первый с кистью, потому что это заставило меня смеяться, и мне скучно в моей кабине)

enter image description here

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

Мой вопрос прост, почему именно (подробно, пожалуйста) это происходит? Есть ли какой-то размер размера запроса в Excel, о котором я не знаю?

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

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

У меня была такая же проблема, и после некоторой отладки я обнаружил, что часть запроса использовала объект из Access (кнопка переключения в форме). Следовательно, это недоступно, если форма закрыта, и она не имеет смысла для Excel, поэтому она не предлагает импортировать ее. Это то, что случилось со мной, надеюсь, что это поможет.

Благодаря Давону М. мне удалось решить мою собственную проблему. (измененный запрос в доступе и внезапно нет данных в Excel, хотя запрос Access был полностью функциональным)

Казалось бы, мозг Excel-запросов отличается от мозгов запросов Access, потому что он идет через библиотеки доступа к данным на машине.

глупый, но терпимый в моих обстоятельствах

Я столкнулся с той же проблемой и нашел аналогичное решение. При использовании SQL в Excel команды с использованием Like "Car*" не работают. Alike "Car%" дает правильный результат.

Причина, почему это так, задокументирована здесь: CodeVBA

В режиме совместимости SQL-89 LIKE работает только с * и? но если вы измените совместимость с SQL-92, вам нужно переписать свои запросы вместо% и _. ALIKE позволяет вам писать ANSI-совместимые шаблоны независимо от выбранного вами уровня совместимости (поэтому в режиме совместимости SQL-92 оба ведут себя одинаково).

Затем импортируйте таблицу в Excel вместо запроса.

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

Добавление записей из таблицы MS Ecxel в базу данных MS Access средствами Delphi.

Добавление записей из таблицы MS Ecxel в базу данных MS Access средствами Delphi.

В предыдущем посту мы научились, подключать таблицу MS Excel с помощью компонента ADOConnection. В данной статье, используя подключение через компонент ADOConnection, мы научимся загружать (экспортировать) данные из листа MS Excel в базу данных созданную в MS Access.
Данная статья будет полезна тем, кто в своей программе хочет использовать экспорт данных из
MS Excel в MS Access. Или просто хочет быстро заполнить свою базу данных из уже готовой таблицы MS Excel.

Для начала создадим файл таблицу MS Excel как показано на рисунке:
Первый ряд таблицы MS Excel при экспорте в MS Access служит полями базы данных.

Добавление записей из таблицы MS Ecxel в базу данных MS Access средствами Delphi.

сохраним с именем 2.xlsx.
Затем создадим базу данных MS Access с таблицей t1 как показано на рисунке:

Добавление записей из таблицы MS Ecxel в базу данных MS Access средствами Delphi.

все поля текстового типа. Название полей должны в точности соответствовать названием полей в MS Excel. Далее сохраняем базу данных с именем bd.mdb в формате MS Access 2002-2003. И копируем созданные файлы в папку с будущим проектом.
Запускаем Delphi и создаем новое приложение File -> New-> VCL Forms Application – Delphi.

Добавление записей из таблицы MS Ecxel в базу данных MS Access средствами Delphi.

Размещаем на форме компонент кнопку TButton из вкладки Standard. Назовем ее Экспорт.

Добавим компонент TADOConnection и TADOQuery из вкладки dbGo (ADO).

В инспекторе объектов для компонента ADOConnection1 выбираем свойство ConnectionString и вписываем туда следующую строку для MS Excel 2007:

Provider =Microsoft.ACE.OLEDB.12.0; Data Source =2.xlsx; Extended Properties ="Excel 12.0 Xml;HDR=YES";

Файл 2.xlsx должен находиться в папке с приложением.

Если у вас MS Excel 2003 то вписываем следующую строку:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=2.xls;Extended Properties=Excel 8.0;

Файл 2.xls должен находиться в папке с приложением.

Другие способы подключение смотрите в предыдущем посту.

После установки подключения убираем, галочку со свойства LoginPromt, чтоб не запрашивал пароль при подключении.

Перед запуском на выполнение, необходимо убрать галочки у компонента ADOConnection1 -- >Connected и у компонента ADOQuery --> Active иначе будут сыпаться ошибки, типа не могу подключиться, так как подключение уже используется.

Далее для события OnClick кнопки «Экспорт» пишем следующий код:

procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into t1 IN bd.mdb select * from [Лист1$]');
ADOQuery1.ExecSQL;
end;

А для события OnCreate формы пишем:

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection1.Connected:=true;
end;

Сохраняем, запускаем на выполнение и проверяем содержимое базы данных.

Теперь немножко по структуре запроса 'insert into t1 IN bd.mdb select * from [Лист1$]'

INSERT INTO – означает, что запрос будет на добавление записей;
t1 - таблица базы, в которую будем добавлять записи.
IN путь к базе с именем базы. Если база расположена в папке с приложением, достаточно указать только имя базы данных.
select * - означает, что выбираем все записи;
from [Лист1$] – выбирать будем из таблицы MS Excel Лист1.

И еще пример использования запроса INSERT INTO на добавление новой записи в таблицу:

INSERT INTO users (login, pass) values('TestUser', '123456')

При добавлении записи вначале идёт команда "INSERT INTO", затем название таблицы, в которую мы вставляем запись. Далее идёт в круглых скобках названия полей, которые мы хотим заполнить. А затем в круглых скобках после слова "values" начинаем перечислять значения тех полей, которые мы выбрали. После выполнения этого запроса в нашей таблице появится новая запись.

Excel

Постановка задачи

И так у меня есть виртуальная машина ESXI с гостевой операционной системой Windows Server 2019. Один из сотрудников обратился с проблемой, что у него перестало в Ecxel копироваться содержимое ячеек в другие ячейки. Выглядело это вот так. Сначала при открытии Ecxel 2016 появлялась ошибка:

Невозможно использовать связывание и внедрение объектов (cannot use object linking and embedding)

Невозможно использовать связывание и внедрение объектов

Далее если попытаться скопировать одну ячейку в другую:

Приложению Microsoft Excel не удалось вставить данные (Microsoft Excel was unable to insert data)

Приложению Excel не удалось вставить данные

Хочу отметить, что такое поведение было и в совершенно новых документах, которые были созданы для тестирования, так же под эту ошибку попадали ячейки в которых вообще не было данных (пусты).

Что сделать если не удается копировать и вставлять данные на листе

Первое, что вы должны сделать, это обязательно установить все имеющиеся обновления для Microsoft Office, напоминаю делается это через параметры Windows, раздел "Обновление и Безопасность".

Как обновить Ecxel

Далее перейдите в дополнительные параметры.

Дополнительные параметры центра обновления Windows 10

Убедитесь, что установлена галка "При обновлении Windows предоставить обновления для других продуктов Microsoft"

При обновлении Windows предоставить обновления для других продуктов Microsoft

Если Windows что-то обнаружит в списке доступных обновления, то будет произведена установка. Не забываем на всякий случай перезагрузить компьютер или сервер.

Установка обновлений Microsoft Office

Отключение надстроек в безопасном режиме

У Microsoft Excel есть как и у Windows безопасный режим, который позволяет проверить работу приложения с минимальными настройками. Для того, чтобы вам запустить Excel в безопасном режиме, нужно зажать клавишу CTRL и запустить само приложение.

Запуск Excel в безопасном режиме

Далее вам нужно перейти в меню "Файл".

Меню файл в Excel

Далее переходим в параметры.

Параметры Excel

Переходим в пункт "Надстройки". Посмотрите какие из них у вас находятся в активном состоянии и по очереди отключайте. Проверьте помогло ли это решить ошибку "Невозможно использовать связывание и внедрение объектов (cannot use object linking and embedding)".

Надстройки Excel

Восстановление Microsoft Office

Следующий метод, который может помочь в устранении ошибки "Приложению Microsoft Excel не удалось вставить данные (Microsoft Excel was unable to insert data)", это попробовать произвести восстановление офисного пакета. Чтобы это осуществить, вам необходим вызвать окно выполнить и вписать в нем:

Открываем appwiz.cpl

В открывшемся окне "Программы и компоненты" вам необходимо выбрать в списке ваш офисный пакет, у меня это "Microsoft Office профессиональный плюс 2016" и в самом верху нажать кнопку "Изменить".

Восстановление Microsoft Office

В списке доступных операций, выберите "Восстановить".

Как можно восстановить MS Office

Начинается процесс восстановления Microsoft Office и в том числе его пакета Excel. Данная операция может быть не такой быстрой, поэтому придется подождать минут 5-10.

Ход восстановления Microsoft Office

Проверка учетной записи в DCOM

Ранее я вам рассказывал, как производится настройка DCOM для Exel, кото не читал посмотрите. DCOM - это программная конструкция, которая позволяет компьютеру запускать программы по сети на другом компьютере, как если бы программа выполнялась локально. DCOM - это аббревиатура от Distributed Component Object Model. Если вы получаете ошибку "Невозможно использовать связывание и внедрение объектов (cannot use object linking and embedding)", то с большой долей вероятности у вас используется для запуска не тот режим. Чтобы это проверить, вновь вызовите окно выполнить и введите:

dcomcnfg

Откройте "Службы компонентов - Компьютеры - Приложения COM+ - Настройка DCOM - Microsoft Excel Application (Component Services - Computers - My computer - DCOM Config - Microsoft Excel Application)". Щелкните правым кликом по "Microsoft Excel Application" и перейдите в его свойства.

Microsoft Excel Application

Перейдите на вкладку "Удостоверение (Identity)" и удостоверьтесь, что у вас выставлен пункт "Запускающий пользователь (The launching user)".

DCOM запускающий пользователь

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

Невозможно использовать связывание и внедрение объектов (cannot use object linking and embedding)

Как только я выставил правильные настройки у меня заработала вставка содержимого ячеек Exel и ошибка "Приложению Microsoft Excel не удалось вставить данные (Microsoft Excel was unable to insert data)" исчезла.

Очистка временных файлов

Еще одним способом устранения проблем с копированием ячеек в Excel является очистка временных данных из профиля пользователя, для этого вам необходимо включить скрытые папки Windows. Далее перейти по пути:

C:\Users\имя пользователя\AppData\Roaming\Microsoft\Excel

Не забудьте только выбрать своего пользователя. В результате у вас появится папка XLSTART или еще какие-то, попробуйте их вырезать или удалить. После чего запустите Microsoft Excel и проверьте, дало ли это эффект.

Очистка временных файлов Excel

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

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