2016-10-12 11 views
0

VB에서 VSTO를 사용하여 Word 추가 기능을 구축 중이므로 매우 귀찮은 문제가 있습니다. 내 문서의 모든 이야기에서 모든 콘텐츠 컨트롤을 제거하는 동안 ScreenUpdating을 해제하고 싶습니다. 그래서 나는 다음을 수행 : Word에서 머리글 또는 바닥 글의 이야기를 순환 할 때마다"ScreenUpdating = False"가 머리글/바닥 글에 작동하지 않습니다.

Application.ScreenUpdating = False 

'loop through all open documents 
For Each thisDoc As Word.Document In gbl_docList 

    'loop through all stories in each doc 
    For Each thisStoryRange As Word.Range In thisDoc.StoryRanges 

     thisDoc.Activate() 'active this doc so we can work on it 
     thisStoryRange.Select() 'select the range 

     'remove all Content Controls 
     For Each thisCC As Microsoft.Office.Interop.Word.ContentControl In thisStoryRange.ContentControls 
      thisCC.Delete() 'remove this CC 
     Next 'next CC 

    Next 'next story 

Next 'next doc 

Application.ScreenUpdating = True 

그러나, 그것은 어색 깜박 거림의 원인이 사용자에게 그 화면 하단의 패널을 열고 보여주는 시작합니다. 머리글/바닥 글이 없으면 모든 것이 완벽하게 작동합니다.

질문은 :

  1. 사람이 문제가 발생 했습니까? 어떤 제안?

  2. 다른 해결책으로 Word 내에서 Word 문서를 최소화하거나 숨기지 만 Word 창을 열어 둘 수있는 방법이 있습니까? 나는 Word의 모든 것을 최소화/숨길 수있는 방법을 찾을 수있었습니다.

답변

1

나는 특히 사무실의 이후 버전에서는이를 확인할 수는을 ScreenUpdating 설정 (당신은 리본 컨트롤이 선택된 텍스트에 따라 정상으로 굵게에서 예를 들어 업데이트 계속 것을 알 수 있습니다 다양한 방법으로 작업 실패 귀하의 절차, 또는 머리글/바닥 글 처리시 수행 한 것처럼)

나는 2014 년에이 방법을보고했으며 Office 팀에 제공되었지만 (본인이 알기 엔) 결코 해결되지 않았습니다. 나는 여전히 내 아카이브에 메일을 가지고있다. 생식이 데모 코드를 기반으로했다 :

https://msdn.microsoft.com/en-us/library/office/ff197438(v=office.15).aspx

유일한 대안은 처리하는 동안 처리 전에 완료하고, 크기를 복원 MS 워드를 최소화하거나 대화 상자를 표시 할 수 있습니다 (MS 워드가 완전히 보이지 않게하는 중입니다 시간이 많이 소모되는 기능이라면 약간의 진전이 있음) 완료되면 가시성을 복원 할 수 있습니다.