어떻게 사용할 수 있습니 Microsoft 단어의 철자/문법을 검사 프로그래밍 방식으로?
문제
고 싶은 공정 매체의 큰 숫자를 텍스트 미리보를 사용하여 철자/문법 검사기를 얻 거 근사치 및 순위의"자신 품질입니다." 속도 정말의 관심사 중 하나,그래서 내가 생각하는 가장 쉬운 방법은 스크립트를 작성하는 통과 떨어져 조각 Microsoft Word(2007 년)및 실행의 철자 및 문법을 검사기들입니다.
하는 방법이 있나요 이렇게 스크립트에서(특히,Python)?무엇이 좋은 자에 대한 학습 제어 프로그래밍 방식으로?
하지 않을 경우,내가 뭔가를 시도 할 수 있습니다터 오픈 소스 문법을 검사(도).
업데이트
에 응답하는 크리스의 대답은 거기에서 적어도하는 방법 a)파일을 열고(이 포함된 조각(s)),b)실행 VBA 스크립트가 내부에서는 단어를 호출 문법과 맞춤법 검사기,그리고 c)반환 표시"점수를"의 조각(s)?
업데이트 2
추가했 대답을 작동하는 것 같다,하지만 사람이있는 경우 다른 제안하겠습니다 이 질문을 엽니다.
해결책
그것은 일부를했다,파고 하지만 제가 생각하는 내가 발견한 유용한 솔루션입니다.다음과 같은 조언에 http://www.nabble.com/Edit-a-Word-document-programmatically-td19974320.html 내가 사용하는 win32com 모듈(는 경우 SourceForge 링크를 작동하지 않에 따라, Stack Overflow 응답 당신이 사용할 수 있는 pip
을 얻 모듈),에 액세스 할 수있는 단어의 COM 체입니다.다음 코드에서는 이 방법을 보여 줍니다 잘:
import win32com.client, os
wdDoNotSaveChanges = 0
path = os.path.abspath('snippet.txt')
snippet = 'Jon Skeet lieks ponies. I can haz reputashunz? '
snippet += 'This is a correct sentence.'
file = open(path, 'w')
file.write(snippet)
file.close()
app = win32com.client.gencache.EnsureDispatch('Word.Application')
doc = app.Documents.Open(path)
print "Grammar: %d" % (doc.GrammaticalErrors.Count,)
print "Spelling: %d" % (doc.SpellingErrors.Count,)
app.Quit(wdDoNotSaveChanges)
생산
Grammar: 2 Spelling: 3
과 일치하는 결과를 호출하는 경우 체크에서 수동으로 단어입니다.