C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ClosedXMLで改ページ設定取得について


(過去ログ 169 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■97478 / inTopicNo.1)  ClosedXMLで改ページ設定取得について
  
□投稿者/ 初# (4回)-(2021/05/23(Sun) 11:38:40)

分類:[.NET 全般] 

ClosedXMLでExcelファイルで改ページの範囲を取得したいのです。
改ページの設定方法はPageSetup.PrintAreas.Add("A1:B2");のような記述で設定できるそうですが
元々設定してある範囲を取得する方法がわかりません。
PageSetup.PrintAreasで取得できるっぽいですがうまくいきません。
MessageBox.Show(worksheet.PageSetup.PrintAreas.ToString());で確認すると
{ClosedXML.Excel.XLPrintAreas}という値が表示されてしまいます。
引用返信 編集キー/
■97481 / inTopicNo.2)  Re[1]: ClosedXMLで改ページ設定取得について
□投稿者/ shu (1254回)-(2021/05/24(Mon) 07:32:28)
No97478 (初# さん) に返信

試されているようにPageSetup.PrintAreasにAddして範囲指定するので
PageSetup.PrintAreasにはいくつかのオブジェクトが含まれるような型と
なっておりFor Eachの列挙などが可能なものです。

エリアが1つであれば
PageSetup.PrintAreas.First
でエリアをしめすXlRange型のオブジェクトが取得出来ます。
そのオブジェクトのRangeAddressを確認すればセル範囲が分かります。
引用返信 編集キー/
■97483 / inTopicNo.3)  Re[2]: ClosedXMLで改ページ設定取得について
□投稿者/ 初# (8回)-(2021/05/24(Mon) 21:27:31)
No97481 (shu さん) に返信

> 試されているようにPageSetup.PrintAreasにAddして範囲指定するので
> PageSetup.PrintAreasにはいくつかのオブジェクトが含まれるような型と
> なっておりFor Eachの列挙などが可能なものです。
>
> エリアが1つであれば
> PageSetup.PrintAreas.First
> でエリアをしめすXlRange型のオブジェクトが取得出来ます。
> そのオブジェクトのRangeAddressを確認すればセル範囲が分かります。

IXLRange xLRanges;
xLRanges = worksheet.PageSetup.PrintAreas.First();
MessageBox.Show(xLRanges.RangeAddress.ToString());
のようにしてみるとA1G7のように範囲が返ってきました。
ですが、これだとページ設定の最初から最後の範囲がわかるだけで
その間のPagebreak?というのかどこまでを1ページ目に設定しているのかがわかりませんでした。
オブジェクトの中身を色々みてもそれらしき値が入っておらず
取得する対象がわかりません。





引用返信 編集キー/
■97484 / inTopicNo.4)  Re[3]: ClosedXMLで改ページ設定取得について
□投稿者/ Hongliang (1176回)-(2021/05/25(Tue) 08:47:51)
Excel 2016のページレイアウトメニューには「印刷範囲」「改ページ」がありますが、PrintAreasは文字通り印刷範囲のほうでは?
改ページは.PageSetup.ColumnBreaks/RowBreaksで取得できるように思います。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -