初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-05-06 16:14:39

クネ〜ル
Member

選択部分をボタンで文字色変更

FM10です。

フィールド内の一部のテキストをマウスで選択した後、スクリプトの入ったボタンを押すとそのテキストを指定した色に変更したいです。

ネットで下記情報を仕入れました。

画面上にテキストボックスが複数あるという前提で説明します。
まず、画面に配置したテキストボックスにはそれぞれ名前を付けておいてください。
名前は、インスペクタパネルの[位置]タブの[名前]欄に入力します。

(1) 目的のテキストボックスがアクティブかどうかを検査します。
  目的外のテキストボックスが文字選択されている可能性を
  排除するためです。
  判定は Get ( アクティブフィールド名 ) を使って判定します。

(2) 文字列選択が行われているかどうかを検査します。
  目的のテキストボックスがアクティブでも、選択がない場合
  もあるのでその可能性を排除します。
  判定は Get ( アクティブ選択サイズ ) を使って判定します。

(3) 文字列の選択範囲がどこからどこまでなのかを求めます。
  開始位置は、Get ( アクティブ選択位置 )
  選択された文字数は Get ( アクティブ選択サイズ )
  でわかります。

(4) フィールドの文字列を次のように分解します。
  Str_A : 文字選択よりも前の文字列。
  Str_B : 文字選択されている部分。
  Str_C : 文字選択よりも後ろの文字列。
  文字列の分解には、Middle ( ) を使います。

(5) 分解した3つの文字列を再連結して、元のフィールドに
  書き込みます。
  そのとき、Bの文字列には文字修飾を加えます。
  文字修飾には TextColor ( ) を使います。
  連結する式は、
  Str_A & TextColor ( Str_B ; RGB ( 255 ; 0 ; 0 ) ) & Str_C
  のようになります。(赤い色をつける場合)

(4), (5) は Replace ( ) 関数でも同じことができます。

なんとなくやりたいことは理解できるのですが、
如何せんこの情報からどのようにスクリプトを組んだらよいかが
サッパリ分かりません。

よろしくご指導くださいませ。

Offline

#2 2017-05-06 17:37:53

Re: 選択部分をボタンで文字色変更

そのネットの情報とは若干異なりますが、以下のようにするといいかもしれません。

変数を設定 [ $Text ; 値: Get ( アクティブフィールド内容 ) ] 
変数を設定 [ $選択サイズ ; 値: Get ( アクティブ選択サイズ ) ] 
変数を設定 [ $開始位置 ; 値: Get ( アクティブ選択位置 ) ] 
If [ IsEmpty ( $Text ) or $選択サイズ = 0 or IsEmpty ( $開始位置 ) ] 
	現在のスクリプト終了 [ テキスト結果: False ] 
End If
変数を設定 [ $A ; 値: Middle ( $Text ; 1 ; $開始位置 - 1 ) ] 
変数を設定 [ $B ; 値: Middle ( $Text ; $開始位置 ; $選択サイズ ) ] 
変数を設定 [ $C ; 値: Middle ( $Text ; $開始位置 + $選択サイズ ; Length ( $Text ) ) ] 
フィールド設定 [ $A & TextColor ( $B ; RGB ( 255 ; 0 ; 0 ) ) & $C ] 
選択範囲を設定 [ 開始位置: $開始位置 ; 終了位置: $開始位置 + $選択サイズ - 1 ] 

Last edited by 通りすがりさん (2017-05-06 18:42:38)


通りすがりさんです。

Offline

#3 2017-05-06 17:59:05

Re: 選択部分をボタンで文字色変更

Replace 関数 の場合はこんな感じかな・・・

https://www.youtube.com/watch?v=_W1hjZlSPic

変数を設定 [ $Text ; 値: Get ( アクティブフィールド内容 ) ] 
変数を設定 [ $選択サイズ ; 値: Get ( アクティブ選択サイズ ) ] 
変数を設定 [ $開始位置 ; 値: Get ( アクティブ選択位置 ) ] 
If [ IsEmpty ( $Text ) or $選択サイズ = 0 or IsEmpty ( $開始位置 ) ] 
	現在のスクリプト終了 [ テキスト結果: False ] 
End If
フィールド設定 [ Replace (
	$Text ;
	$開始位置 ;
	$選択サイズ ;
	TextColor (
		Middle ( $Text ; $開始位置 ; $選択サイズ ) ;
		RGB ( 255 ; 0 ; 0 )
	)
)] 
選択範囲を設定 [ 開始位置: $開始位置 ; 終了位置: $開始位置 + $選択サイズ - 1 ] 

Last edited by 通りすがりさん (2017-05-06 18:43:09)


通りすがりさんです。

Offline

#4 2017-05-07 00:13:36

クネ〜ル
Member

Re: 選択部分をボタンで文字色変更

通りすがりさんご回答ありがとうございます。
バッチリ解決できました。
もっと勉強します。

Offline

#5 2017-05-07 16:21:07

Re: 選択部分をボタンで文字色変更

全く同じ事が過去のトピックでありました^^;;

テキスト選択部分のフォントカラーを変えるスクリプト
https://fm-aid.com/bbs2/viewtopic.php?id=5978


選択部分のみテキストの色を変える
https://fm-aid.com/bbs2/viewtopic.php?id=5256


フィールド内の選択されたテキストの色をショートカットで変更する
https://community.filemaker.com/docs/DOC-2460

Last edited by 通りすがりさん (2017-05-07 16:33:09)


通りすがりさんです。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 558.47 KiB (Peak: 581.16 KiB) ]