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

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

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

Re[3]: Excelシートの多くのセルに書式設定したい


(過去ログ 43 を表示中)

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

■23157 / inTopicNo.1)  Excelシートの多くのセルに書式設定したい
  
□投稿者/ nana* (15回)-(2008/08/09(Sat) 19:41:12)

分類:[.NET 全般] 

よろしくお願いします。
VB.NET 2005
Excel 2007



VB.NETからExcelを操作し、シート内のなるべく多くのセルの書式を設定したいと思っています。

以下のようなコードで実現しようとしているのですが、セルの範囲(Rangeオブジェクトの範囲)を
("E1","XFD1048576")とかにするとエラーになります。
("E1","Z1000")程度ならOKなのですが・・・。
Sheet.range("E1","XFD1048576").numberformatLocal = "@"


※エラー内容
COMExceptionははドルされませんでした。
HRESULTからの例外 0x800A03EC
System.Runtime.InteropSerbives.COMException

※ある列のセルには書式設定したくないので
Sheet.Cells.numberFormatLocal = "@"
のようなコードは書きたくないと考えています。



MSDNライブラリによるとCOMExceptionは
「COM メソッドの呼び出しによって、認識されない HRESULT が返された場合にスローされる例外です」
とあります。何故このような例外が発生するのか、
どなたか理由や回避方法をご存知でしたらご教授いただきたく。
引用返信 編集キー/
■23162 / inTopicNo.2)  Re[1]: Excelシートの多くのセルに書式設定したい
□投稿者/ こあら (15回)-(2008/08/09(Sat) 22:44:02)
> VB.NETからExcelを操作し、シート内のなるべく多くのセルの書式を設定したいと思っています。
>
> ※ある列のセルには書式設定したくないので
> Sheet.Cells.numberFormatLocal = "@"
> のようなコードは書きたくないと考えています。

Sheet.Cells.numberFormatLocal = "@"
で全体の書式を設定してから“ある列”だけ別の書式を設定するとか、どうでしょうか?

引用返信 編集キー/
■23163 / inTopicNo.3)  Re[2]: Excelシートの多くのセルに書式設定したい
□投稿者/ nana* (17回)-(2008/08/09(Sat) 22:49:00)
No23162 (こあら さん) に返信
>>VB.NETからExcelを操作し、シート内のなるべく多くのセルの書式を設定したいと思っています。
>>
>>※ある列のセルには書式設定したくないので
>>Sheet.Cells.numberFormatLocal = "@"
>>のようなコードは書きたくないと考えています。
>
> Sheet.Cells.numberFormatLocal = "@"
> で全体の書式を設定してから“ある列”だけ別の書式を設定するとか、どうでしょうか?
>


早速のお返事ありがとうございます。

そうですね、最終手段はその方法かと思います。
"ある列"にはそれぞれのセルでそれぞれの書式が設定してあるので
"ある列"のセルをすべて読み込み配列に格納してから再設定という処理になるかと思います。
パフォーマンスの点から多くのセルを1つ1つ読み込む処理を行いたくないなと考えています。
どうしてもその方法しかなかったら仕方がないですが・・・。




引用返信 編集キー/
■23179 / inTopicNo.4)  Re[3]: Excelシートの多くのセルに書式設定したい
□投稿者/ オガシン (37回)-(2008/08/10(Sun) 20:50:01)
ExcelのVBAでマクロを記録して自動作成されたコードを参考に
コードを組み立てていくと楽ですよ〜

>>Sheet.range("E1","XFD1048576").numberformatLocal = "@"

これだとプロセスが残る気がします。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -