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

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

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

You are not logged in.

Announcement

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


#1 2013-11-15 23:37:50

青木
Guest

印刷レポートのフォントの自動調整

FM12 Win8を使用しています。
印刷用レポートにヘッダーに氏名があり、ボディー(小計ソート)に、日付とコメントのフィールドがあります。
一月分の日報を月報として一枚のA4に表示しているのですが、人によっては、コメントの量が異なりA4で1枚に収まらなくなってしまいます。
そこでコメントの量が一定以上の場合にフォントを小さくしたりはできないのでしょうか?

#2 2013-11-15 23:49:42

wader
Member

Re: 印刷レポートのフォントの自動調整

収まるかどうか調べる方法
https://fm-aid.com/bbs2/viewtopic.php?id=491

フォントだけでなく行間も変えないと高さが減りませんね。

Offline

#3 2013-11-16 09:24:25

Shin
Member

Re: 印刷レポートのフォントの自動調整

印刷前にプレビューを行なってみて、ページ数をチェックします。それで2ページに渡っていれば、という処理は可能かと思います。
日報そのものも月によって日数が変わりますので、コメントの量だけで判断は難しいでしょう。

Offline

#4 2013-11-17 00:34:54

keima
Member

Re: 印刷レポートのフォントの自動調整

文字数によりフォントサイズを小さくするサンプル
トリガー版サンプル

Offline

#5 2013-11-18 08:38:41

青木
Guest

Re: 印刷レポートのフォントの自動調整

keima wrote:

文字数によりフォントサイズを小さくするサンプル
トリガー版サンプル

ありがとうございます。やってみます。:) と =)

#6 2013-11-18 14:45:25

青木
Guest

Re: 印刷レポートのフォントの自動調整

すみません。追加で質問させて下さい。
Keima様のアドバイスにより徐々に形になったのですが、Shin様の言っておられるように、2ページ目に渡った場合にコメントの文字の大きさを変えるにはどのようにすればいいのでしょうか?その方が日によって大きな字になったり、小さな字になったりと違和感があるため質問させていただきました。

#7 2013-11-18 15:07:24

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

フォントサイズは全部同じに変更したいってことですね。
プレビューモード[]
レコードへ移動[最後]
でページ数がわかるので、2ページなら条件付書式でフォントサイズを小さくする、ということでは。

#8 2013-11-18 16:28:52

青木
Guest

Re: 印刷レポートのフォントの自動調整

Layouter wrote:

フォントサイズは全部同じに変更したいってことですね。
プレビューモード[]
レコードへ移動[最後]
でページ数がわかるので、2ページなら条件付書式でフォントサイズを小さくする、ということでは。

2ページ目になった場合はフォントサイズを小さくして1ページになるようにしたいです。
一応下のようにしたのですができなかったです???
プレビューモード[]
レコードへ移動[最後]
Get ( ページ番号 ):>2; TextSize ( コメント ; 7 )
でやったのですができず。。。

#9 2013-11-18 17:14:52

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

1ページになるまで徐々に下げていかないとだめですから、
変数を設定[$$size=20]//デフォルトサイズ
Loop
ExitLoopIf[$$size=6]//最小サイズ
プレビューモード[]
レコードへ移動[最後]
ExitLoopIf[Get(ページ番号)=1]
変数を設定[$$size=$$size-1]
EndLoop
条件付き書式は、$$size=6でフォントサイズ6、というのを最大から最小まで並べる。

1ページずつ印刷することになるので、何か不都合があるかも?(通しページ番号ぐらいか)

#10 2013-11-18 18:19:46

keima
Member

Re: 印刷レポートのフォントの自動調整

他には、インスペクタでスライドと表示を設定すると
フィールドの行の空きを詰めることができます。

Offline

#11 2013-11-18 21:00:22

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

できるというか、スライドも設定しないと、フォントサイズは関係なくレコード数で自動的に1ページに入るかどうか決まってしまいますよね。

#12 2013-11-18 21:32:19

青木
Guest

Re: 印刷レポートのフォントの自動調整

Layouter wrote:

1ページになるまで徐々に下げていかないとだめですから、
変数を設定[$$size=20]//デフォルトサイズ
Loop
ExitLoopIf[$$size=6]//最小サイズ
プレビューモード[]
レコードへ移動[最後]
ExitLoopIf[Get(ページ番号)=1]
変数を設定[$$size=$$size-1]
EndLoop
条件付き書式は、$$size=6でフォントサイズ6、というのを最大から最小まで並べる。

