2
Perl에서 Win32 :: OLE를 사용하여 다양한 속성 (페이지 수, 작성자 수 등)을 얻으려는 (일련의) Word 문서가 있습니다.왜 Perl과 Word VBA에서 Word 문서의 페이지 수가 다른가요?
print $MSWord->Documents->Open($name)->
BuiltInDocumentProperties->{"Number of pages"}->value . " \n";
그러면 4가 반환됩니다. 페이지. 그러나 문서의 실제 페이지 수는 9입니다. 첫 번째 섹션의 페이지 수는 4입니다. 문서의 총 페이지 수를 원합니다.
Word VBA에서 다음을 수행 할 경우 :
MsgBox ActiveDocument.BuiltInDocumentProperties("Number of pages")
그러면 9가 표시됩니다. 등록 정보/통계 페이지에 표시된 페이지 수는 9입니다.
다시 계산 하시겠습니까? OLE 라이브러리에 강제로 재 계산을 요청하거나 모든 섹션을 개별적으로 처리해야합니까?
XP, Word 2007, ActivePerl v5.10.0입니다.
이것은 작동합니다. $ doc-> Repaginate는 내가했던 것입니다. 감사. -> valof와 -> value의 차이점은 무엇입니까? –
나는 그것을 싫어한다. 가치와 가치 또는 {가치}의 차이에 대해 너무 확신하지 못합니다. 제가 게시 한 스크립트는 제가 작성한 다른 것으로부터 채택되었습니다. 이제 언급 했으니 $ doc-> BuiltInDocumentProperties-> Item (wdPropertyPages) -> {Value}; $ doc-> BuiltInDocumentProperties-> Item (wdPropertyPages) -> 값; $ doc-> BuiltInDocumentProperties-> Item (wdPropertyPages) -> valof; 모두 같은 결과가 나타납니다. 이것은 들여다 볼만한 것이지만, 심미적 인 이유만으로, 나는 "가치"를 고수 할 것입니다. –