어떻게 사용할 수 있습니 Microsoft 단어의 철자/문법을 검사 프로그래밍 방식으로?

StackOverflow https://stackoverflow.com/questions/1646801

문제

고 싶은 공정 매체의 큰 숫자를 텍스트 미리보를 사용하여 철자/문법 검사기를 얻 근사치 및 순위의"자신 품질입니다." 속도 정말의 관심사 중 하나,그래서 내가 생각하는 가장 쉬운 방법은 스크립트를 작성하는 통과 떨어져 조각 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

과 일치하는 결과를 호출하는 경우 체크에서 수동으로 단어입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top