このドキュメントは4D v18で利用可能な全ての新機能をまとめたものです。それぞれの新機能には具体的な例題を示している関連したブログ記事(英文)があります。これらのブログ記事は、それぞれの機能のタイトルをクリックすることでアクセス可能です。
また、
タグが付いているセクションは、4D v17 R6 から4D v18 の間に追加された新機能に関わるセクションです。
このドキュメントは全部で7つの章から構成されています:
プロジェクトモードデータベース – バージョン管理 ![]()
4D v18 で追加された新しいソリューションを使用すれば、分散したチームが協力して作業するのが容易になります。プレーンなテキストファイルを使用してバージョン管理システムでソースコードを保存することが可能になるからです。これにより、4D 開発プラットフォームのパワーと、軽量さと分割されたファイルの汎用性を組み合わせた利点を最大限引き出すことができるようになります:
アーキテクチャー
プロジェクトモードデータベースには、データベースストラクチャーからフォーム、メニュー、ユーザー設定、その他の必要なリソースを含めたユーザーインターフェースまで、4D データベースアプリケーションのソースコードが全て格納されています。プロジェクトモードデータベースはテキストベースのファイルから構成されているため、プロジェクトには単一の親データベースフォルダ内に複数のフォルダとファイルを格納しています。プロジェクトデータベースを作成すると、多くのフォルダがバイナリーデータベースのときと同じフォルダがあるのを見つけられるでしょう:
- Data
- Logs
- Resources
- Settings
- WebFolder
これに加えて、二つ新しいフォルダが追加されています:
- Project – アプリケーションのソースコード(旧来の.4db に相当)
- userPreferences.<name> – 記録されたユーザー設定のファイルを格納します(ユーザー設定の例: プレークポイントの位置、ウィンドウの位置、等)。 ドキュメントを読む
既存のバイナリーデータベースを変換する
プロジェクトモードのデータベースは、新規に空のプロジェクトモードデータベースを作成するか、あるいは既存のバイナリーデータベース(.4db)をプロジェクトモードに変換することで作成することができます。既存のバイナリーデータベースを変換するためには、メニューからファイル > 書き出し > ストラクチャーをプロジェクトに書き出しをクリックするだけです。それをすると、変換が完了したということを知らせるメッセージが表示されます。また、4D はユーザーの対処が必要なエラーが発生してないかどうかもお知らせします。例えば、もうサポートされていない旧式のフォームオブジェクトがバイナリーデータベースに含まれていた、などの場合です。 ドキュメントを読む
変換が完了したら
バイナリーデータベースのストラクチャーに関して言えば、アプリケーションの詳細は2つのファイル(.4DB および.4DIndx)に保存されています。プロジェクトデータベースにおいては、この詳細は”Project”フォルダ内に保存されているファイルに記録されています。変換完了後、(もし必要であれば)次のファイルを削除しても構いません: <database>.4db および <database>.4dIndy 。新しいプロジェクトデータベースのデータは、”Project” フォルダと同階層にある”Data” フォルダ内に保存されています。そのため、開発フェーズにおいても、データフォルダの横にあるファイルはストラクチャーの横にあるファイルとは異なります。ですから、変換が完了したらProject フォルダと同階層にData フォルダを作成し、そこにdata.4dd および data.4DIndx ファイルを移動させることが推奨されます。最後に、データを分離して開発を容易にするために、4D は今後、コードエディター設定などの開発に関連する引数にはファイル名に”preferences”をつけ、メモリー設定やバックアップ設定など配布に関連する引数にはファイル名”settings”を使用します。
ユーザーとグループの管理
プロジェクトベースは完全にテキストベースであるため、ユーザーとグループを使用してコードをプロテクトする必要性がなくなってしまいます。コードのプロテクトは今後はバージョン管理システム、またはOS のファイル/フォルダアクセス権利システムに移譲する形になります。結果として、ユーザーとグループはデータアクセスを管理するためだけに使用されます。ユーザーとグループはデータファイルの横にある”directory.json”というテキストファイル内に保存されています。
改善された配布
今後はデベロッパーとユーザーを区別する必要は無くなります。そのため、デベロッパーもユーザーもどちらも”User”型となります。配布を容易にするため、Get 4D file および File コマンドは新しいDirectory file 定数を受け入れるようになり、これによって正しいファイルを容易にかつ自動的に管理できるようになります。
変換と移行の間について
ディレクトリファイルは、変換プロセス中に自動的に作成され、プロジェクト設定の横に置かれます。これまで、BLOB TO USERS コマンドを使用してユーザーとパスワードを復元してきた場合、このコマンドはディレクトリファイルを生成するように改善されましたので、既存のコードを編集する必要はありません。
シングルユーザーモード
シングルユーザーモードにおいては、ユーザーとグループは完全に無効化されます。カレントユーザーは常にDesignerであり、これは変更できません。ユーザーとグループのアプリケーションへのアクセス権はシステムに委任することができます。Designer の名前をシステムアカウントまたは自分の名前でマスクしたい場合、SET USER ALIAS コマンドを使用してください。
クライアント/サーバーモード
クライアント-サーバーモードにおいては、ユーザーとグループは今まで通り動作し続けます。カレントユーザーを変更したり、エイリアスを設定したり、パスワードを変更したりなど、どれも今まで通りご利用いただけます。
ツールボックス
ツールボックスのユーザーとグループのページは、どのモードにおいても(シングルユーザーモードでもクライアント-サーバーモードでも)アクセス可能です。しかしながら、シングルユーザーモードにおいては、ツールボックスを使用してできることは、クライアント-サーバーモードで使用されるユーザーとグループを編集することだけです。
アプリケーションの配布
配布は2つのステップから構成されます: コードのコンパイルとアプリケーションの作成です。プロジェクトデータベースは、バイナリーデータベース(.4db)と同じようにコンパイルすることが可能です。違いはありません。インターフェースも、マシン語コードが生成される方法も同じです。違いは、バイナリーデータベースではコンパイルされた結果はバイナリーファイル(.4db)に保存されるのに対して、プロジェクトベータベースでは“Project/DerivedData/CompiledCode” フォルダに保存されるという点です。アプリケーション(コンパイル済データベース、コンポーネント、スタンドアロンアプリケーション、クライアント/サーバーアプリケーションなど)を作成するのに何か手順を変える必要はありませんし、バイナリーデータベースでの設定ファイルを変換されたプロジェクトデータベースで同じように使用できます。違いは生成されるファイルにのみあります:プロジェクトデータベースは”.4dc”ではなくて”.4dz”拡張子を持ちます。 ドキュメントを読む
ソース管理システムへのアップロード
データベースをコンパイルするとき、コンパイルされたコードは“Project/DerivedData” フォルダに保存されます。このとき、“Resources” フォルダ、“WebFolder” フォルダ、および“Project” フォルダ(ただし“DerivedData” サブフォルダを含まない)をソース管理システムへとアップロードすることが推奨されます。
スタイルシートはCSSへ
スタイルシートの可能性は劇的に改善されました。4D はプロジェクトデータベースのスタイルシートにおいては、CSSの文法とシンタックスにインスパイヤされ、4D フォームの用途に合うように取り込むことを行いました。これにより、フォームオブジェクトプロパティをスタイルシートで設定することが可能になりました。 ドキュメントを読む
暗号化
4D データベースで、新しい、ビルトインのデータ暗号化機能が利用できるようになりました。データはコード経由でもユーザーインターフェース経由でも、全テーブルまたは一部の選択されたテーブルに対して暗号化できます。4D 暗号化はパスフレーズに基づいています。パスフレーズトは文章はまたは単語の組み合わせで、これを使用してAES アルゴリズムでデータを暗号化するバイナリー暗号化キーを生成します。暗号化されたデータファイルを使用するためには、パスフレーズカバイナリ暗号化キーのどちらかが必要になります。4D はデータをファイルレベルで暗号化します。これはつまり、データファイル(.4dd)、バックアップ、ログファイルが暗号化されるということを意味します。コンピューターそのもののセキュリティ機能に加えて、この暗号化を利用することで例えばバックアップをクラウドに保存することなどが安全になります。データがファイルごと暗号化されているからです。
デザインモードにおいて、テーブルに対して新しく暗号化可能属性が利用できるようになりました。これはテーブルの暗号化ステータスを、暗号化が可能であると設定する属性です。データの暗号化の準備が整ったら、最も簡単な暗号化の方法は、MSC の暗号化ページから行う方法です。このページではデータ暗号化をモニターするための必要な機能をすべて備えています。このページを使ってデータファイルの暗号化/復号化ができるほか、再暗号化はパスフレーズの変更を行うこともできます。 ドキュメントを読む
MSCで暗号化する方法に加え、4D v18 では暗号化の機能の大部分をサポートするために設計されたコマンドが追加されています。例えば、Encrypt data file() コマンドを使用することで暗号化を管理することができるほか、provideDataKey() コマンドを使用することで開いているデータファイルにデータ暗号化キーを提供することができます。またencryptionStatus() コマンドを使用すると開いているデータファイルが暗号化されているか、また有効なデータ暗号化キーが提供されているかどうかをチェクすることもできます。コマンドの完全な一覧については、ドキュメントセンターをご覧ください。 ドキュメントを読む
ビジネスアプリケーションの安全な環境を作り出すためのビルトイン・ツールや技術の詳細については、Security Guide のページをご覧ください。
4D for iOS
4D for iOS はあなたのビジネスアプリケーションをモバイルデバイスへと拡張するためのソリューションです。4D for iOS は4D に完全に統合されており、他の追加のインストールや事前の知識は必要ありません(ただしXcode のインストールのみ必要)。4D v18 で含まれる新機能は以下の通りです:
アクションを使用することで、アプリから直接データを編集することが可能になりました。これはつまりユーザーがiOSアプリ内でデータを直接編集できるということです。ただしビジネスロジックを保護するため、それぞれの”アクション”が4D に送信されると、4D はメソッドを実行して追加のデータをチェック・計算し、ユーザーのデータ入力の最終的な受け付け/取り消しを判断します。また、アプリのコンテンツを管理するために、定義済みのアクション: Add、Edit、およびDelete も提供されています。ドキュメントを読む
データフォーマッターは、新しく導入された概念で、これによってコンテンツが正しいフォーマットで表示されるようにするためにフィールドの特定のデータタイプを定義することが可能になります。フィールドのデフォルトのフォーマットを表示用フォーマット(例えばブール、パーセント、日付、など)を選択して上書きすることができます。例えば、請求書の”支払済”と”未払い”を視覚化するためにピクチャーを表示したい場合を考えてみてください。こちらの方がただのチェックボックスよりiPhoneでは似合うことでしょう。 ドキュメントを読む
4D for iOS では複数条件検索がサポートされるようになりました!テンプレートからリストを選択した後、複数のフィールドをドロップすることで複数条件検索が有効化されます。同じフィールドに対して複数の値を指定した場合、内部的にはOR 演算子が使用されます。例えば、検索エリアに会社名、苗字、都市をドラッグすることで、ユーザーはこれらの情報を使用して顧客を検索することが可能になります。 ドキュメントを読む
制限クエリ、これもまた新しく導入された概念です。これによって、モバイルアプリと同期するデータを制限することができます。例えばデータを去年の請求書までに制限したり、アクティブな顧客だけ、またはセールスマネージャーの権限がある地域だけに制限することで、実用的になるだけでなく、データの同期の時間を抑え、またiPhone 上での容量の節約に大きく貢献します。 ドキュメントを読む
4D for iOS に追加されたもう一つの新しい概念が、インクリメントデータ同期です。これには2つの目的があります。一つは、制限クエリでもデータセットが膨大になることがあるため、4D は自動的に更新された/削除されたレコードのみをチェックし、デバイス上のこれらのデータのみをアップデートするという側面。また、データの更新をアプリの起動時だけに行うだけでなく、アプリが前面に来た時や、ユーザーアクションによっても更新を行うことで、こまめにデータを更新するようにできます。ドキュメントを読む
リレーション管理 ![]()
4D for iOS はN対1リレーションも1対Nリレーションもサポートするようになりました。N対1についてはシンプルで、モバイルアプリ用のフォームにおいてリレートフィールドをメインテーブルと同じように使えます。1対Nリレーションについては、フォームにはボタンが配置されていて、それをタップするとリレートされたレコードの一覧を表示するページにスイッチし、ユーザーはスワイプするだけで元の画面に戻ることができます。 ドキュメントを読む
アプリをカスタマイズする
4D for iOS ではすでにほとんどの需要をカバーする、様々なリストフォーム・詳細フォームのテンプレートを提供していますが、自分独自のリストフォーム/詳細フォームのテンプレートを作成することもできます。Xcode Stroybuilder とXcode のスキルがあれば、iOS が提供している機能を全て兼ね備えた、新しいテンプレートを作成することや既存のテンプレートをカスタマイズすることができます。作成したテンプレートを使用するためには、特にスキルは必要なく、ビルトインのテンプレートを使用のと同じように使うことができます。 ドキュメントを読む
4D for iOS では、販売、金融、教育、行政、健康、産業、不動産、サービスなど、あらゆる分野をカバーする膨大なアイコンライブラリーを持っています。 ドキュメントを読む
4D for iOS では、日付、パーセント、時間などに対して基本的なでータフォーマッターを用意しています。しかし、自分独自のでータフォーマッターを作成し、それをプロジェクトエディターで直接使用することもできます。例えば、例えば整数値を出品番号などの名前と変換するintegertoString フォーマッターを作成することができます。あるいは、1、2、3、4などのコードを、パートナーステータスを表すバッジに置き換えるような、integerToImage フォーマッターを作ることもできます。 ドキュメントを読む
ORDA
4D v18 では、以下のようなORDA の新機能が導入されています:
リモートデータストア ![]()
これからは、カレントデータベースだけに制限される必要はありません。4D Server として公開されているものであれば、一つまたは複数のリモート4D データベースにアクセスすることができます。リモートデータストアはREST リソースとして公開され、4D クライアントソフトウェアからアクセスすることができます。このリモートデータベースはORDA から直接使用(読み出し/書き込み)することが可能です(ORDA がクライアント・サーバー間のREST リクエストをトリガーします)。TLS 接続はもちろんサポートされています。データベースへのアクセスを特定の4D ユーザーだけに制限することも可能ですし、ユーザー情報に基づいて独自にアクセス管理を開発することも可能です。またこの機能はREST サーバーにアクセスするのにWeb サーバーを使用しますが、Web サーバーライセンスは必要ありません。接続には、標準の4D クライアントライセンスが使用されます。 ドキュメントを読む
ds オブジェクトに対して、新しいORDA メソッドが使用できるようになりました。これはORDA コードをデバッグして最適化するもので、これによって送信されたリクエストをよりよく理解できるようになります。startRequestLog() メソッドはとても柔軟なコマンドです。なぜならFile オブジェクトに対して呼び出されると、ファイルまたはメモリーに対してのORDA リクエストのログを取ることができるからです。ORDA リクエストのログを停止するためには、stopRequestLog() メソッドを呼び出しますドキュメントを読む
フォーミュラの力を借りることで、プロジェクトメソッド内、または4D 式の中で複雑な条件を使用してエンティティセレクションを順列ありに変えることができます。フォーミュラは、orderByFormula()メソッドに文字列またはFormula オブジェクトの形で渡された条件を評価します。 ドキュメントを読む
query() メソッドはFormula オブジェクトを引数としてサポートするように改良され、その結果見つかったエンティティを全て格納するEntitySelection 型の新しいオブジェクトを返します。これによってより洗練された検索条件を作成することが可能になります。 ドキュメントを読む
クライアント/サーバーモードにおいて、ORDA を使用した巨大なテーブル(特にリレーションを多用したもの)へのアクセスが大幅に改善されました。エンティティセレクションをリストボックスまたはコードのループ(例:While または For each)内で使用している場合、使用されるフィールドは自動的に解析されてネットワーク通信が最適化されます。LAN でなら2〜3倍のパフォーマンス向上が、WAN であれば最大30倍ものパフォーマンス向上が見込めます(ただしこれはネットワークやレコードサイズによります)。また、それに加えて、コードやデータベースを変更する必要は一切ありません。この改善は全て自動的に行われます。
テーブル番号/フィールド番号など、ストラクチャーに関連した情報を取得することができるメソッドが大幅に追加されました。これはORDA をクラシック4D コードにステップ・バイ・ステップ形式で導入する場合などに有効です。しかしながらこれらのメンバーメソッドの主な目的は、データベースのストラクチャーに依存しない、汎用的なコードを書くための手段を提供するためです。 ドキュメントを読む
プレースホルダーを属性パス(テーブル内のフィールド名)に対して使用することもできます。2種類の方法が利用できます: インデックスプレースホルダー – クエリ文字列に:paramIndex(例, ;1、:2、…など。1ずつ増える)として挿入し、そのインデックスに対応する値が、連続した値の引数として渡されます。または:命名プレースホルダー – :paramName として挿入し、その値はクエリ文字列の属性または引数オブジェクトとして渡されます。 ドキュメントを読む
値に対する命名プレースホルダーを使用することで、汎用的なORDA クエリコードを書くのが容易になりました。これらのプレースホルダーはクエリ文字列にオブジェクト引数として提供され、クエリ文字列が実際に評価される際に他の値で置き換えられます。 ドキュメントを読む
4D ランゲージとその他のプログラミング関連機能
メール送信
メールを作成して送信するための新しい方法が追加されました。この新機能は簡単に使用できる上に、4D Internet Commands を使用する旧来の方法と同じぐらい強力と言えます。新しいSMTP New transporter コマンドを使用すると新しいSMTP 接続を設定することができます。メールの作成・送信には以下の3つのステップがあります: SMTP トランスポーターオブジェクトを作成する、メールオブジェクトを作成する、そしてメールを送信する、の3つです。メールオブジェクトには複数のプロパティがあります。一部を紹介すると:from、cc、bc、to、sender、textBody、htmlBody などです。これにこわえて、MAIL New attachment コマンドを使用することで添付を追加することもできます。メールオブジェクトが完成すると、transporter.send() コマンドを使用することで送信することができます。
コマンドはSMTP サーバー(exchange やgmail など)とのクライアント間に接続を作成(確立)します。それに加えて、全ての通信のログを、暗号化されていないプレーンなテキストの形式で取ります。新しいlogFile プロパティが利用可能となり、ここにはSMTP 接続に対して定義されたログファイルのフルパスが格納されています。このファイルは2つの方法(標準版と拡張版)で作成可能です。どちらのバージョンもSET DATABASE PARAMETER コマンドでトリガー可能です。 ドキュメントを読む
MIME ドキュメントを解析し、変更して再送信する ![]()
強力なパーサーを得たことで、MAIL Convert from MIME コマンドは受信したメールまたは4D Write Pro で作成されたMIME ドキュメントをオブジェクトへと変換します。これによってこのオブジェクトを必要に応じてタイトルを変える、送信先を追加する、本文を編集する、添付ファイルを追加するなど、編集・変更をすることができ、そして送信することができます。例えば、4D Write Pro を使用してテキスト内にスタティックなピクチャーがあるHTML メールを作成していて、それを送信する必要がある場合、以下の手順を踏めば送信できます:
- 4D Write Pro ドキュメントをMIME フォーマットで書き出します。
- MAIL Convert from MIME コマンドを使用して、MIME をメールオブジェクトへと変換します。
- SMTP New transporter コマンドを使用してメールを送信します。 ドキュメントを読む
コンパイルモード/組み込みモードにおいてデバッガを有効化 ![]()
プロダクションモードにおいても、4D のデバッガを使用してコードをデバッグすることができます。<!–#4DCODE–> タグに囲われたTRACE コマンドを、PROCESS 4D TAGS コマンドで実行するだけです。 ドキュメントを読む
独自の接続ダイアログをビルドしてサーバーを選択 ![]()
組み込みシングルユーザ用アプリを使用して、組み込みサーバーに対する独自の接続ダイアログをビルドすることができます。 ドキュメントを読む
Form event コマンドの刷新 ![]()
Form event コマンドは分かりやすさのためにForm event code と改名されました。それはオブジェクトを返す新しいFORM Event コマンドが追加されたからです。コードを変更する必要は一切ありません。新しいコマンドは複数の情報を持ったオブジェクトを返します。イベントそのものの情報に加えて、イベントをトリガーしたオブジェクトに関する情報(オブジェクト名やオブジェクトのタイプに応じた追加のデータ)などの情報も返されるようになります。 ドキュメントを読む
ディスク上のファイルやフォルダを変更したり削除したりすることは、より簡単に、そしてより直感的にできるようになりました。新しいFolder コマンドが追加され、これを使用すると定数/POSIX パス/プラットフォームパスなどを使用してフォルダオブジェクトを作成することができるようになりました。フォルダオブジェクトにはプロパティ(例: name、modificationDate、modificationTime)や独自のメソッド(例: create()、moveTo()、rename()、delete())があり、これによってフォルダの作成や編集が可能になります。フォルダ同様、File コマンドが追加され、これを使用してファイルの管理が可能です。新しいファイルオブジェクトはファイルの属性へアクセスしたり属性を変更することを可能とします。ファイルメソッドを使用して、ファイルのコンテンツを読み出したり書き込んだり、あるいはファイルの移動や削除が可能になります。 ドキュメントを読む
Zip コマンド ![]()
外部ライブラリやツールを呼び出すことなく、コードを使用してファイルの圧縮/展開を行うことができるようになりました。新しいZip Create archive コマンドを使用すると、ファイル、フォルダ、または引数付きのオブジェクトを渡すことでZIPアーカイブを作成することができます。展開のためには、アーカイブオブジェクトを返すZIP Read archive コマンドを使用し、返されたオブジェクトからファイルの一覧を取得したり、特定のファイル/アーカイブ全体を取り出したりすることができます。ZIP圧縮されたファイルの使用/作成は新しいファイル/フォルダコマンドとほぼ同じように動くので、コードをシンプルに、読みやすいままに保つことができます。 ドキュメントを読む
Get call chain コマンドが追加され、これによって実行されているコードの情報を取得することが可能になりました。これを使用すると、コード内のどこにいるのかを知ることができ、これは特にあるメソッドが他のメソッドを呼び出したり、あるいは他のメソッドを呼び出すメソッドを呼び出している時などに特に有効です。コマンドはオブジェクトのコレクションを返し、それぞれのオブジェクトが実行ステップをあらわしていて、内部にデータベース、メソッドタイプ、メソッド名、呼び出しラインなどの情報が格納されています。このコマンドは全てのコード実行コンテキストにおいて、つまりインタープリタモードでもコンパイルモードでも使用することができます。 ドキュメントを読む
デバッグログを解析するための新しいツールが利用可能になりました。例えば、どのプロセスがもっとも実行時間を食っているか、あるいはそのプロセスの呼び出しチェーンや対応する実行時間などの、様々な情報を取得可能です。このツールはコード内の衝突を検知するのを助け、結果としてデータベースのパフォーマンスを向上させるのに役立ちます。 ドキュメントを読む
ヘッドレス4D アプリケーション ![]()
4D アプリケーションを、ユーザーインターフェースなしの状態で起動することが可能になりました。これは通称ヘッドレスモードと呼ばれ、CLI (コマンドラインインターフェース)に新しいheadless 引数を渡すことで使用できます。これは全てのアプリケーションタイプ(4D、4D Server、スタンドアロン、リモート、組み込みアプリ)で利用可能です。エラーメッセージや他のダイアログは全て自動的に回収されてログファイルへと送られるため、これらによってサーバーが停止することはありません。 ドキュメントを読む
プリエンプティブモード
スレッドセーフチェックをローカルに無効化する ![]()
これからは、コンパイラにコードがプリエンプティブ対応かどうかのチェックを部分的にスキップするように指示することができます。これは、If または Case of などで囲まれた部分がコオペラティブモードでしか実行されないことが分かっている場合に特に有効です。このスキップを使用するためには、スレッドセーフチェックを除外する部分を特殊な指示子%T- および %T+ をコメント内に記載してコードを囲む必要があります。つまり、//%T- コメントはスレッドセーフチェックを無効化し、//%T+ コメントはチェックを再有効化します。 ドキュメントを読む
プロセスを4D リモートでプリエンプティブに実行することができます。これはつまりリモートマシンにおいてもマルチコアコンピューターの利点を最大限活かしきることができるということです。操作を分割して、利用可能なコアに分散して同時に実行することで、実行時間をより早めることができます。 ドキュメントを読む
新しくスレッドセーフとなったコマンドを使用することで、あなたのアプリケーションはマルチコアコンピューターの利点をより活かすことができるようになります。結果として、同時多発的なリクエストに対してより早くレスポンスを返すことができるようになります。
新しくスレッドセーフとなったコマンドは以下の通りです: COMPRESS BLOB, EXPAND BLOB, BLOB PROPERTIES, ENCRYPT BLOB, DECRYPT BLOB,GENERATE ENCRYPTION KEYPAIR, GENERATE CERTIFICATE REQUEST, RECEIVE BUFFER, SET DEFAULT CENTURY, GET DOCUMENT ICON, TRANSFORM PICTURE, SVG EXPORT TO PICTURE, Get localized document path, Get database localization, LOCKED BY, LOG EVENT, Current client authentication, GET MEMORY STATISTICS. ドキュメントを読む
内部データベースで使用されるBegin SQL、End SQL、およびそれに関連するSQL 宣言は今後プリエンプティブ対応となりました。これらのコマンドが非同期のアクティビティをするために使用されている場合、これからは全てのリクエストを平行に開始し、アプリケーションのスピードを向上させることができます。 ドキュメントを読む
New signal コマンドを使用することで、例えば、プリエンプティブ非対応のコマンドを使用するためにコオペラティブなプロセスに処理を委託することができます。このコマンドは共有オブジェクトを作成し、カレントプロセスの進行を、二つの新しいメソッド(trigger() および wait())で管理できるようにします。 ドキュメントを読む
サブフォーム上でonResize イベントを呼び出し ![]()
フォームに一つ以上のサブフォームが含まれる場合、on resize イベントをサブフォームメソッド内で直接管理することができます。このイベントはサブフォームオブジェクトのサイズがメインフォーム内で変更されるたびにトリガーされます。これは以下のような時に発生し得ます:
- メインフォームがリサイズされたとき
- スプリッターがサブフォームオブジェクトの高さ/幅を変更したとき
- サブフォームオブジェクトのサイズがをOBJECT Set coordinates 使用してプログラミングによって変更された時 ドキュメントを読む
新しいバリアント型変数 ![]()
指定された変数をバリアント型変数へとキャストする新しいコマンドが利用できるようになりました。C_VARIANT です。バリアントデータ型は、配列を除くその他の全てのデータタイプ(BLOB、ブール、コレクション、日付、倍長整数、オブジェクト、ピクチャー、ポインター、実数、テキスト、時間、Null、未定義)を表すのに使用することができます。Type コマンドを使用すると変数のタイプが取得でき、Value type コマンドを使用すると値のタイプが取得できます。バリアント型を使用すると、テキスト型またはBLOB型の引数を、ポインターを使用してラップすることなく受け取ることができるメソッドのような、汎用的なコードを書くことができるようになります。 ドキュメントを読む
SQL エンジンはアップデートされ、4D オブジェクト型フィールドを読み込めるようになりましたオブジェクトフィールドの中身を見るために、SQL のCAST ファンクションはフィールドのJSON 表現形式を返すことができるように拡張されました。 ドキュメントを読む
4D の製品は、自動テストや配布のために、コマンドラインの引数を使用して起動することが既に可能です。これに加えて、データベースを開く際により一層の柔軟性を提供するために、以下の新しい変数が追加されました:
–opening-mode: データベースの開くモードをinterpreted または compiled かで定義します。
–create-data: カレントのデータファイルが見つからない場合、新しいデータを作成することを許可します。–data が渡されていた場合、それで指定された名前を使用します。
–user-param: データベースが起動した後に、GET DATABASE PARAMETER コマンドを使用して読み出し可能な文字列を送ります。 ドキュメントを読む
カレントの4D ユーザーアカウント名の代わりに使用するカスタムの名前を定義するための新しいコマンドが追加されました。SET USER ALIAS です。このコマンドは文字列を引数として受け取ります。この文字列(エイリアス)は4D 環境内において4D ユーザー名を置き換えます。エイリアスを使用することで独自のユーザー/パスワードシステムを使用したり、あるいはActive Directory/LDDAP などの外部ユーザーディレクトリを使用したりしながらも、4D のビルトインされたユーザー識別コンセプトを利用することができます。 ドキュメントを読む
クラシック4D フォームをダイナミックフォームへと書き出しする
新しいFORM Convert to dynamic コマンドを使用すると、クラシックな(.4db ファイルに保存されている)4D フォームをダイナミックフォームへと書き出すことができます。フォーム名を渡すと、そのフォームを記述したオブジェクトを返します。その後必要に応じて、フォントサイズやスクリーン上のオブジェクトの位置など、フォームのオプションを変更したり、またはさらなるフォームオブジェクトを追加した上で表示することができるようになります。ドキュメントを読む
SET DATABASE PARAMETER コマンドは改善されたことで、特定のプロセス、あるいは特定のメンバーメソッド(コレクションまたはオブジェクトメソッド)の呼び出しだけのログを取ることができるようになりました。新しいセレクター(Current process debug log recording)が追加され、これを使用するとカレントプロセスにおいてデバッグログを起動します。 ドキュメントを読む
Z順とは必ずしも一致しない入力順を定義することができるようになりました。フォーム定義の各ページにおいて、”objects”属性にはZ順に並べられたフォーム要素の一覧が格納されています。このリストに、新しい属性が追加されました。”entryOrder”属性です。これを使用することで独自にカスタマイズされた入力順を指定することができるようになりました。この属性が未定義の場合、4D はZ順(つまり“objects” 属性で定義された順番)を使用します。 ドキュメントを読む
同じコンピューター上で複数のクライアントを実行し、同じ4D Server へと同時に接続する、ということが可能になりました。それぞれのクライアント接続に対して、接続のIP アドレス、ポート、ハッシュコードを格納した個別のキャッシュフォルダが用意されます。この機能を利用して、同じコンピューター上で複数のクライアントをそれぞれ異なるマシンにある複数のサーバーへと接続することも可能になりました。特別な設定は何も要りません。 ドキュメントを読む
New formula コマンドは拡張され、フォーミュラをオブジェクトとして作成できるようになりました。引数を渡したり、フォーミュラオブジェクトのコンテンツにアクセスすることができます。オブジェクトのフォーミュラはメソッドに渡されたオブジェクト属性に対して計算を実行することができます。つまりオブジェクトは独自のコールバックメソッド/エラーハンドリングメソッドを持つことができるようになりました。もしあなたがORDAを使用している、またはクラシックなセレクションベースなコーディングをしている場合、オブジェクトはあなたにとって強力な武器となったと言えます。 ドキュメントを読む
4D のコメントブロック![]()
コメントは単一行のコメント、または複数行のコメントを作成することができます。これに加えて、// で始まるたくさんの行を持つ代わりに、コメントの始まりで /* を使用し、コメントの終わりに */ を使用することでブロック全体をコメントアウトできるようになりました。このコメントは折りたたみ/展開をすることもできます。また、コメントは行のどの部分にも追加可能で、例えばif 条件節やループ内部にも書くことが可能です。 ドキュメントを読む
SVG “non-scaling-stroke” 属性のサポート![]()
SVG 規格において、“non-scaling-stroke” 属性はストロークがズーム/縮小に依存しないということを表します。言い換えると、オブジェクトの線は変換やズームなどの影響を受けないということです。これについて、”4D SVG” テーマには新しいコマンドが追加されました。SVG_SET_STROKE_VECTOR_EFFECT メソッドを使用することで、オブジェクトの描画の際に“non-scaling-stroke” 属性を定義することができるようになりました。 ドキュメントを読む
4D Server 管理コマンド
サーバー、クライアント、あるいはHTML ページのWeb アクセスに対して、独自の管理画面を作成できるようにするためのコマンドの一覧 が完成しました。
- SEND MESSAGE TO REMOTE USER はサーバーからリモートのユーザーに対してメッセージを送信します。
- Get process activity は全ユーザーセッションの一覧を取得します。
- DROP REMOTE USER はユーザーセッションを終了させます。
- ABORT PROCESS BY ID はユニークなプロセス番号を使用することで、特定のプロセスを終了させます。
- Get process activity または Process properties はユニークなプロセス番号を取得します。
- REJECT NEW REMOTE CONNECTION は、新規のリモート接続を拒否します。
- Get application info は接続が受け入れられたか拒否されたかの情報を提供します。
- SOAP REJECT NEW REQUESTS はSOAP リクエストをブロックします。
- WEB Get server info は接続が受け入れられたか拒否されたかの情報を提供します。
- Refresh license はライセンスを更新します。 ドキュメントを読む
Web プロセスで使用されるURL に関する新しい情報が利用可能になりました。この情報は2つの方法で取得することができます。4D Server 管理画面を使用するか、4D ランゲージのGet process activity コマンドを使用するかです。プロセスタイプがWeb プロセスの場合、新しい”url” 属性がプロセスオブジェクトに追加されています。 ドキュメントを読む
新しいGet application info コマンドを使用すると、アクティブなデータベースのアクティビティとネットワーク設定に関する詳細な情報を取得することができます。このコマンドはリモートクライアントと4D Server のどちらからでも呼び出すことが可能です。 ドキュメントを読む
クイックレポート
- qr cmd open
- qr cmd save
- qr cmd save as
- qr cmd generate
- qr cmd page setup
- qr cmd print preview
コールバックメソッドでは、全ての管理されたイベントを受け取ることができ、必要な処理を行い、QR EXECUTE COMMAND コマンドでイベントを実行します。 ドキュメントを読む
各ブレーク行(小計)に対して、ページブレークまたは異なる行高を設定することができます。異なる行高の場合、その差異はポイント(pt)またはパーセント(%)で指定することができます。 ドキュメントを読む
罫線の管理 ![]()
レポート内のセル、カラム、行の罫線を、線のカラー、線の太さを変更することで見た目を変更することができます。これをするためには、マウスを設定変更したい要素の上にホバーさせることでボタンを表示させ、クリックしてポップアップを表示させ、そのあとは適切なパラメーター(罫線の設定、線の太さ、カラー)を選択するだけです。 ドキュメントを読む
最初の改善は、”保存/別名で保存”ボタンです。”保存”を選択すると、最後に保存されたバージョンを画面上に表示されているバージョンで上書きすることで保存します。”別名で保存”を選択すると、ファイルを別の名前で保存するための画面が表示されます。二つ目の改善はツールTips(エリア上にホバーした際に表示される小さなメッセージ)です。これらは小計行に追加され、それによってソートの方向(昇順/降順)を容易に見て取ることができます。 ドキュメントを読む
ドキュメント作成のプロセスを手助けするための、新しいツールバーが4D Write Pro に追加されました。オブジェクトライブラリーからシンプルに新しいアイテムをドラッグ&ドロップするだけで、7つの異なるタブを持った完全なツールバーへとアクセスすることができ、これによってアクションを素早く切り替えることができます。 ドキュメントを読む
4D Write Pro スタイルシート![]()
スタイルシートを作成、削除、読み込むための新しいコマンドが追加されたことで、段落または文字向けの独自のスタイルシートを管理することができるようになりました。文字スタイルシートは文字(または単語が)どのように表示または印刷されるかを定義するためのもので、段落スタイルシートはマージンカラー、パッディング、タブ、境界線、などを定義するためのものです。スタイルシートとはドキュメントに属しているオブジェクトです。これはWP New style sheet コマンドで作成することができます。作成したあと、WP Set attributes に対してオブジェクト型を引数として使用することができます。以下はスタイルシートの管理を手助けするための新しいコマンドの一覧です:
- WP New style sheet: スタイルシートを作成します。
- WP DELETE STYLE SHEET: スタイルシートを削除します。
- WP Get style sheet: 名前を使用して単一のスタイルシートを取得します。
- WP Get style sheets: 指定されたタイプのスタイルシートを格納したコレクションを返します。
- WP IMPORT STYLE SHEETS: 他の4D Write Pro ドキュメントで(例えばテンプレートとして)作成された既存のスタイルシートを読み込みます。
4D Write Pro ドキュメントは.docx フォーマットへと書き出すことができます。これをするためには、既存のWP EXPORT DOCUMENT コマンドに新しいwk docx 定数を渡すか、あるいはWP EXPORT VARIABLE コマンドを使用します。 ドキュメントを読む
カラム幅をリサイズする ![]()
新しく追加された機能が、エンドユーザーがカラムの幅をリサイズできるというものです。これをするためには行セパレーター上をホバーします。するとマウスポインターが二重矢印に変化し、カラムがリサイズ可能であることを表します。これらのセパレーターをクリックしてドラッグすると、左と右のカラムカラム幅もリサイズされます。Shift キーが押しながらドラッグすると、左側のカラムだけがリサイズしていき、右側のカラムは移動していきます。 ドキュメントを読む
行とカラムを追加/削除する ![]()
新しいコマンドによって、行とカラムの挿入/削除が可能になりました。行とカラムを挿入するために、新しいコマンドが追加されました: WP Table insert rows および WP Table insert columns です。どちらのコマンドも表内部に作成されたパーツに対応するレンジを返します。そして行とカラムを削除するために、こちらも二つのコマンドが追加されました: WP TABLE DELETE ROWS および WP TABLE DELETE COLUMNS です。 ドキュメントを読む
ヘッダーとフッターで固定された高さを使用 ![]()
新しいドキュメント属性: wk header and footer autofit が追加されました。これによってヘッダーとフッターがコンテンツを切り落とさないように自動的にリサイズされるべきかどうかを定義することができます。この属性はTrue または False に設定ができます。新規に作成されたドキュメントの場合、このパラメーターはTrue (ヘッダーとフッターの自動リサイズは有効かされている)に設定されており、4D Write Pro ドキュメントを読み込んだ場合には、False に設定されています。 ドキュメントを読む
二つの新しいコマンドが追加されました: WP New header および WP New footer です。これらを使用することでヘッダーとフッターをプログラミングで作成することができるようになります。またWP DELETE HEADER および WP DELETE FOOTER コマンドを使用することで、ヘッダーとフッターをコードを使用して削除することができます。 ドキュメントを読む
ページサイズ、ページの向き、マージンをコードで定義することができるようになりました。WP SET ATTRIBUTES および WP GET ATTRIBUTES コマンドに、必要に応じて使用できる新しい属性が追加されました。4D Write Pro ドキュメント全体に対してプロパティを設定することができます。ドキュメント内の全てのセクションにおいて、以下の値がデフォルトで使用されていますが、この値は特定のセクションにおいて変更することも可能です:
- wk page width, wk page height – ページサイズの定義に使用
- wk page orientation – ページの向きの定義に使用
- wk page margin, wk page margin left, wk page margin right, wk page margin top, wk page margin bottom – ページのマージンの定義に使用 ドキュメントを読む
4D Write Pro に、段落または表のウィドウとオルファン、それから段落または表内の改ページを避けるための新しいオプションが追加されました。
ウィドウとオルファンとは、段落の最初または最後の行が、ページの下部または上部に1行だけ取り残されてしまう状態を言います。これらを避けるため、WP SET ATTRIBUTES コマンドで使用できる新しい属性が追加されました: wk avoid widows and orphans です。この属性で使用可能な値はwk true または wk false です。この属性が段落または表に対して設定されている場合、4D Write Pro はその段落または表が1行だけ他のページに取り残されてしまうことを避けます。
段落または表内の改ページについては、新しい属性が追加されました: wk page break inside です。使用可能な値はwk avoid またはwk auto です。このオプションは段落、複数の段落、または表が二つのページに分割されて欲しくない時に有用です。 ドキュメントを読む
セクションは、同じドキュメント内において異なるレイアウトを取得します。例えば、各セクションに対して、異なる用紙サイズ、容姿の向き、異なるマージン、異なるヘッダーとフッターなどを設定することが可能です。これを使用すると複雑かつ美しくデザインされたドキュメントを完成させることができます。セクションはWP Get sections コマンドを使用することでコードで編集可能で、これによってドキュメント内のセクションのコレクションを取得することが可能です。WP Get section コマンドはまた、カレントセクションを取得するために使用することもできます。特定のセクションに対して属性を変更したい場合、セクションの参照をWP SET ATTRIBUTES および WP GET ATTRIBUTES コマンドに渡します。WP Create subsection コマンドを使用することで、コードでサブセクションを作成することもできます。 ドキュメントを読む
大型の表は、自動的に複数のページに表示されます。行を数えてページのサイズと向きに合致するかどうかをチェックする必要はありません。表はページブレーク/カラムブレークが発生すると動的に分割されるからです。WP INSERT BREAK コマンドは改善されて新しいwk paragraph break 定数をサポートするようになりました。 ドキュメントを読む
新しいwk image expression 属性を使用することで、有効な4D 式をアンカーされた画像へと割り当てることができ、これによってより柔軟にドキュメントを作成できます。アンカーされた画像であればこの定数を設定するだけで、ピクチャーを返すメソッドを割り当てることができます。 ドキュメントを読む
4D Write Pro ドキュメント内で座標を取得することができるようになりました。WP Get position コマンドはレンジまたは要素参照のカレントの位置に関する情報を、二つの新しい属性として返すようになりました: bounds および rangeHeight です。最初の属性はタイプ(“default type” (文字)、 “paragraph type”、“table type” または “picture type”)に応じてレンジを囲っている四角形を表します。これは独自の属性も持っています: top, bottom, left, および right です。二つ目の属性はオブジェクトの境界線の四角形の高さを表します。 ドキュメントを読む
4D Write Pro ドキュメントに挿入されたテーブルとフィールドの式は、データベースのバーチャルストラクチャー定義をサポートします。これはSET TABLE TITLES(…;*) および SET FIELD TITLES(…;*) コマンドを使用することで定義可能です。フォーミュラエディターもバーチャルストラクチャーをサポートし、また4D はシステム設定に基づいて自動的にユーザーインターフェースを設定するので、フォーミュラエディターはユーザーの言語に基づいて表示されます。 ドキュメントを読む
WP SET LINK コマンドを使用すると、URL を設定することができるだけでなく、4D アプリケーションのメソッドを(引数付きで)呼び出したり、ドキュメントのブックマークにターゲットを向けたりすることができます。新しいWP Get links コマンドは1回呼び出すだけでドキュメント内にある全てのリンクをコレクションとして返します。コレクション内の各リンクはオブジェクトとなっており、そのオブジェクト内部の属性にリンクに関する詳細が格納されています。 ドキュメントを読む
ビュープロパティはプログラミングで管理することができます。コマンドを使用すると、4D Write Pro エリアの1つまたは複数のビュープロパティを動的に設定することができます。この設定は、WP Get view properties コマンドを使用することで全てのビュープロパティを格納したオブジェクトとして受け取ることができます。 ドキュメントを読む
タブは、文字列のコレクション、数値のコレクション、そしてオブジェクトのコレクションを使用して設定することができます。デフォルトのタブ値だけを変更したい場合、オブジェクトを新しいwk tab default 定数と一緒に使用してください(この定数はこの目的のためだけに追加されました)。 ドキュメントを読む
以下に挙げられたコマンドは、第一引数としてどんなターゲットも受け付けるように拡張されました。もちろん引き続きレンジを使用することもできますが、ターゲットとして参照(ヘッダー、本文、フッター)、要素(ピクチャー、段落)、あるいはドキュメント全体を使用することもできます:
- WP SET TEXT
- WP INSERT BREAK
- WP INSERT DOCUMENT
- WP INSERT PICTURE
- WP Insert table
- WP SET ATTRIBUTES
- WP GET ATTRIBUTES
また、複数のコマンドが名称を変更しました:
| 以前の名前 | 新しい名前 |
| WP Create Paragraph range | WP Paragraph range |
| WP Create Picture range | WP Picture range |
| WP Create range | WP Text range |
| WP Create Table range | WP Table range |
| WP Get bookmark range | WP Bookmark range |
| WP Get selection | WP Selection range |
4D View Pro を使用して .xlsx ドキュメントを扱う
既存の4D View Pro コマンドであるVP IMPORT DOCUMENT および VP EXPORT DOCUMENT は改善されました。これらは.xlsx 拡張子()を使用するファイルをサポートするようになりました。これらのコマンドに.xlsx ファイルのパスを渡すだけで、通常のファイルと同じように使用・実行することが可能です。 ドキュメントを読む
4D View Pro のユーザーインターフェースを強化する、強力な、リボンスタイルのツールバーが提供されました。これを使用することで4D View Pro の機能をタブのセットへと分解し、機能をより見つけやすくすることで、異なるコマンドへの速やかなアクセスが可能になります。また、このツールバーではPDF / CSV 書き出しオプションという新機能が導入されていることも見逃せないポイントでしょう。 ドキュメントを読む
エンドユーザーが利用可能な(あるいは利用不可能な)データをより細かく選択できるようになったことで、データベースのセキュリティが向上しました。また、どのフィールド/メソッドにアクセスできるかも指定できるようになります。
コマンドや変数は、セキュリティ上の理由から直接セルから呼び出すことはできませんが、コマンドの値/変数の値を返す、許可されたメソッドを通してであればアクセス可能です。メソッドはSET ALLOWED METHODS コマンドで許可することができ、テーブルまたはフィールドはSET TABLE TITLES および SET FIELD TITLES コマンドを使用することでバーチャルストラクチャーとして宣言可能です。変数と4D コマンドは、許可されたメソッドに含まれている必要があります。 ドキュメントを読む
VP SET ALLOWED METHODS コマンドは新しいコマンドで、4D メソッドの引数、名前、タイプを指定し、そして概要を含めることができます。これにより、エンドユーザーに対して、メソッドの情報と詳細をよりたくさん渡すことができます。 ドキュメントを読む
印刷とPDF 書き出し ![]()
これからは、VP SET PRINT INFO コマンドを使用することで、それぞれのシートに対して特定のオプションを定義することができるようになります。このオプションは、PDF 書き出しまたは印刷の前に、ドキュメントの準備をするために使用されるものです。ドキュメントをPDF フォーマットに書き出すためには、VP EXPORT DOCUMENT コマンドを使用します。VP SET PRINT INFO での情報は、生成されるPDF ファイルにドキュメントで使用されている全てのフォントを自動的に埋め込むために使用されます。印刷のためには、VP PRINT コマンドを使用してください。 ドキュメントを読む
SVG への変換 ![]()
VP Convert to picture コマンドを使用すると、シート、またはシートの一部をSVG へと変換することができます。このSVG は4D フォーム内で他のフォームやデータとともに、4D 印刷ジョブの一部として印刷することができます。 ドキュメントを読む
プロパティリストに新しいイベントの追加 ![]()
新しい4D View Pro フォームイベントが多数追加され、プロパティリストにすでに含まれています。これらのイベントは、Form Event コマンドを通してアクセス可能な、特定の情報を返します。追加されたイベントは次の通りです: “On Column Resize”、“On Row Resize”、“On Clicked”、“On Double Clicked”、“On Header Click”、“On Selection Change”、そして“On After Edit” です。イベントが発生すると、FORM Event コマンドで返されたオブジェクトに格納されている、関連する情報を全て取得することができます。 ドキュメントを読む
コードでレンジを作成することが可能になりました。レンジオブジェクトを定義してセルを操作することを可能にするために新しいコマンドが追加されました: VP Cell、VP Cells、VP Column、VP Row、VP All、VP Combine ranges 、そして VP Name です。 ドキュメントを読む
ドキュメント内のセルの値を設定 / 取得するためのコマンドが新たに複数追加されました: VP SET VALUE、VP SET BOOLEAN VALUE、VP SET DATE TIME VALUE、VP SET DATE VALUE、VP SET TIME VALUE、VP SET NUM VALUE、VP SET TEXT VALUE、VP SET FORMULA、VP SET FIELD、VP Get value、VP Get formula などです。 ドキュメントを読む
新しい概念が導入されました: 命名レンジと命名フォーミュラです。この二つの命名を、プログラミングで作成できます:
1つめの命名はセルレンジの命名で、VP ADD RANGE NAME コマンドを使用することで、挿入したセルに対して可読性のある名前をコードで適用することができます。
2つめの命名はフォーミュラの命名で、VP ADD FORMULA NAME コマンドを使用することでスプレッドシート内の計算を可読性のある名前で置き換えることができます。またこのコマンドは定数も作成するので、スプレッドシート内での計算がより容易になります。ドキュメントを読む
ドキュメント内でのアクティブなセルまたは選択範囲を設定 / 取得するために、複数のコマンドが追加されました:
- VP Get active cell
- VP Get selection
- VP SET ACTIVE CELL
- VP SET SELECTION
- VP ADD SELECTION
- VP RESET SELECTION
また、4D View Pro エリア内の特定の位置(例: 左上端、右下端など)にあるセルを読みたい場合、VP SHOW CELL コマンドを使用してください。 ドキュメントを読む
新しく追加された4つのコマンドを使用することで、大量の異なる値/フォーミュラを読み出すことが、より簡単に、より高速に、そしてコレクションを使用してできるようになりました: VP SET VALUES、VP Get values、VP SET FORMULAS、およびVP Get formulasの4つです。セルに値またはフォーミュラを設定するためには、各要素が行を表すコレクションを作成してください。各行がカラム内に設定したいセル値のコレクションを表します。読み出しには、VP Get values コマンドにセルのレンジを渡してください。このコマンドは値をコレクションに入れて返します。 ドキュメントを読む
スタイルのカスタマイズ![]()
4D View Pro ドキュメントのスタイルを、プログラミングでカスタマイズできるようになりました。適応させたい範囲に応じて、3つの異なるオプションが利用できます:
- シートの一般的なスタイルを定義するためには、デフォルトスタイルコマンドであるVP SET DEFAULT STYLE および VP Get default style コマンドを使用します。
- 頻繁に使用するカスタムのスタイルシートを定義するためには、スタイルシートコマンドであるVP ADD STYLESHEET、VP REMOVE STYLESHEET、VP Get stylesheet、およびVP Get stylesheets コマンドを使用します。
- 特定のセルのスタイルを定義するためには、セルスタイルコマンドであるVP SET CELL STYLE および VP Get cell style コマンドを使用します。
また、新しく追加されたVP SET BORDER コマンドを使用することによって、特定のレンジの罫線を管理することができます。 ドキュメントを読む
R-リリースごとの詳細はこちら