DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#)Excelのセル幅・高さの指定

環境/言語:[XP/C#/]
分類:[.NET]

あるセルA1をWidth、Heightで指定し、同じ行または列の違うセルの幅・高さを変える時に、すでに指定されているA1よりも小さい場合は変更しないようにするにはどうしたら良いのでしょうか?

---
補足

現在、C#で実装したプログラムをExcelのセル上にいくつも貼って使う…というアプリケーションを作っているのですが、そのプログラムをExcelに貼る際にセルの幅と高さを指定しています。
■No24354に返信(カルマさんの記事)
> あるセルA1をWidth、Heightで指定し、同じ行または列の違うセルの幅・高さを変える時に、
> すでに指定されているA1よりも小さい場合は変更しないようにするにはどうしたら良いのでしょうか?

フツーに AutoFit メソッドで自動調整ではダメなのでしょうか?
私がうまく文章が読み取れていないかもしれませんが。
AutoFit は,セルに入力された文字列の大きさになってしまいますよね?

でも,文字列ごとの大きさではなく,指定したセルの大きさにしたいのですがどうすれば良いのでしょうか?

日本語不足で申し訳ありません.
たとえば,

A1にセルの幅と高さを20*10(width*height)その後
A2のセルに12*52とするプログラムを貼ると,
A1のセルも12*10になってしまい,切れてしまうのを直したいのです.
■No24364に返信(カルマさんの記事)
> AutoFit は,セルに入力された文字列の大きさになってしまいますよね?

その表現だと御幣がありませんか。
ColumnWidth はその行に含まれるセルの中で最も文字列幅の長いものに幅が合わせられ、ColumnHeight はその列に含まれるセルの中で改行 (自動折り返し) を加味した高さに合わせられるのではないでしょうか。

> でも,文字列ごとの大きさではなく,指定したセルの大きさにしたいのですがどうすれば良いのでしょうか?

そのように繰り返し処理を書くだけ良いです。
For ステートメント、ColumnWidth、RowHeight さえ知っていれば何とかなるレベルですね。

それと先ほどから "セルの幅" "セルの高さ" "セルの大きさ" という表現をなさっていますが、幅は列ごと、高さは行ごとにしか変えられません。
最初に返信した時に私にあった違和感は恐らくこれですね...

DOBON.NET | プログラミング道 | プログラミング掲示板