2012-04-15 2 views
2

나는이 문제를 해결하기 위해 오랫동안 노력해 왔지만 아직 하나도 찾지 못했습니다. Documents.Close()을 호출하면 visible = false으로 열어 본 Word가 표시됩니다.Documents.Close를 사용하면 Word가 표시됩니다.

이 내 가까운 문 (문서가 이미 다시 저장하기 때문에 필요가 저장되지 않습니다)입니다 : 당신은 그냥 WordApp.Quit()를 호출 할 수

WordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges, 
    Word.WdOriginalFormat.wdOriginalDocumentFormat); 

답변

2

.

Office 응용 프로그램은 여전히 ​​MDI 방식을 따릅니다. 1 개의 응용 프로그램을 실행하고 해당 응용 프로그램에서 하나 이상의 문서를 열 수 있습니다.

일반적으로 하나의 문서 만 열어서 백그라운드에서 해당 앱의 기록을 잃어 버리기 쉽습니다. 그러나 닫기의 두 가지 수준이 있습니다.

1

조작 직후에 WordApp.Visible = false을 명시 적으로 설정할 수도 있습니다. 이 경우 일시적인 플래시가 발생할 수 있지만 응용 프로그램을 다시 보이지 않게 설정해야합니다.

가벼운 시야가 피하기 위해 WordApp.ScreenUpdating 속성을 사용하는 것이 도움이 될 수 있습니다. Documents.Close() 호출을 시도하기 전에 false로 설정 한 다음 완료되면 true로 재설정하십시오.

0

허용 된 솔루션 (WordApp.Quit() 호출)이 나를위한 실행 가능한 옵션이 아닙니다. 나는 직전에()를 Documents.Close를 호출하기

WordApp.ScreenUpdating = false 

설정을 시도하고 도움이 중 하나를하지 않았다 - 나는 아직도 화면 플래시를 얻었다.

나는 즉시 문서를 연 후
WordApp.ActiveWindow.Visible = false 

을 설정했습니다. 그것도 아무런 차이가 없었습니다.

마지막으로 내가 아니라 내 모니터 설정에서 보이는 바탕 화면 영역에서 창 표시를 이동하기 위해 (

WordApp.ActiveWindow.Top = -5000 

설정을 시도! - 당신은 이상한 (거인이있는 경우) 작동하지 않을 수 있습니다 설정을 모니터링 그에 맞게 조정하십시오) 문제가 해결되어 더 이상 깜박이지 않습니다.

성가신 해킹이지만 내 경우에는 효과가있었습니다.

0

위의 의견 중 아무 것도 작동하지 않습니다. 나는 시도했다 :

WordApp.ActiveWindow.Top = -5000

하지만 내 프로그램은 "활성 창 최대화"예외로 종료됩니다.

m_word.ActiveWindow.WindowState = WdWindowState.wdWindowStateMinimize;

그것은 나를위한 완벽한 솔루션입니다 :

내가 궁극적으로 이전 Document.Close()를 호출 다음 호출하여 해결. 그것이 당신을 위해서도 잘되기를 바랍니다.

관련 문제