1ページずつ印刷することになるので、何か不都合があるかも?(通しページ番号ぐらいか)

スクリプトで
変数を設定[$$size;値:20//デフォルトサイズ]
Loop
プレビューモードに切り替え[]
レコード/検索条件/ページへ移動[最後の]
ExitloopIf[Get(ページ番号)=1]
変数を設定[$$size;値:$$size-1]
EndLoop
としたのですが、印刷用のレイアウトでスクリプトを実行したのですが、砂時計がついたままでなにもならないのですがなぜでしょうか?

#13 2013-11-18 22:20:35

プリン
Guest

Re: 印刷レポートのフォントの自動調整

最小サイズの指定がないので、無限ループになります。

#14 2013-11-19 13:07:40

青木
Guest

Re: 印刷レポートのフォントの自動調整

プリン wrote:

最小サイズの指定がないので、無限ループになります。

日報のコメントフィールドの条件付き書式に、計算式で$$size=6、$$size=7、$$size=8、$$size=9、$$size=10、$$size=11、$$size=12、$$size=13と8つ作ったのですが、また無限ループになっちゃいました。
なぜでしょう?

#15 2013-11-19 13:22:51

チポ
Member

Re: 印刷レポートのフォントの自動調整

> 一月分の日報を月報として一枚のA4に表示しているのですが
複数の日報レコードを月報として1ページに印刷
ですよね?

とすると、
印刷する全ての日報レコードのフォントの大きさを変えるんですよね。

ならば、
条件付き書式の条件のフィールドをグローバルとしなければだめですが、
そうしていますか?


> 無限ループになっちゃいました
最初は、Loopの中に
スクリプト一時停止
を入れると、1回ごとの確認ができ、いつでもスクリプトを止められますよ。

Offline

#16 2013-11-19 13:32:40

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

ループになるのはページ数が1になっていないということです。
スクリプトの
ExitLoopIf[$$size=6]//最小サイズ
が抜けてるのは直しましたか?(フォントサイズを6にしても1ページにならなければ、あきらめるという処理です)
あるいは、対象レコードを1人分(1か月分)にしてないとか

今更思い出したけど、入力した文字自体にフォントサイズが指定されてると、条件付書式では変わらないですねorz

日によって大きな字になったり、小さな字になったりと違和感がある

というぐらいだから、まず使ってないと思いますけど

#17 2013-11-19 13:41:11

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

チポ wrote:

条件付き書式の条件のフィールドをグローバルとしなければだめですが、

フィールドでなく計算式で変数を見る仕組みです。

#18 2013-11-19 14:04:04

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

ブラウズモードに切り替え[]を入れ忘れてました!
Loopの後かEndLoopの前に入れてください。
(プレビューのままだとページ移動でフォントサイズは変わるけどスライドに反映されない)

#19 2013-11-19 14:05:47

チポ
Member

Re: 印刷レポートのフォントの自動調整

ああ、そうか、
途中よく読んでいない ><

Offline

#20 2013-11-19 14:09:33

keima
Member

Re: 印刷レポートのフォントの自動調整

すみません、スライドが前提の話でした。

全体のフォントサイズを指定して小さくするサンプル
全置換版サンプル

全体を11ポイントを8ポイントまで小さくしても
縮めることができるのは3レコード分程度です。
あとメイリオは行間が広いので使わないほうがいいと思います。

Offline

#21 2013-11-20 09:14:39

青木
Guest

Re: 印刷レポートのフォントの自動調整

Layouter wrote:

ループになるのはページ数が1になっていないということです。
スクリプトの
ExitLoopIf[$$size=6]//最小サイズ
が抜けてるのは直しましたか?(フォントサイズを6にしても1ページにならなければ、あきらめるという処理です)
あるいは、対象レコードを1人分(1か月分)にしてないとか

今更思い出したけど、入力した文字自体にフォントサイズが指定されてると、条件付書式では変わらないですねorz

日によって大きな字になったり、小さな字になったりと違和感がある

というぐらいだから、まず使ってないと思いますけど

ExitLoopIf[$$size=6]//最小サイズが抜けてました。
ただ、サイズが変わらないのはなぜでしょう?
一番最初にも書いたのですが、日々の日報を一日、一人、一レコードで記録しており、それを顧客毎にヘッダーで小計ソートし、ボディに日付や日々の日報が乗るようにしてあるためでしょうか?

#22 2013-11-20 09:36:40

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

「ヘッダーに氏名」というのは日報を書いた人じゃなく顧客のことですか。まあそこはどっちでもあんまり関係ないか。

>一月分の日報を月報として一枚のA4に
毎日必ずあるのか、そうでなく週休2日で20レコードぐらいだとしても、普通の文字サイズでは1日2行分ぐらいしか入らないですよね。「コメント」が本当に短文でないと元々無理ということも?
フォントサイズの選択肢にあるから最小を6ptとしたスクリプトを提示しましたけど、実際に12ptのと6ptのが混在したら、1ページに収まってても「違和感」がすごそうですが。

「サイズが変わらない」
>Loopの中にスクリプト一時停止
で確認してますか。
最後に$$size-6で抜けてると思うから、多分条件付書式の計算式だけ設定して、フォントサイズを設定し忘れてるような気が。

>顧客毎にヘッダーで小計ソート
「総ページ数」が1になるように調整するんで、1ページ内に印刷したいレコードだけを対象にしてからスクリプトを実行しないとだめですよ。

#23 2013-11-20 16:18:21

青木
Guest

Re: 印刷レポートのフォントの自動調整

Layouter wrote:

「ヘッダーに氏名」というのは日報を書いた人じゃなく顧客のことですか。まあそこはどっちでもあんまり関係ないか。

>一月分の日報を月報として一枚のA4に
毎日必ずあるのか、そうでなく週休2日で20レコードぐらいだとしても、普通の文字サイズでは1日2行分ぐらいしか入らないですよね。「コメント」が本当に短文でないと元々無理ということも?
フォントサイズの選択肢にあるから最小を6ptとしたスクリプトを提示しましたけど、実際に12ptのと6ptのが混在したら、1ページに収まってても「違和感」がすごそうですが。

「サイズが変わらない」
>Loopの中にスクリプト一時停止
で確認してますか。
最後に$$size-6で抜けてると思うから、多分条件付書式の計算式だけ設定して、フォントサイズを設定し忘れてるような気が。

>顧客毎にヘッダーで小計ソート
「総ページ数」が1になるように調整するんで、1ページ内に印刷したいレコードだけを対象にしてからスクリプトを実行しないとだめですよ。

>「総ページ数」が1になるように調整するんで、1ページ内に印刷したいレコードだけを対象にしてからスクリプトを実行しないとだめですよ。
そうなんですね。現在は、常時50名くらい顧客がいて、年月で対象者を抽出して、氏名でソートしているので、その50名の内2ページになっている人の印刷レポートのみ自動でフォントサイズを小さく出来るかと思ったのですが、2ページになっている人のみ抽出してからスクリプトを実行する必要があるんですね。。。

#24 2013-11-20 16:57:34

Layouter
Guest

Re: 印刷レポートのフォントの自動調整

「自動調整」するんで2ページになってるかどうかは気にしないでいいですけど、
最初に「1ページずつ印刷することになるので、何か不都合があるかも?(通しページ番号ぐらいか)」と書きました。(1ページに収まらないこともあり得ますが)
ループで1人ずつ検索して印刷すればいいです。

変数を複数使えば一度にもできるかと思うけど、ややこしいし、プレビューの計算が遅くなります。

#25 2013-11-20 22:18:03

青木
Guest

Re: 印刷レポートのフォントの自動調整

Layouter wrote:

「自動調整」するんで2ページになってるかどうかは気にしないでいいですけど、
最初に「1ページずつ印刷することになるので、何か不都合があるかも?(通しページ番号ぐらいか)」と書きました。(1ページに収まらないこともあり得ますが)
ループで1人ずつ検索して印刷すればいいです。

変数を複数使えば一度にもできるかと思うけど、ややこしいし、プレビューの計算が遅くなります。

Layouter様の教えていただいた通りに

変数を設定[$$size=20]//デフォルトサイズ
Loop
ExitLoopIf[$$size=6]//最小サイズ
プレビューモード[]
レコード/検索条件/ページへ移動[最後]
ExitLoopIf[Get(ページ番号)=1]
変数を設定[$$size=$$size-1]
ブラウズモードに切り替え[]
EndLoop
として、条件付き書式計算で最少からデフォルトまでの計算値とフォントサイズの設定をしたのですが変わりません。
もちろんスライドはチェックしています。
スクリプトの
レコード/検索条件/ページへ移動[最後]というのは、最後のページに移動するということになるため、印刷レイアウトで50人分のページがあり、2人が2ページ目にかかっていて、全部で52ページとなっていた場合は52ページに移動するということなのでしょうか?だとすると、スクリプトもかわってくるのでしょうか?

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.011 seconds, 9 queries executed - Memory usage: 622.07 KiB (Peak: 654.98 KiB) ]