많은 파일에서 일부 사용자 지정 속성 값을 변경해야합니다. 나는 하나의 파일을 위해 그것을 할 방법 - 다음 코드의 예입니다MSWord 문서 저장이 자동으로 실패하는 이유는 무엇입니까?
import win32com.client
MSWord = win32com.client.Dispatch("Word.Application")
MSWord.Visible = False
doc = MSWord.Documents.Open(file)
doc.CustomDocumentProperties('Some Property').Value = 'Some New Value'
doc.Save()
doc.Close()
MSWord.Quit()
"Excel.Application"
에 대한 동일한 코드 실행 (약간의 변화를 - 그냥 작동하도록) 나에게 우수한 결과를 제공합니다. 그러나 MSWord에 doc.Save()
또는 doc.SaveAs(same_file)
을 사용하면 자동으로 실패합니다. 이유는 모르겠지만 변경 사항은 저장되지 않습니다.
이제 제 해결 방법은 다른 파일에 SaveAs
을 사용하는 것입니다. 하지만 MSWord 파일에 대해 왜 이상한 동작이 나타나고 어떻게 수정 될 수 있는지 이해하고 싶습니다.
편집 : 시도/예외의 침묵 오류 원인으로 사람을 오도하지 않기 위해 코드를 변경했습니다. 당신이 파일 쓰기 액세스 권한이있는 경우 그러나, 내 코드 :)에 그 결함을 찾기위한 그들 모두 덕분에
은 실제 코드입니까? – SilentGhost
그래, 나는 모든 것을 올바르게 사용하고 있다고 생각한다. 내 컴퓨터에서 작동하지 않는 이유는 무엇인지 이해할 수 없기 때문에 내가 그것에 대해 묻는 것입니다. 누군가가 똑같은 문제를 겪었을 수도 ... –
결과를 재현 할 수 있었지만 문제를 해결할 방법이 없습니다. 나는이 질문을 권하고있다 ... WTF? – tgray