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

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

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

You are not logged in.

Announcement

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


#26 2013-11-21 09:28:33

Layouter
Guest

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

ああ!元々1ページに収まってる人も全部同じフォントサイズにするなら、簡単かも?
ExitLoopIf[Get(ページ番号)=50]
で50ページに収まるように調整します。50を計算するのが面倒かな。

あと
変数を設定[$$size=20]//デフォルトサイズ
20は多分大きすぎでしょう。デフォルトの最大サイズにしてください。

文字サイズが変わらないのは、変数値と条件付き書式の設定を確認するしかないです。サイズの変更自体は、スクリプトもスライドも関係ありません。
「入力した文字自体にフォントサイズが指定されてると、条件付書式では変わらない」から、(内容見ていないですけど)keimaさんの「全置換」などでTextSize関数使ったデータはそのままでは使えないかも。

#27 2013-11-21 15:04:31

青木
Guest

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

Layouter wrote:

ああ!元々1ページに収まってる人も全部同じフォントサイズにするなら、簡単かも?
ExitLoopIf[Get(ページ番号)=50]
で50ページに収まるように調整します。50を計算するのが面倒かな。

あと
変数を設定[$$size=20]//デフォルトサイズ
20は多分大きすぎでしょう。デフォルトの最大サイズにしてください。

文字サイズが変わらないのは、変数値と条件付き書式の設定を確認するしかないです。サイズの変更自体は、スクリプトもスライドも関係ありません。
「入力した文字自体にフォントサイズが指定されてると、条件付書式では変わらない」から、(内容見ていないですけど)keimaさんの「全置換」などでTextSize関数使ったデータはそのままでは使えないかも。

