名前
説明
データ検証を使用すると、特定のスプレッドシートセルに入力するデータのタイプに制限を適用できます。ルールを使用すると、スプレッドシートに入力するデータが正確で、一貫性があり、ルールに準拠していることを確認できます。
検証が役に立つ仕組み
スプレッドシートにデータ検証ルールを追加すると、次のことが可能になります。
エラーを防止:入力できるデータを制限することで、データ入力時のエラーを最小限に抑えます。
データの整合性を維持:データが一貫性のある形式であることを確認します。
データ品質を向上:正確なレポート作成に不可欠な有効なデータのみを入力できます。
ColdFusion でのデータ検証のタイプ:
整数:整数のみを許可します。 例:アパートの築年数やサイズ。
浮動小数点数:小数のみを許可します。例:商品価格や 2 つの場所間の距離。
リスト:エントリを定義済みの値のリストに制限します。例:部門名や製品カテゴリからの選択。
日付:指定された日付の条件に応じてエントリが有効であることを確認します。例:プロジェクトの期限の設定や、生年月日が一定範囲内であることの確認。
テキストの長さ:セル内の文字数を制限します。例:郵便番号、電話番号、従業員 ID。
戻り値
なし
履歴
ColdFusion(2025 リリース):関数が追加されました。
シンタックス
spreadSheetAddDataValidationRule(spreadSheetObject, validationRule)
パラメーター
|
|
必須 |
型 |
説明 |
|---|---|---|---|
|
spreadSheetObject |
はい |
ExcelInfo |
データ検証を追加する Excel スプレッドシートオブジェクトです。 |
|
validationRule |
はい |
構造体 |
次のルールを含む構造体:
|
例 - 整数の検証
例 1 - greater_than の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-gt.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
value : 94,
operator : "greater_than",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer greater than 94."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 2 - less_than の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-lt.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
value : 94,
operator : "less_than",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer less than 94."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 3 - greater_or_equal の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-gte.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
value : 94,
operator : "greater_or_equal",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer greater or equal to 94."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 4 - less_or_equal の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-lte.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
value : 94,
operator : "less_or_equal",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer less than or equal to 94."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 5 - equal の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-equal.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
value : 94,
operator : "equal",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer equal to 94."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 6 - not_equal の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-not-equal.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
value : 94,
operator : "not_equal",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer not equal to 94."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 7 - between の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-between.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
minValue : 50,
maxValue: 100,
operator : "between",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer between 50-100."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>
例 8 - not_between の使用
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "sheet-validate-integer-not-between.xls";
// スプレッドシートオブジェクトを作成します
theSheet=spreadsheetNew("SampleData")
// 列を追加します
spreadsheetAddRow(theSheet,"Integer",1,1)
//ヘッダーを書式設定します
spreadsheetformatRow(theSheet,{bold=true,alignment='center'},1)
// 整数の検証を追加します
// 検証の構造体を追加します
validationStruct={
validationType : "integer",
regions : [ { startRow : 2, startColumn : 1, endRow : 11, endColumn : 1 }],
minValue : 50,
maxValue: 100,
operator : "not_between",
alertTitle:"Data validation failed",
alertText:"The number you've entered is invalid. Check the number and re-try.",
cellSelectTitle:"Enter a number",
cellSelectText:"Make sure you enter an integer not between 50-100."
}
try{
SpreadsheetAddDataValidationRule(theSheet,validationStruct)
writeOutput("Data validation rule applied successfully")
}
catch(any e){
writeOutput(e.message)
}
// スプレッドシートに書き込みます
spreadsheetWrite(theSheet,theFile,"yes")
</cfscript>