Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 4, 2019 09:41:12

iliko
Зарегистрирован: 2019-09-04
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: Word.Application.Documents

Добрый день!

Прошу помощи с разобраться в причине ошибки и помочь с решением.

Есть кусок кода, который беспроблемно работал несколько месяцев, однако, вчера стал выдавать ошибку “AttributeError: Word.Application.Documents”.

Кусок кода:
import win32com.client as win32

att1 = ‘C:\\PYTHON\\1.docx’
word = win32.Dispatch('Word.Application')
doc = word.Documents.Open(att1)
doc.Content.Copy()
doc.Close()

Ошибка:
AttributeError Traceback (most recent call last)
<ipython-input-13-8c25530b8906> in <module>()
6 word = win32.Dispatch('Word.Application')
7 #word = win32.Dispatch('Excel.Application')
—-> 8 doc = word.Documents.Open(att1)
9 doc.Content.Copy()
10 doc.Close()

C:\Anaconda3\lib\site-packages\win32com\client\dynamic.py in __getattr__(self, attr)
525
526 # no where else to look.
–> 527 raise AttributeError(“%s.%s” % (self._username_, attr))
528
529 def __setattr__(self, attr, value):

AttributeError: Word.Application.Documents

Офлайн

#2 Сен. 4, 2019 11:11:45

iliko
Зарегистрирован: 2019-09-04
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: Word.Application.Documents

Попробовал на другом компе. Получаю схожую ошибку. На обоих компах Python3 в анакондовской упаковке, и на обоих компах всё работало. Ни винда, ни анаконда не обновлялись.

Ошибка:
AttributeError Traceback (most recent call last)
<ipython-input-3-0d9dfecd7b3a> in <module>()
376 word = win32.Dispatch(“Word.Application”)
377 doc = word.Documents.Open(att_file)
–> 378 doc.Content.Copy()
379 doc.Close()
380 ## Скопировали ##

C:\Anaconda3\lib\site-packages\win32com\client\dynamic.py in __getattr__(self, attr)
525
526 # no where else to look.
–> 527 raise AttributeError(“%s.%s” % (self._username_, attr))
528
529 def __setattr__(self, attr, value):

AttributeError: Open.Content

Офлайн

#3 Сен. 4, 2019 11:19:49

iliko
Зарегистрирован: 2019-09-04
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: Word.Application.Documents

На втором компе скрипт заработал сам по себе, ошибку не выдаёт. КАК ТАК??? На первом ситуация сохраняется.

Офлайн

#4 Сен. 4, 2019 11:37:20

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

AttributeError: Word.Application.Documents

Ни винда, ни анаконда не обновлялись.
Судя по-всему, винда тут ни при чём вообще, работа ведь конкретно с Офисом идёт. Но, полагаю, офис тоже не обновлялся.

Винды с офисом под рукой нет, у себя воспроизвести не смогу, но выглядит так, как будто проблемы с каким-то конкретным документом, потому что ошибка в первом сообщении вываливается при его открытии:
—-> 8 doc = word.Documents.Open(att1)
Исходя из этого предлагается потестировать с разными doc-файлами, возможно падать будет только на некоторых из них.



Офлайн

#5 Сен. 4, 2019 11:49:53

iliko
Зарегистрирован: 2019-09-04
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

AttributeError: Word.Application.Documents

Тестировал с разными файлами (Word, Excel) и с разными путями. Эффект тот же.

Решилось, как ни странно, перезагрузкой компьютера.

Простейший код, а такая странная ситуация. Подозреваю, конечно, что это механизм win32, судя по тому, что помогла перезагрузка, но остаётся вопрос: почему втором компе ошибка пропала сама по себе? Можно ли каким-то образом это копнуть, т.к. очень хочется понять?

Striver, спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version