50ページに収まるようにExitLoopIf[Get(ページ番号)=50も考えたのですが、月によって52人の時もあるためやっぱり使用できないようです。
やっぱり、1ページで収まっている人はデフォルトのフォントサイズで、2ページ使用している人のみフォントサイズを調整する方法がいいですがどのようにしたらいいのでしょうか?
Aさんは一枚で収まっている、そのまま印刷、Bさんは2枚使用している→フォントを小さくして再確認→一枚に収まっている→印刷などとチェックするスクリプトはあるのでしょうか?

#28 2013-11-21 15:31:58

Layouter
Guest

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

こういう流れです。
Loop
ExitLootIf[Get(対象レコード数)=0]
変数を設定[$氏名;氏名]
新規ウィンドウ
絞り込み[氏名;$氏名]
スクリプト実行[印刷の]
ウィンドウを閉じる[現在の]
レコードを除外[氏名;$氏名]
EndLoop

#29 2013-11-21 19:08:37

keima
Member

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

一人あたりの長さがばらばらなものを一人一ページに、50ページ分をいちどに調整するのは、無理でしょう。
FMではレコードの改ページの指定ができないはず。
やはり、名前と月を指定して検索し、一ヶ月分にしたものを1ページなるよう調整し、
一人分づつ印刷するしかないのでは。

私のサンプルでは名前と月を指定して検索し、一ヶ月分にしたものというのが前提です。
文字サイズを小さくするより、行間を詰めたほうが効率がいいようです。
文字数が多いと警告がでるようにしています。
文字数の計算は、改行につき空白分を大雑把ですが20文字としてカウントしています。
Length ( コメント ) + PatternCount (コメント ; ¶ ) * 20 
行間を0.8行、サイズは元が11Pでおさまらなければ 最小サイズフィールドの数字、
8なら8Pに全置換しています。
一枚に収まらなければ「ページ数オーバー」の警告がでるので、文字数を減らすか
フォントサイズをさらに小さくするかということです。 

変数を設定 [ $fsz; 値:11 ]
フィールド内容の全置換 [ TBL::コメント; 計算で置き換える: TextSize ( TBL::コメント ; $fsz ) ] [ ダイアログなし ]
プレビューモードに切り替え
レコード/検索条件/ページへ移動 [ 最後の ]
If [ Get ( ページ番号 ) > 1 ]
ブラウズモードに切り替え
フィールド内容の全置換 [ TBL::コメント; 計算で置き換える: TextSize ( TBL::コメント ; TBL::最小サイズ ) ] [ ダイアログなし ]
プレビューモードに切り替え
レコード/検索条件/ページへ移動 [ 最後の ]
スクリプト一時停止/続行 [ 間隔(秒): 2 ]
End If
ブラウズモードに切り替え

Offline

#30 2013-11-24 19:37:43

青木
Guest

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

Layouter wrote:

こういう流れです。
Loop
ExitLootIf[Get(対象レコード数)=0]
変数を設定[$氏名;氏名]
新規ウィンドウ
絞り込み[氏名;$氏名]
スクリプト実行[印刷の]
ウィンドウを閉じる[現在の]
レコードを除外[氏名;$氏名]
EndLoop

せっかく教えていただいたのですができません。なぜでしょう?上記のスクリプトは以前教えていただいたのとどうゆう風に合わせて使うのでしょうか?

#31 2013-11-24 19:38:58

青木
Guest

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

keima wrote:

一人あたりの長さがばらばらなものを一人一ページに、50ページ分をいちどに調整するのは、無理でしょう。
FMではレコードの改ページの指定ができないはず。
やはり、名前と月を指定して検索し、一ヶ月分にしたものを1ページなるよう調整し、
一人分づつ印刷するしかないのでは。

私のサンプルでは名前と月を指定して検索し、一ヶ月分にしたものというのが前提です。
文字サイズを小さくするより、行間を詰めたほうが効率がいいようです。
文字数が多いと警告がでるようにしています。
文字数の計算は、改行につき空白分を大雑把ですが20文字としてカウントしています。
Length ( コメント ) + PatternCount (コメント ; ¶ ) * 20 
行間を0.8行、サイズは元が11Pでおさまらなければ 最小サイズフィールドの数字、
8なら8Pに全置換しています。
一枚に収まらなければ「ページ数オーバー」の警告がでるので、文字数を減らすか
フォントサイズをさらに小さくするかということです。 

変数を設定 [ $fsz; 値:11 ]
フィールド内容の全置換 [ TBL::コメント; 計算で置き換える: TextSize ( TBL::コメント ; $fsz ) ] [ ダイアログなし ]
プレビューモードに切り替え
レコード/検索条件/ページへ移動 [ 最後の ]
If [ Get ( ページ番号 ) > 1 ]
ブラウズモードに切り替え
フィールド内容の全置換 [ TBL::コメント; 計算で置き換える: TextSize ( TBL::コメント ; TBL::最小サイズ ) ] [ ダイアログなし ]
プレビューモードに切り替え
レコード/検索条件/ページへ移動 [ 最後の ]
スクリプト一時停止/続行 [ 間隔(秒): 2 ]
End If
ブラウズモードに切り替え

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

#32 2013-11-25 09:40:05

Layouter
Guest

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

青木 wrote:
Layouter wrote:

こういう流れです。
Loop
ExitLootIf[Get(対象レコード数)=0]
変数を設定[$氏名;氏名]
新規ウィンドウ
絞り込み[氏名;$氏名]
スクリプト実行[印刷の]
ウィンドウを閉じる[現在の]
レコードを除外[氏名;$氏名]
EndLoop

せっかく教えていただいたのですができません。なぜでしょう?上記のスクリプトは以前教えていただいたのとどうゆう風に合わせて使うのでしょうか?

[印刷の]が前のスクリプトです。検索(絞り込み)で解除されるので、必要ならソート(日付順?)してください。
(前のスクリプトに印刷関係のステップは書いてませんでしたが、変数でフォントサイズを調整するんですから、結果は保存されません。調整後すぐに印刷するのが前提です。)
この「流れ」は「名前と月を指定して検索し、一ヶ月分にしたものを1ページなるよう調整し、一人分づつ印刷する」ためのスクリプトです。
対象レコードから1人ずつ別ウィンドウで印刷するので、このスクリプトの前に「月」で検索しておきます。

#33 2013-11-26 17:34:43

青木
Guest

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

Layouter wrote:
青木 wrote:
Layouter wrote:

こういう流れです。
Loop
ExitLootIf[Get(対象レコード数)=0]
変数を設定[$氏名;氏名]
新規ウィンドウ
絞り込み[氏名;$氏名]
スクリプト実行[印刷の]
ウィンドウを閉じる[現在の]
レコードを除外[氏名;$氏名]
EndLoop

せっかく教えていただいたのですができません。なぜでしょう?上記のスクリプトは以前教えていただいたのとどうゆう風に合わせて使うのでしょうか?

[印刷の]が前のスクリプトです。検索(絞り込み)で解除されるので、必要ならソート(日付順?)してください。
(前のスクリプトに印刷関係のステップは書いてませんでしたが、変数でフォントサイズを調整するんですから、結果は保存されません。調整後すぐに印刷するのが前提です。)
この「流れ」は「名前と月を指定して検索し、一ヶ月分にしたものを1ページなるよう調整し、一人分づつ印刷する」ためのスクリプトです。
対象レコードから1人ずつ別ウィンドウで印刷するので、このスクリプトの前に「月」で検索しておきます。

なんども質問をしてすみません。2つ質問があります。
①対象レコードの絞り込み[氏名;$氏名]ですが、ヘッダーに氏名のフィールドがあり検索ができないのですが、ヘッダーにあるフィールドは検索対象にできないのでしょうか?
②実際のプリントアウトは、スクリプト実行[印刷の] と  ウィンドウを閉じる[現在の]の間に印刷のスクリプトをいれればいいですよね?まだ検索ができていないので。。。

#34 2013-11-26 22:06:41

青木
Guest

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

青木 wrote:
Layouter wrote:
青木 wrote:

せっかく教えていただいたのですができません。なぜでしょう?上記のスクリプトは以前教えていただいたのとどうゆう風に合わせて使うのでしょうか?

[印刷の]が前のスクリプトです。検索(絞り込み)で解除されるので、必要ならソート(日付順?)してください。
(前のスクリプトに印刷関係のステップは書いてませんでしたが、変数でフォントサイズを調整するんですから、結果は保存されません。調整後すぐに印刷するのが前提です。)
この「流れ」は「名前と月を指定して検索し、一ヶ月分にしたものを1ページなるよう調整し、一人分づつ印刷する」ためのスクリプトです。
対象レコードから1人ずつ別ウィンドウで印刷するので、このスクリプトの前に「月」で検索しておきます。

なんども質問をしてすみません。2つ質問があります。
①対象レコードの絞り込み[氏名;$氏名]ですが、ヘッダーに氏名のフィールドがあり検索ができないのですが、ヘッダーにあるフィールドは検索対象にできないのでしょうか?
②実際のプリントアウトは、スクリプト実行[印刷の] と  ウィンドウを閉じる[現在の]の間に印刷のスクリプトをいれればいいですよね?まだ検索ができていないので。。。

検索できないのは、表示形式がリストのままだったためでした。フォーム形式にすることで検索~フォント調整までスムーズにいきました。ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 591.96 KiB (Peak: 608.5 KiB) ]