ユーザーフレンドリーなドキュメントを作成するために、グリッドラインやヘッダーを隠したり、特定のセルを保護したり、コーポレートアイデンティティを尊重するために単にラインカラーを変更する必要があることがよくあります。4D v18 R3では、新しい VP SET SHEET OPTIONS コマンドで行うことができます。
シートの保護
ワークシートの保護は、その中のセルが編集されないようにすることです。デフォルトでは、4D View Proドキュメントのすべてのセルがロックされているとマークされています。もし、ワークシート全体を保護したい場合は、次のように記述するだけです。
$options:=New object
// Activate protection
$options .isProtected:=True
// Apply protection on the current sheet
VP SET SHEET OPTIONS ("ViewProArea";$options)
特定のセルの編集を許可したい場合は、ワークシートを保護し、ユーザーが編集できるセルのみロックを解除することができます。
前の例で示したように、この isProtectedオプションをTrueに設定すると、ワークシート全体が保護されます。もし、C5:D10の範囲以外のすべてのセルを保護したい場合は、単純にその範囲をロック解除としてマークしてください。
$options
:=New object
// Activate protection
$options .isProtected:=True
// Apply protection on the current sheet
VP SET SHEET OPTIONS ("ViewProArea";$options)
// mark cells C5:D10 as 'unlocked' VP SET CELL STYLE (VP Cells ("ViewProArea";2;4;2;6);New object("locked";False))
この protectionOptionsプロパティは、サイズ変更、ドラッグ、行や列の挿入または削除など、ユーザーに変更を許可する内容を指定するために使用できます。
文書を保護しつつ、ユーザーが行や列のサイズを変更できるようにしたいですか?こう書けばいいのです。
$options
// Allow user to resize rows
:=New object
// Activate protection
$options .isProtected:=True$options .protectionOptions:=New object
$options protectionOptions allowResizeRows =True;// Allow user to resize columns$options .protectionOptionsallowResizeColumns =True;
// Apply protection on the current sheet
VP SET SHEET OPTIONS ("ViewProArea";$options)
ワークシートの外観を変更する
色を変更する
この VP SET SHEET OPTIONS コマンドでは、ワークシートのタブ、凍結線、グリッド線、選択範囲の背景と境界線の色をカスタマイズすることもできます。
$options:=New object
// Customize color of Sheet 1 tab
$options .sheetTabColor:="黒"
$options .gridline:=New object("color"; "Purple")
$options .selectionBackColor:="rgba(255,128,0,0.4)"
// Use rgba() for the transparency. Here : 40% transparency
$options . "黄色" . 。
selectionBorderColor:="黄"
$options .frozenlineColor:="金"
VP SET SHEET OPTIONS ("ViewProArea";$options;0)
// Customize color of Sheet 2 tab
$options.sheetTabColor:="赤"
VP SET SHEET OPTIONS ("ViewProArea";$options;1)
// Customize color of Sheet 3 tab
$options.sheetTabColor:="青"
。
VP SET SHEET OPTIONS ("ViewProArea";$options;2)
その結果がこちらです。
要素を隠す
VP SET SHEET OPTIONSコマンドでは、ワークシートのグリッド線、行と列のヘッダーの可視性を管理することもできます。
$options
))。
:=New object
$options .gridline:=New object()
$options .gridline.showVerticalGridline:=False$options gridline showHorizontalGridline :=False
$options rowHeaderVisible :=False
$options .colHeaderVisible:=False
VP SET SHEET OPTIONS ("ViewProArea";$options
結果を見てみましょう。
ワークシート領域オフセット
ボーダーはセルの外側に描画されるため、このプロパティを使用すると、ワークシート全体がボーダーで覆われるようになります。 sheetAreaOffsetプロパティを使って、ワークシート全体がレンダリングされるようにすることができます。
$options:=New object
)。
$options .sheetAreaOffset:=New object
$options .sheetAreaOffset.left:=2
$options .sheetAreaOffset.top:=2
VP SET SHEET OPTIONS ("ViewProArea";$options
また、このコマンドを上記のHDIで試すことも忘れないでください。