2009-05-05 6 views
5

Word Automation API를 사용하여 Word 문서를 만드는 C# 프로젝트를 작성 중입니다.Word 자동화 : 페이지 나누기가 필요한지 여부를 감지합니까?

내가 생성 된 문서의 특정 지점에서 페이지 나누기를 삽입 할 내가 현재 다음 코드를 성공적으로이 일을하고있다 : 문서가 자연스럽게 어쨌든 다음 페이지에 싸여 경우,

// Generate page break 
object pageBreak = WdBreakType.wdPageBreak; 
wordApp.Selection.InsertBreak(ref pageBreak); 

그러나 이전 페이지의 공간이 부족한 후에 페이지 나누기를 실제로 생성하고 싶지 않으면 빈 페이지로 끝납니다.

커서가 어디에 있는지 정확히 알 수 있고 현재 페이지의 첫 번째 줄과 열에 있다면 페이지 나누기를 삽입 할 필요가 없다고 안전하게 가정 할 수 있습니다.

커서 위치에 액세스 할 수있는 방법이 있습니까? 아니면 같은 것을 할 수있는 또 다른 해결책? 그것은 간단한 요구 사항처럼 보입니다. 그래서 나는 명백한 것을 놓친다면 미리 사과드립니다.

답변

5

wordApp.Selection이 문서의 실제 (관련성있는) 위치를 제대로 반영하도록 프로그래밍 방식으로 문서를 작성한다고 가정하면 정보 속성을 사용하여 시작 페이지의 행과 열을 결정할 수 있습니다

line = wordApp.Selection.Information(wdFirstCharacterLineNumber) 
col = wordApp.Selection.Information(wdFirstCharacterColumnNumber) 

는이 값은 Word의 상태 표시 줄에 나타나는 LN 및 골 값에 해당합니다; 그리고 (닷넷 PIA 구문이 렇게 무엇인지 확실하지 VBA로 여기에 표시)이 WdInformation 열거 형을 다음과 같습니다. 둘 모두 1이면 선택 영역이 시작되는 페이지의 첫 번째 위치에 있습니다.

행운을 빈다.

+0

도움 주셔서 대단히 감사합니다. 이것은 내가하고 싶었던 바로 그 것이다. –

+0

선 상수는 페이지가 아닌 문서의 시작 부분에서 위치를 나타내는 것처럼 보입니다! –

0

이전에 페이지 나누기가있는 단락의 속성을 설정해보십시오. Word Automation API에서 설정을 허용하는 경우에는 표시되지 않지만 원하는대로 표시됩니다.

관련 문제