@IT会議室は、2009年4月15日に新システムに移行し、さらに2012年5月29日にITエンジニアに特化した
質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用くださいませ。
- PR -

HRESULT からの例外です : 0x800A03EC。について

1
投稿者投稿内容
エド
常連さん
会議室デビュー日: 2006/12/07
投稿数: 43
投稿日時: 2007-01-26 10:25
データグリッドに表示したデータをエクセル出力する処理を
改良してデバックを行った結果、上記表題のエラーが出てきました。

voxlRange = voxlSheet.range("A" & CStr(vliRowsCount + 2) & vasCol & CStr(vliRowsCount + 2))

上記コード実行時にエラーとなりました。

「HRESULT からの例外です : 0x800A03EC。」を調べた所
文字数の規定オーバー的な事が書かれていたのですが、
上記コードの時点では実際に値をいれていないと思うので
どう解決していいやらてんてこ舞いになっている状態です。

どなたか、ご教授願います。
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2007-01-26 10:57
はずしているかもしれませんが、

これってある範囲のRangeを取得しようとしているのでしょうか?

> A" & CStr(vliRowsCount + 2) & vasCol & CStr(vliRowsCount + 2)
がどのような文字列になっているか確認してみてはどうでしょうか?

エクセルのセルの指定文字列であれば、一般的に "A1:B1" のような形式
でなければダメだったような。

> デバック
デバッ(Debug)ですよ。

[ メッセージ編集済み 編集者: Blue 編集日時 2007-01-26 10:58 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-01-26 11:11
局所的反応。

引用:

Blueさんの書き込み (2007-01-26 10:57) より:

エクセルのセルの指定文字列であれば、一般的に "A1:B1" のような形式でなければダメだったような。


コロンを挟んで右側のセル位置は省略できますし、R1C1 形式でも指定可能です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
エド
常連さん
会議室デビュー日: 2006/12/07
投稿数: 43
投稿日時: 2007-01-26 13:32
ご返答ありがとうございます。

A" & CStr(vliRowsCount + 2) & vasCol & CStr(vliRowsCount + 2)
の中身ですが、
"A2AU2"
となっています。

>> デバック
>デバッグ(Debug)ですよ。
↑言葉の間違いありがとうございます、気をつけます。

以前では特に問題なくエクセル出力出来ていたのですが、
今回の修正でエラーが発生するようになりましたので
どの修正が影響を及ぼしたのか調査しています。

変更点

1.表示するテーブルのレイアウトが変わった
2.データを出力している部分をサブにして呼び出して使うようにした
3.その他の細かい修正

…、どこが怪しいのか…
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-01-26 13:37
引用:

エドさんの書き込み (2007-01-26 13:32) より:

A" & CStr(vliRowsCount + 2) & vasCol & CStr(vliRowsCount + 2) の中身ですが、
"A2AU2"
となっています。


すでに指摘されているように、"A2:AU2" でないと無理なのでは?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
エド
常連さん
会議室デビュー日: 2006/12/07
投稿数: 43
投稿日時: 2007-01-26 13:48
!!!!!
あああああ、

まさに

「:」を入れたらものの見事に解決でした。

voxlRange = voxlSheet.range("A" & CStr(vliRowsCount + 2) & vasCol & CStr(vliRowsCount + 2))

voxlRange = voxlSheet.range("A" & CStr(vliRowsCount + 2) & ":" & vasCol & CStr(vliRowsCount + 2))
で解決です。
Blueさん、じゃんぬねっとさんありがとうございました。
1

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)