• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADOでエクセルを読む時にフィールドを序数でアクセスしたい)

ADOでエクセルを読む際のフィールドアクセスエラー

このQ&Aのポイント
  • ADOを使用してExcelの中身を見ようとしていますが、フィールド名がないために序数でアクセスしようとしています。しかし、「要求された名前、または序数に対応する項目がコレクションで見つかりません」というエラーが発生してしまいます。
  • 列名を指定すればアクセスできるため、序数の指定以外は問題ありません。以下のプログラムで試していますが、解決策はありますか?
  • 開発環境はVC++.Net Office2000 SDK開発です。TESTHRxls関数でレコードセットを作成し、Open関数でExcelファイルを開いています。その後、フィールドの個数を取得し、序数を指定してフィールドにアクセスしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mssine
  • ベストアンサー率24% (38/156)
回答No.1

ご指定の環境での経験が無いので、自信ありませんが、 まず、testValueは2以上ですよね? int testValue2 = lpRecordset->Fields->GetItem(vIndex)->GetValue(); または int testValue2 = lpRecordset->Fields->Item[vIndex]->Value; を試してみてください

oo5goo
質問者

お礼

回答ありがとうございます。 いろいろ探した所、Microsoftのサポートの中にVC++でエクセルにアクセスする場合の文章があり、 そこでVC++の場合にはGetValue()でアクセスするとの記述があり それで成功しました。 ご指摘の int testValue2 = lpRecordset->Fields->GetItem(vIndex)->GetValue(); で値の取得ができました。 ありがとうございました。

関連するQ&A