2009-12-21 3 views
0

큰 Word 문서의 Word VBA에서 Document.SaveAs 메서드에 문제가 발생했습니다. 저장 작업이 비동기 적으로 처리 된 것으로 보입니다. .SaveAs을 호출 한 후 즉시 반환하지만 큰 Word 문서에서는 실제 저장 작업이 완료되지 않고 다른 스레드에서 진행 중일 수 있습니다.Word VBA : 실제 저장 작업이 완료되었는지 확인하는 방법?

그럼 내가 물어보고 싶은 건 실제 세이브 작업이 진행 중이거나 완료되었는지 감지하는 방법이 있다면?

Word의 자동화 인터페이스를 호출하기 위해 Delphi를 사용합니다.이 문제를 논의 할 때 뭔가 의미가 있지만 그렇게 생각하지 않습니까?

+0

안녕하세요, 내가 가진 문제는 SaveAs 메서드 또는 Saved 속성과 관련이있는 것 같지만 Range.InsertFile (aFileName)을 호출하면 aFileName이 잠금 해제되고 언제 알 수 있습니까? 잠금 해제 ... –

+0

원래 질문과 관련이 없습니다. 어쩌면 당신은 당신이 왜 다른 답변을 받아들이는지와 일치하도록 질문을 바꿀 수 있습니다. –

+0

오타쿠, 도움을 주셔서 감사합니다. 내 경험에 의하면 Saved 속성을 검사하겠다고 제안했으나 StevenzNPaul의 답변에 따르면 Saved 속성은 실제로 실제 저장 작업이 완료되지 않은 경우에도 TRUE가됩니다. StevenzNPaul의 답변에 따르면 실제 저장 작업이 완료되었는지 알 수 없다는 답변이 나옵니다. 그래서 나는 그의 대답을 받아 들였습니다. 나는 이것이 지금 분명하기를 바란다. 모두 똑같은 감사합니다! –

답변

1

사무 자동화의 saveas는 프로세스 외부에서 호출되므로 항상 별도의 프로세스에서 실행되므로 본질적으로 비동기입니다.

문자 그대로 예외가 발생하지 않는 한 알림을 catch 할 수있는 방법은 없습니다.

0

이있다 : 문서가 .SaveAs 전에 그것을 대해 적용했다하지 않은 경우

If ActiveDocument.Saved = True then 
/* 'do something */ 
End If 

, 당신이 그 저장 배경이 있다는 .Path뿐만 아니라 (즉 If ActiveDocument.Path <> "" Then ....)

참고이를 확인하실 수 있습니다 비동기식이며 수동으로 호출하는 저장이 아닙니다 - 이는 .Saved으로 확인됩니다.

관련 문제