PowerTools SPREAD for Windows Forms 10.0J
和暦年号の取得と設定

日付時刻型セルGcDateTime型セルにおける和暦表示の設定について解説します。

アプリケーション構成ファイル

日付時刻型セルおよびGcDateTime型セルで使用する和暦表示における年号は、アプリケーション構成ファイルにより独自に定義することができます。アプリケーション構成ファイルで年号を定義した場合、日付時刻型セルおよびGcDateTiime型セルでは定義されている年号の設定が優先されます。また、定義した構成ファイルは、アプリケーションに含めて配布することができます。さらに、エンドユーザーもこの構成ファイルを変更することが可能で、アプリケーションを配布した後でも自由に設定を変更することができます。製品内で和暦を使用する際は「アプリケーション構成ファイル」を使用して和暦を定義する方法をお勧めします。

構成ファイルの詳細については、MSDNの「アプリケーション構成ファイル」を参照してください。

構成ファイルの作成

アプリケーション構成ファイルは、配布するアプリケーションと同じフォルダに配置されます。構成ファイルは、アプリケーション名に拡張子 .config を付けた名前になります。たとえば、myApp.exe という名前のアプリケーションがある場合、構成ファイルは myApp.exe.config という名前になります。構成ファイルは以下の手順で作成することができます。

  1. Visual Studioを起動し、対象となるプロジェクトを開きます。
  2. [ファイル]メニューまたは[プロジェクト]メニューから[新しい項目の追加]を選択します。
  3. [新しい項目の追加]ダイアログが表示されるので、その[テンプレート:]から「アプリケーション構成ファイル」を選択し〈OK〉ボタンをクリックします。
年号を設定する

年号を設定する構成ファイルは、構成セクションスキーマで構成されます。構成セクションスキーマの詳細についてはMSDNの「構成セクションスキーマ 」を参照してください。

アプリケーション構成ファイルに以下の要素が記述されない場合、コントロールに表示される年号は既定の値が表示されます。

要素 説明
<configuration> アプリケーションで使用されるすべての構成ファイルのルート要素です。
<configSections> 構成セクションと名前空間の宣言を指定します。
<section> 構成セクションの宣言を指定します。
<GrapeCityEra> <add>要素が含まれています。
<add> 年号の名前、開始日およびショートカットを指定します。下記参照。

add要素の属性

属性 説明
key

年号の開始日です。年月日を前ゼロを付けて半角スペース区切りで設定します。

value

以下の設定をアンダーバー区切りで設定します。

・年号の正式名称。ex)明治,大正,昭和,平成

・年号の日本語略称。ex)明,大,昭,平

・年号のアルファベット略称。ex)M,T,S,H

・入力時のショートカットキー

(数字、アルファベットを設定します。複数のキーワードはカンマ区切りで設定します。)

以下に、年号の設定例を示します。

コード
コードのコピー
<?xml version="1.0" encoding="utf-8" ?>
   <configuration>
     <configSections>
       <section name="GrapeCityEra" type="System.Configuration.NameValueSectionHandler"/>
     </configSections>
     <GrapeCityEra>
       <add key="1868 09 08" value="明治_明_M_1,M"/>
       <add key="1912 07 30" value="大正_大_T_2,T"/>
       <add key="1926 12 25" value="昭和_昭_S_3,S"/>
       <add key="1989 01 08" value="平成_平_H_4,H"/>
     </GrapeCityEra>
   </configuration>
  • ファイルに保存する際は、エンコーディング形式に注意してください。シフト JIS 形式の場合、encoding="utf-8" を encoding="Shift_Jis" に書き換えます。
  • 構成ファイルが正しく設定されていないとアプリケーション実行時に例外が発生します。
  • 日付型が定義されているデータソースと連結した場合、.NET Frameworkに存在しない元号を含む日付を以下のような方法で設定することはできません。
    • SetValueで元号を含む日付文字列を設定した場合
    • 日付型セルでSimpleEditプロパティを有効にしている場合
    • SPREAD上に存在する元号を含む日付文字列を非編集状態でコピー&ペーストした場合(日付型同士のコピー&ペーストは可能)
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.