投稿者 okigaru | 2012/06/20

ふりがな自動入力の罠

FileMakerには「ふりがな」の自動入力という機能がありますが

「○○商店」や「○○商事」や「○○商会」や「○○医院」や「○○病院」は

○○に人名(名字)が入ると「ふりがな」がクリアされる

ことえりユーザー辞書に登録するとふりがなは表示されます

Win版では大丈夫らしいデス

「○○ 商店」スペース等を入れるとふりがなは表示されるので

スクリプトを作ってみた

注意するのは「有限会社 ○○商会」「○○商事 株式会社」

# スクリプト名は「ふりがなじゃん」
# Customer_Master::kana は、ふりがな 自動入力されるフィールド
# Customer_Master::Customer_name は、法人名を入力するフィールド
ブラウズモードに切り替え
# 念のため確定させる
レコード/検索条件確定 [ ダイアログなし ]
# 現在の値を変数にする
変数を設定 [ $furi ; 値:Trim ( Customer_Master::kana ) ]
変数を設定 [ $furi1 ; 値:Trim ( Customer_Master::Customer_name ) ]
# 手動で”^”や”^”を入れても動く
If [ PatternCount ( $furi1 ; “^” ) and PatternCount ( $furi ; “^” ) or PatternCount ( $furi1 ; “^” ) and PatternCount ( $furi ; “^” ) ]
フィールド設定 [ Customer_Master::Customer_name ; Trim ( Substitute ( $furi1 ; [ “^” ; “” ] ; [ “^” ; “” ] ) ) ]
フィールド設定 [ Customer_Master::kana ; Trim ( Substitute ( $furi ; [ “^” ; “” ] ; [ “^” ; “” ] ) ) ]
#「かぶしきがいしゃ」と「ゆうげんがいしゃ」を消す
If [ PatternCount ( $furi ; “かぶしきがいしゃ” ) or PatternCount ( $furi ; “ゆうげんがいしゃ” ) ]
フィールド設定 [ Customer_Master::kana ; Trim ( Substitute ( Customer_Master::kana ; [ “かぶしきがいしゃ” ; “” ] ; [ “ゆうげんがいしゃ” ; “” ] ) ) ]
End If
Else
# ふりがな 未入力だったら
If [ IsEmpty ( $furi ) ]
# 前に株式会社か有限会社の場合
If [ (Left ( $furi1 ; 5 ) = “株式会社 ” ) or ( Left ( $furi1 ; 5 ) = “有限会社 ” ) or ( Left ( $furi1 ; 5 ) = “株式会社 ” ) or ( Left ( $furi1 ; 5 ) = “有限会社 ” ) ]
フィールド設定 [ Customer_Master::Customer_name ; Left ( LeftWords ( $furi1 ; 2 ) ; Length ( LeftWords ( $furi1 ; 2 ) ) -2 ) & “^” & Middle ( $furi1 ; Length ( LeftWords ( $furi1 ; 2 ) ) -1 ; 99 ) ]
# 後に株式会社か有限会社の場合
Else If [ ( Right ( $furi1 ; 5 ) = ” 株式会社” ) or ( Right ( $furi1 ; 5 ) = ” 有限会社” ) or ( Right ( $furi1 ; 5 ) = ” 株式会社” ) or ( Right ( $furi1 ; 5 ) = ” 有限会社” ) ]
フィールド設定 [ Customer_Master::Customer_name ; Left ( LeftWords ( $furi1 ; 1 ) ; Length ( LeftWords ( $furi1 ; 1 ) ) -2 ) & “^” & Middle ( $furi1 ; Length ( LeftWords ( $furi1 ; 1 ) ) -1 ; 99 ) ]
Else
フィールド設定 [ Customer_Master::Customer_name ; Left ( $furi1 ; ( Length ( $furi1 ) -2 ) ) & “^” & Right ( $furi1 ; 2 ) ]
End If
# ” ” スペースを入れて法人名を再評価させる
計算結果を挿入 [ Customer_Master::Customer_name ; Customer_Master::Customer_name & ” ” ]
# フィールドから抜けると法人名の再評価でふりがなが自動入力される
フィールドへ移動 [ ]
# もう一度このスクリプトを実行させる
スクリプト実行 [ 「ふりがなじゃん」 ]
End If
End If
フィールドへ移動 [ ]

突っ込みどころ満載ですのでコメントして下さい

広告

カテゴリー

%d人のブロガーが「いいね」をつけました。