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が文書内の実際の位置(および関連する位置)を適切に反映するようにプログラムを作成すると仮定すると、情報プロパティを使用して開始ページの行と列を決定できますそして2つのWdInformation列挙型(VBAとしてここに示されている; .NET PIA構文はぶっきらぼう何であるかわからない)次

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

これらの値は、Wordのステータスバーに見LNおよびコル値に対応しています。両方が1に等しい場合は、選択が開始されるページの最初の位置にあります。

幸運を祈る!

+0

ありがとうございました。これはまさに私がやりたかったことです。 –

+0

行定数は、ページではなく、ドキュメントの先頭からの位置を与えるようです! –

0

その前にページ区切りを持つ段落のプロパティを設定してみることもできます。 Word Automation APIで設定できるようにしても、私は必要ありません。

関連する問題