teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ソースコード修正

2020/04/22 02:20

投稿

WEjpon
WEjpon

スコア88

title CHANGED
File without changes
body CHANGED
@@ -23,7 +23,7 @@
23
23
 
24
24
  // セル値の取得
25
25
  rangeSpec = excelSheetSpec.get_Range("A1");
26
- string value = ToString(rangeSpec.Value2);
26
+ string value = rangeSpec.Value2 == null ? "" : rangeSpec.Value2.ToString();
27
27
 
28
28
  // Excel関係オブジェクトの解放。
29
29
  // アプリケーションの終了前に破棄可能なオブジェクトを破棄します。

1

ソースコード記載

2020/04/22 02:20

投稿

WEjpon
WEjpon

スコア88

title CHANGED
File without changes
body CHANGED
@@ -5,8 +5,45 @@
5
5
  新たに指定sheetに含まれるOption Buttonのチェック状態を取得する必要がでてきました。C#でのこの実現方法を知りたいです。
6
6
 
7
7
  ### 試したこと
8
- 無し。やり方見当がつかず
8
+ セル値Readは下記のコードで行っています
9
9
 
10
- ### 補足情報(FW/ツールのバージョンなど)
10
+ ```C#
11
+ Excel.Application excelApp = null;
12
+ Excel.Workbook excelWorkbookSpec = null;
13
+ Excel.Worksheet excelSheetSpec = null;
14
+ Excel.Range rangeSpec = null;
15
+
16
+ // Excel起動。
17
+ excelApp = new Excel.Application();
18
+
19
+ // ファイルのOpen
20
+ string filepath = @"C:\home\test.xlsx";
21
+ excelWorkbookSpec = (Excel.Workbook)(excelApp.Workbooks.Open(filepath, Type.Missing, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing));
22
+ excelSheetSpec = (Excel.Worksheet)excelWorkbookSpec.Sheets[1];
23
+
24
+ // セル値の取得
25
+ rangeSpec = excelSheetSpec.get_Range("A1");
26
+ string value = ToString(rangeSpec.Value2);
27
+
28
+ // Excel関係オブジェクトの解放。
29
+ // アプリケーションの終了前に破棄可能なオブジェクトを破棄します。
30
+ Marshal.ReleaseComObject(rangeSpec);
31
+ rangeSpec = null;
32
+
33
+ Marshal.ReleaseComObject(excelSheetSpec);
34
+ excelSheetSpec = null;
35
+
36
+ Marshal.ReleaseComObject(excelWorkbookSpec);
37
+ excelWorkbookSpec = null;
38
+
39
+ // アプリケーションを終了します。
40
+ excelApp.Quit();
41
+
42
+ // Application オブジェクトを破棄します。
43
+ Marshal.ReleaseComObject(excelApp);
44
+ excelApp = null;
45
+
46
+ ```
47
+ ## 補足情報(FW/ツールのバージョンなど)
11
48
  VisualStudio2010
12
49
  Excel2007