質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

2912閲覧

C#でExcelファイルのオプションボタンの値の取得方法

WEjpon

総合スコア88

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2020/04/22 01:54

編集2020/04/22 02:20

前提・実現したいこと

C#でExcelファイルをRead/Writeするツールを作っています。
Microsoft.Office.Interop.Excelを用いており、指定sheet内の指定セル値のRead/Writeは既にできています。

新たに指定sheetに含まれるOption Buttonのチェック状態を取得する必要がでてきました。C#でのこの実現方法を知りたいです。

試したこと

セル値のReadは下記のコードで行っています。

C#

1 Excel.Application excelApp = null; 2 Excel.Workbook excelWorkbookSpec = null; 3 Excel.Worksheet excelSheetSpec = null; 4 Excel.Range rangeSpec = null; 5 6 // Excel起動。 7 excelApp = new Excel.Application(); 8 9 // ファイルのOpen 10 string filepath = @"C:\home\test.xlsx"; 11 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)); 12 excelSheetSpec = (Excel.Worksheet)excelWorkbookSpec.Sheets[1]; 13 14 // セル値の取得 15 rangeSpec = excelSheetSpec.get_Range("A1"); 16 string value = rangeSpec.Value2 == null ? "" : rangeSpec.Value2.ToString(); 17 18 // Excel関係オブジェクトの解放。 19 // アプリケーションの終了前に破棄可能なオブジェクトを破棄します。 20 Marshal.ReleaseComObject(rangeSpec); 21 rangeSpec = null; 22 23 Marshal.ReleaseComObject(excelSheetSpec); 24 excelSheetSpec = null; 25 26 Marshal.ReleaseComObject(excelWorkbookSpec); 27 excelWorkbookSpec = null; 28 29 // アプリケーションを終了します。 30 excelApp.Quit(); 31 32 // Application オブジェクトを破棄します。 33 Marshal.ReleaseComObject(excelApp); 34 excelApp = null; 35

補足情報(FW/ツールのバージョンなど)

VisualStudio2010
Excel2007

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

下記方法で取得できました。
1行目の引数は1からそのsheetのOptionButton数まで。
Nameは"Option Button 125"等。Excelを起動してOptionButtonを選択した際に表示される名前でした。
Valueはチャックありが1.0、チェック無しが-4146になるようです。

c#

1Microsoft.Office.Interop.Excel.OptionButton optButton = (Microsoft.Office.Interop.Excel.OptionButton)excelSheetSpec.OptionButtons(1); 2string name = optButton.Name; 3var v = optButton.Value;

投稿2020/04/27 00:21

WEjpon

総合スコア88

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問