- 題名: C#でのエクセル操作方法
- 日時: 2004/02/19 21:53:42
- ID: 2602
- この記事の返信元:
- (なし)
- この記事への返信:
- [2604] Re[1]: C#でのエクセル操作方法2004/02/20 0:26:57
- ツリーを表示
rinさん、こんにちは。
> 早速試してみたところ、
> ((Excel.Worksheet)book.Sheets[1]).Select(true);
> ((Excel.Worksheet)book.Sheets[2]).Select(true);
> ((Excel.Worksheet)book.Sheets[3]).Select(true);
> のだと、1から3まで複数選択されず、ひとつずつSheetが切り替わって選択されてしまいました。
えっと、すいません。紛らわしい書き方をしてしまったようですね。先の例では引数を
true
false
false
としてたのですけども(^_^;)
引数に true を指定すると、そのシートのみが選択されます。
引数に false を指定すると、これまで選択されてたシートと合わせて選択されます。
‥‥ということで。繰り返しになりますがこんな感じです。
今度はちゃんと動作確認しましたので大丈夫かと。
# とはいえ、私の試した環境は Excel 2000 (Microsoft Excel 9.0 Object Library)ですが(汗)
Excel.Sheets sheets = book.Worksheets;
Excel.Worksheet sheet1 = (Excel.Worksheet)sheets["Sheet1"];
Excel.Worksheet sheet2 = (Excel.Worksheet)sheets["Sheet2"];
Excel.Worksheet sheet3 = (Excel.Worksheet)sheets["Sheet3"];
sheet1.Select(true); // Sheet1 に選択が切り替わる
sheet2.Select(false); // Sheet1 / Sheet2 が選択される
sheet3.Select(false); // Sheet1 / Sheet2 / Sheet3 が選択される
また、最初にrinさんがおっしゃってたような方法で選択を行うこともできるようです。
> たとえばVBAなら Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select で
> sheet1~3を選択できますが、
Excel.Sheets sheets = (Excel.Sheets)book.Worksheets[new string[] {"Sheet1", "Sheet2", "Sheet3"}];
sheets.Select(Type.Missing);
# こちらは見たままですね。
ご確認くださいませ。
分類:[.NET]
なにぶん初心者なのでよろしくお願いします。
C#でExcelの複数のsheetを選択するにはどうしたらよいでしょうか?
たとえばVBAなら Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select で
sheet1~3を選択できますが、
これをC#で行うにはどのようなコードを書けばよいでしょうか?
単一の選択方法は
((Excel.Worksheet)ThisApplication.ActiveWorkbook.Sheets[1]).Select(
Type.Missing);
で出来るのですが・・・
基本的な質問で申し訳ないのですがよろしくお願いします。
VS.NET2003, EXCEL 2003です