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

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

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

Re[5]: C#で起動したEXCELのセルの値を得るには


(過去ログ 20 を表示中)

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

■8631 / inTopicNo.1)  C#で起動したEXCELのセルの値を得るには
  
□投稿者/ yosii (1回)-(2007/10/04(Thu) 13:39:39)

分類:[.NET 全般] 

VC#2003でエクセルを起動したブックのセルの値をtextBoxに代入したいのですが、
下記ソースの最後の2行部分の記述でうまくいきません
どなたか、教えてください。



// Excel object references.
private Excel.Application m_objExcel ;
private Excel.Workbooks m_objBooks = null;
private Excel._Workbook m_objBook = null;
private Excel.Sheets m_objSheets = null;
private Excel._Worksheet m_objSheet = null;
private Excel.Range m_objRange ;

private void listBox11_DoubleClick(object sender, System.EventArgs e)
{

m_objExcel = new Excel.Application();

m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
m_objBook =( Excel._Workbook)m_objBooks._Open(strNamae,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
m_objBook = m_objExcel.ActiveWorkbook;

m_objSheets = (Excel.Sheets)m_objBook.Sheets;


// ワークシートを選択
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));

// Microsoft Excel を表示する
m_objExcel.Visible = true;


m_objRange = m_objSheet.get_Range("A1",Type.Missing);

string strCelValue = (m_objRange).Cells.ToString(); // ??????//


textBox2.Text = strCelValue.ToString(); // ??????//


}
引用返信 編集キー/
■8638 / inTopicNo.2)  Re[1]: C#で起動したEXCELのセルの値を得るには
□投稿者/ subaru (2回)-(2007/10/04(Thu) 15:26:46)
No8631 (yosii さん) に返信
> m_objRange = m_objSheet.get_Range("A1",Type.Missing);
>
> string strCelValue = (m_objRange).Cells.ToString(); // ??????//
>
>
> textBox2.Text = strCelValue.ToString(); // ??????//

最後の部分ですがこのように変えてみるとかでどうでしょう。

> string strCelValue = m_objRange.Value.ToString(); // ??????//

引用返信 編集キー/
■8639 / inTopicNo.3)  Re[2]: C#で起動したEXCELのセルの値を得るには
□投稿者/ subaru (3回)-(2007/10/04(Thu) 15:40:23)
2007/10/04(Thu) 15:58:51 編集(投稿者)

ちなみに

string strCelValue = ((Excel.Range)m_objSheet.Cells[1, 1]).Value.ToString();

でも同じ結果になります。
#実際のコードでは例外処理、参照カウントの開放をきちんといれてください。
引用返信 編集キー/
■8644 / inTopicNo.4)  Re[3]: C#で起動したEXCELのセルの値を得るには
□投稿者/ yosii (2回)-(2007/10/04(Thu) 17:51:22)
No8639 (subaru さん) に返信
> 2007/10/04(Thu) 15:58:51 編集(投稿者)
>
> ちなみに
>
> string strCelValue = ((Excel.Range)m_objSheet.Cells[1, 1]).Value.ToString();
>
> でも同じ結果になります。
> #実際のコードでは例外処理、参照カウントの開放をきちんといれてください。

subaruさんへ
有難うございます。
string strCelValue = m_objRange.Value.ToString(); 
上記に変えると、
次のエラーがでます。
   
D:\開発ソフト\貼り付け\WindowsApplication1\DragDrop.cs(397): プロパティ、インデクサまたはイベント 'Value' は、この言語でサポートされていません。アクセサ メソッドの 'Excel.Range.get_Value(object)' または 'Excel.Range.set_Value(object, object)' を直接呼び出してください。


引用返信 編集キー/
■8645 / inTopicNo.5)  Re[4]: C#で起動したEXCELのセルの値を得るには
□投稿者/ IIJIMAS (37回)-(2007/10/04(Thu) 18:29:46)
No8644 (yosii さん) に返信
> string strCelValue = m_objRange.Value.ToString(); 
> 上記に変えると、
> 次のエラーがでます。
>    
> D:\開発ソフト\貼り付け\WindowsApplication1\DragDrop.cs(397): プロパティ、インデクサまたはイベント 'Value' は、この言語でサポートされていません。アクセサ メソッドの 'Excel.Range.get_Value(object)' または 'Excel.Range.set_Value(object, object)' を直接呼び出してください。
>

m_objRange.Value.ToString();

m_objRange.get_Value(Type.Missing).ToString();

でどうでしょうか。

引用返信 編集キー/
■8649 / inTopicNo.6)  Re[5]: C#で起動したEXCELのセルの値を得るには
□投稿者/ yosii (3回)-(2007/10/04(Thu) 20:57:42)
No8645 (IIJIMAS さん) に返信
> ■No8644 (yosii さん) に返信
>>string strCelValue = m_objRange.Value.ToString(); 
>>上記に変えると、
>>次のエラーがでます。
>>   
>>D:\開発ソフト\貼り付け\WindowsApplication1\DragDrop.cs(397): プロパティ、インデクサまたはイベント 'Value' は、この言語でサポートされていません。アクセサ メソッドの 'Excel.Range.get_Value(object)' または 'Excel.Range.set_Value(object, object)' を直接呼び出してください。
>>
>
> m_objRange.Value.ToString();
> ↓
> m_objRange.get_Value(Type.Missing).ToString();
>
> でどうでしょうか。


IIJIMAS さんへ

ご指導の内容でうまくいきました。返信いただいた方々にお礼申し上げます。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -