8

현재 Word 문서를 가져 와서 Word에서 열고 Word 파일을 PDF로 인쇄하는 스크립트를 개발하고 있습니다. 내 컴퓨터 또는 서버에서 수동으로 실행하면 모든 것이 잘 작동합니다. 문제는 예정된 작업으로 실행하려고 할 때 발생합니다.Word Interop이 예약 된 작업에서 작동하지 않습니다.

요구 사항 중 하나는 개입없이 야간에 수행해야한다는 것입니다. 스케줄 작업을 설정하고 보안 옵션을 "사용자가 로그온 할 때만 실행"으로 설정하면 모든 것이 올바르게 작동합니다. 문제는 로그온 한 사람과 상관없이 실행해야한다는 것입니다. 내가 "사용자에 대한 여부가 기록되어 있는지 여부를 실행"하는 작업을 설정하는 경우, 스크립트는 다음 줄에 실패

wordDoc = MSWord.Documents.Open(ref fileToConvert, ref refFalse, ref refTrue, 
           ref RN, ref RN, ref RN, ref RN, ref RN, 
           ref RN, ref RN, ref RN, ref RN, ref RN, 
           ref RN, ref RN, ref RN); 

MSWord.Documents.Open() 작동하지만 null를 돌려줍니다.

이 작업은 오피스와 윈도우 서버 2008에서 실행중인 2007

내가 이것을 복용해야 또 다른 방법이 있습니까?

+0

내가 그것을 해결하기 위해 노력하고 나이를 보냈다 다양한 막 다른 골목을 내려 가서, 결국 "솔루션"내가 함께 결국, 동일한 문제를 겪고을했다 : 윈도우를 사용하지 Server 2008.이 문제에 대한 해결책을 찾으면 나는 모든 귀가 될 것입니다. –

+0

Server 2008을 사용하지 않는 경우 작동합니까? –

+0

Windows 2003 서버 또는 XP에서 예. Vista에 대한 확신이 없습니다. –

답변

3

저는 많은 사람들이 당신이 시도하고 실패한 것에 가깝게 뭔가하려고 노력했다고 믿습니다. 서버와 같은 모드 (무인 등)로 모든 사무실 interop 기반 솔루션을 실행할 수 없다는 것에 대해 많은 대화가 있습니다.

here

here 나는 이것이 아마 당신이 찾고있는 사람이 아닙니까 답을 알고 볼 수 있지만 그럼에도 불구하고 그것이 얼마나입니다!

+0

나는 어떤 대답을 찾고 있었다. 여러 Google 검색에서 일어난 일에 관한 정보를 찾을 수 없었습니다. 입력 해 주셔서 감사합니다. 몇 시간 더 드리겠습니다. "솔루션"이 게시되지 않으면 귀하의 답변을 답으로 표시하겠습니다. –

+0

좋은 링크와 정보 –

21

Windows Server 2003에서 제대로 작동하더라도 Windows Server 2008에서 Windows 서비스를 사용하여 Office를 자동화하는 데 문제가있었습니다. Open 호출시 문제가 발생하지만 실제로는 null을 반환하는 대신 예외가 발생합니다. . 어쨌든, 이것을 시도해 볼 수도 있습니다 ...

나는 오가와가 제시 한 조언을 따라 this MSDN thread에 시도해 보았습니다. 그것은 기괴하지만 오가와 씨에게 그것을 발견 한 것에 대해 칭찬합니다. '오가와 해킹'의

요약 : 64 비트 있는지 여부에 따라 ... 중

C:\Windows\SysWOW64\config\systemprofile\Desktop으로, 시스템 프로파일에 대한 바탕 화면 폴더를 만들거나

C:\Windows\System32\config\systemprofile\Desktop

Windows.

또한 폴더에는 Office를 "운전하는"모든 사용자의 쓰기 권한이 필요합니다.

[편집 : 수정 링크 URL]

+1

고마워. 나는 시간이 허락하는 한 빨리 봐야 할 것이다. 그것이 작동하는지 아닌지 나는 다시 게시 할 것이다. –

+0

멋지게 작동합니다! 이로 인해 나에게 두 배의 (두통이) 두통을 덜어주었습니다. 이제는 서비스에서 Word를 실행하는 데 실제적으로 아무 것도 부러지지 않기를 바랍니다. –

+3

저에게 도움이되었지만 로컬 관리자 그룹에 사용자를 추가하고 "가장 높은 권한으로 실행"옵션을 선택해야했습니다. –

관련 문제