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

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

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

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

Q&A

解決済

1回答

4763閲覧

closedXMLでエクセルの入力規則を操作したい

torimingo

総合スコア122

C#

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

0グッド

0クリップ

投稿2022/07/20 15:51

編集2022/07/21 12:59

closedXMLでエクセルを操作しています。
エクセルのデータタブにある入力規則の設定を操作したいです。
特に「無効なデータが入力されたらエラーメッセージを表示する」というチェックボックスを操作したいです。
cell("H18").datavalidation.showErrorMessageなどを使用して操作しようとしているのですが、設定が反映されないように見えます。
もしご存知の方がおりましたら、ご連絡頂けると幸いです。

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

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

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

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

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

okakemetal

2022/07/21 01:22

こちら、ググってみたところ、C#→Excelということであってますでしょうか? 質問のカテゴリにC#もつけた方が、より回答を得られるかと思いました。 こちらのサイトの中段以降に有効な記述があるかとおもいますので ご確認ください https://social.msdn.microsoft.com/Forums/ja-JP/7fe9cc34-8ebc-4f10-934f-282459505a39/c1239112289excel125011244912452125232086912398124811245512483124?forum=csharpgeneralja
guest

回答1

0

ベストアンサー

確認結果

無効なデータが入力されたらエラー メッセージを表示する(S)の操作は以下の確認コードでON/OFFできました。
バージョン違いなのかなぁ。

確認環境

  • Visual Studio 2022
  • .NET 6.0.302
  • closedXML 0.9.6

確認コード

Program.cs

1using ClosedXML.Excel; 2 3var wb = new XLWorkbook(); 4var ws = wb.Worksheets.Add("Data Validation"); 5{ 6 var cell = ws.Cell("A1"); 7 cell.Value = "1"; 8 var dataValidation = cell.DataValidation; 9 dataValidation.Decimal.Between(1, 5); 10 dataValidation.ShowErrorMessage = true; 11 dataValidation.ErrorMessage = "1~5の数字を入力してください。"; 12} 13{ 14 var cell = ws.Cell("A2"); 15 cell.Value = "2"; 16 var dataValidation = cell.DataValidation; 17 dataValidation.Decimal.Between(1, 5); 18 dataValidation.ShowErrorMessage = true; 19} 20{ 21 var cell = ws.Cell("A3"); 22 cell.Value = "3"; 23 var dataValidation = cell.DataValidation; 24 dataValidation.ShowErrorMessage = true; 25} 26{ 27 var cell = ws.Cell("A4"); 28 cell.Value = "4"; 29 var dataValidation = cell.DataValidation; 30 dataValidation.ShowErrorMessage = false; 31} 32using(var stream = new FileStream("./sample3.xlsx", FileMode.OpenOrCreate)) 33{ 34 wb.SaveAs(stream); 35}

出力結果

イメージ説明

参考リンク

投稿2022/07/22 14:25

編集2022/07/22 14:27
umed0025

総合スコア851

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

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

torimingo

2022/07/24 10:19

ご回答ありがとうございます。 ご指定のコードを参考にしたら、ON/OFFできました。 自分のコードになにか問題があったのかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.33%

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

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

質問する

関連した質問