ファイルメーカー・スクリプトの作成法を教えて下さい。

このQ&Aのポイント
  • ファイルメーカー・スクリプトの作成法について教えていただけますか?ニュース・ダイジェストを編集する操作を一括処理するために、ファイルメーカーのスクリプト作成を試みましたが、うまく行きませんでした。
  • 手順に従ってスクリプトを作成しましたが、作成されたファイルには1つの記事のみが含まれていました。手動で操作する場合は15本の記事が含まれたファイルが作成されます。
  • スクリプトの作成手順や『フィールド内容のエクスポート』の設定に誤りがあるのか教えていただけますか?また、設定をスクリプトに組み込む方法も知りたいです。
回答を見る
  • ベストアンサー

ファイルメーカー・スクリプトの作成法を教えて下さい。

 ニュース・ダイジェストを編集する操作を一括処理するため、以下のような手順でファイルメーカーのスクリプト作成を試みましたが、うまく行きません。 1)スクリプト・メニューで『ScriptMaker(S)』を選択。 2)『作成』を指定。 3)『スクリプト名』を『ダイジェスト』と記入。 4)検索実行[記憶する]。  (レコード番号フィールドで特殊文字『*』を検索し、全カードを選択) 5)レコードのソート[記憶する]。  (国地域/日付/フィールド番号の順にソート、何れも昇順。) 6)『フィールド内容のエクスポート』で『日付』を指定。 7)再度『フィールド内容のエクスポート』で『見出し』を指定。 8)さらに『フィールド内容のエクスポート』で『前書き』を指定。 9)『スクリプトを完全アクセス権で実行』をクリックし、『OK』。 10)『スクリプトに表示させる』をクリックし、『実行』。 11)ソート画面がポップアップするため、『OK』をクリック。  以上のスクリプトにより『ダイジェスト.tab』と言うファイルが作成されましたが、ワードで中身を見ると、15本の記事中の最初の1本の『前書き』のみでした。  しかし手動で以上の操作を行うと、15本の記事の『日付』/『見出し』/『前書き』を含んだ『ダイジェスト.tab』が作成されます。  スクリプトの作成手順の誤りを教えて下さい。また、手動で 『フィールド内容のエクスポート』を実行する際には『出力ファイルの文字セット』を『日本語(Shift-JIS)』に設定しますが、この設定をスクリプトに組み込む方法も教えていただければ幸いです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 7marine
  • ベストアンサー率36% (59/160)
回答No.3

>スクリプト編集画面から『検索』を選び、『検索条件指定』を行うと・・・ 全レコードを対象にする場合は「検索(実行?)」ではなくて「全レコードを表示」を使用してください >『日付』を選び『OK』をクリックすると、『フィールド内容のエクス >ポート』の後に『日付』と表示されます。 すいません、うっかり間違えてしまいました 「フィールド内容のエクスポート」ではなくて「レコードのエクスポート」を使用してください

fanzhao
質問者

お礼

成功しました!! 大変お世話になりました。

その他の回答 (2)

  • 7marine
  • ベストアンサー率36% (59/160)
回答No.2

>6-8)の方式でスクリプトにすると、『日付』を保存した後に、 >『見出し』と『前書き』を順に上書き保存するため、最後に >作成された『ダイジェスト.tab』ファイルは、『前書き』の >みになってしまいます。 はい、その通りだと思います。 エクスポートのスクリプトは3つ追加している、または手動で行っている場合は3回エクスポートしていると思いますが と思いますが1つ(1回)だけで十分です。 1つの「フィールド内容のエクスポート」の「フィールドデータのエクスポート順」の「フィールドのエクスポート順(O)」に3つのフィールドを指定してください。

fanzhao
質問者

補足

 手動でするときは1回で済ませているのですが、スクリプトに、どのようにそれを反映させるのかが分かりません。  スクリプト編集画面から『検索』を選び、『検索条件指定』を行うと、おしゃる通り、手動で行ったのと同じ『*』が指定されておりましたので、そのまま『OK』をクリック、『全レコードを表示』し、『レコードのソート』も記憶されている通り『OK』をクリックしました。  そこで『フィールド内容のエクスポート』を選択し、『ターゲットフィールドの指定』をクリックしたのですが、その後の処理がよく分かりません。  『日付』を選び『OK』をクリックすると、『フィールド内容のエクスポート』の後に『日付』と表示されます。そこでもう一度『ターゲットフィールドの指定』をクリック、『見出し』を指定すると、、『フィールド内容のエクスポート』の後の『日付』が消え、『見出し』が表示されます。引き続き『前書き』を指定すると、『見出し』が消え、『前書き』が表示されます。そこで『出力ファイル』を指定して『OK』をクリックしました。  作成されたスクリプトを実行すると、ソート画面が表示されたため、『OK』をクリック。その後でワードで出力されtabファイルをオープンすると15本の記事の最初の1本の『前書き』のみが『Unicord』で表示されました。(手動の時は日本語コードを指定しました。)  手動ですると日付/見出し/前書きが揃った15本の記事全てが書き出されるのですが。以上の処理のどこに誤りがあるか、教えて頂ければ幸いです。

  • 7marine
  • ベストアンサー率36% (59/160)
回答No.1

ファイルメーカーは最後に実行した検索・ソート・エクスポートを覚えている機能があります。うまく利用することでスクリプトを楽に作成できます 先に一連の作業を手動で行ってください >4)検索実行[記憶する]。 「全レコードを表示」のスクリプトを使用してください 5)レコードのソート 6-8)フィールド内容のエクスポート スクリプト追加した直後にソートやエクスポート順を指定のチェックボックスにチェックを入れると、最後に実行した順で設定されているのでそのままOKを押してください。 Shift-JISでエクスポートしているならそれも自動設定されています

fanzhao
質問者

補足

早速、ありがとうございました。  しかしファイルメーカーが記憶した手順をどのようにスクリプト反映させるのかが、よく分かりません。  『日付』/『見出し』/『前書き』がセットになった15本の記事を格納した『ダイジェスト.tab』というファイルを作成したいのですが、『フィールド内容のエクスポート』を、6-8)の方式でスクリプトにすると、『日付』を保存した後に、『見出し』と『前書き』を順に上書き保存するため、最後に作成された『ダイジェスト.tab』ファイルは、『前書き』のみになってしまいます。  このあたりに問題があると思うのですが、もう少しご説明いただけないでしょうか。よろしくお願いします。

関連するQ&A

  • ファイルメーカーによるリストの作成法を教えて下さい

     FileMaker Pro 7で作成したデータベースの一定条件を満たすレコードの特定のフィールドをリスト形式で表示させるにはどうしたらよいでしょうか。  ニュース記事1本を、1レコードに収め、日付、見だし、リード、本文をそれぞれ別のフィールドに記録、電子、運輸機器、化学等の業種を分類するためのフィールドも設けました。  例えば、電子関連の記事を検索、日付順にソートして、『日付/見だし/リード』のみのリストをモニター上に表示させるにはどうしたらよいでしょうか。  試みに『日付/見だし/リード』のみのレーアウトを作成、上記の検索を実行、『リスト形式』を選択したところ、最初の記事1本のみの『日付/見だし/リード』が上部に表示されました。スクロール・バーで下方に画面をスクロールさせたところ、他の記事の『見だし』や『リード』がバラバラに現れましが、整然としたリストとしては表示されませんでした。

  • ファイルメーカー8.0 スクリプト作成

    ファイルメーカー8.0でスクリプトを作成いたしております。 「レコード/検索条件/ページへ移動」を利用するにあたって、「ステータスエリア」内の「レコード」番号を「コピー&ペースト」したいのですが、「レコード番号」はフィールドでもなく指定できません。 「レコード番号」をコピー等のために指定する方法はあるのでしょうか?

  • ファイルメーカー:途中の画面表示なしで、スクリプトを実行させたい

    1カ月前よりファイルメーカーを始めた初心者です。 使用環境:windowsXP、ファイルメーカーpro6 1.ファイルaaa.fp5のスクリプトAAAを作成。 スクリプトの内容:    レコードのエクスポート[記録する[aaa.csv]]    レコードのインポート[記録する[aaa.csv]] 2.スクリプトAAAを実行   実行すると    「フィールドデータのエクスポート順」が現れ、    「エクスポート」ボタンを押すと、エクスポート完了。 3.つぎに    「フィールドデータのインポート順」が現れ、    「インポート」ボタンを押すと、画面が替わり、 4. 「インポートオプション」の    インポート中、入力値の自動化オプションに    チェックを入れ、「OK」ボタンを押すと    インポート完了 2の「フィールドデータのエクスポート順」の画面表示なしで エクスポートを実行し 3の「フィールドデータのインポート順」、 4の「インポートオプション」の画面表示なしで インポートを実行させる方法を教えて下さい。

  • ファイルメーカーのスクリプト

    ファイルメーカーPro7です。 1つのレコードに 品名 年数の2つのフィールドがあります。 例) 品名 年数 A 1995 A 1973 B 1965 C 1943 A 1963 答) A 1963 A 1973 A 1995 答のように品名を検索して年数の昇順にソートするため以下のスクリプトを組みましたが、検索まではできるのですが年数順にソートしてくれません。何が足りないでしょうか。宜しくお願いいたします。 検索モードに切り替え[] レコードのソート[記憶する; ダイアログなし] 記憶する::: 年数●昇順

  • ファイルメーカーのスクリプトについて

    ファイルメーカーについて皆様にご質問があります。 入力した数字をを集計してエクスポートしたく、 エクスポート項目を記憶出来るようにスクリプトを組んだのですが レイアウトを変更してから、項目が変更できなくなってしまいました。 スクリプトの編集で、ダイアログなしのチェックをはずし、エクスポート順を記憶するにチェックし、ファイル指定してあります。 ですが実行してもエクスポート順の項目が出ずに終了してしまいます。 直すにはどうすればいいでしょうか。 どなたか、ご教授お願いします。 宜しくお願いします。

  • ファイルメーカーのスクリプトについて

    ファイルメーカーのスクリプトで質問があります。 検索を行うスクリプトですが、以下の場合どのようにすればよいのでしょうか? フィールドA、フィールドBがあるとします。 フィールドAには不規則な4桁の数字が入っています。 フィールドBにはテキストデータが入っているレコードと入っていないレコードがあります。 検索したいのは、例えば フィールドAには「1111」と入っているが、 その中でフィールドBには何も入っていないもの、 を選び出したいのです。 スクリプトを作ろうとするのですが、 フィールドBに何も入っていないものを選ぶための、「除外」機能がないように思うのです。 もしそのようなスクリプトを組むことができたら是非教えて下さい。

  • ファイルメーカーPro6 全レコードでのスクリプト実行

    お客様のデータ管理をファイルメーカにて行っています。 基本ファイルAと対応履歴の内容ファイルBとがあり、Aにポータルを作成し、顧客ごとの訪問履歴の管理を行っています。 今、このAファイルに新しく、訪問回数をポータル内のレコードの数にて確認するためのレイアウトを作成しました。 複数顧客の状況を一目で確認できるように、リスト形式にて表示させているのですが、どうしてもポータル内のレコード数を計算させるために、顧客ごとにボタン押下にてスクリプトを実行させなければなりません。 顧客数が多いため、はっきり言って現在の状態では活用することが出来ません。 全レコードのスクリプトを一度に作動・計算させる方法はありますでしょうか? もしくは、別の対処方法があるようでしたらご教示いただけたらと思っております。 ちなみに現在は、履歴入力用(ポータルの在る)レイアウト(1)と訪問回数確認用のレイアウト(2)をスクリプトにて、(2)→(1)(ポータル数計算)→(2)と移動させています。 また、ポータル内の最終レコード内にある、日付フィールドの日付(最終対応日)のみを(2)のレイアウトに反映できれば、と思っていますが、どうしても初めのレコードの日付が反映されてしまいます。 あわせて、宜しくお願い致します。

  • ファイルメーカーでのスクリプトについて。

    ファイルメーカーPro.7でスクリプトの中の「レコードを削除する」というのを「リセット」というコマンドボタン」に指定し、1クリックで削除したいのですが、「1個のレコードを完全に削除しますか?」のコメントが毎回出ます。これを出さずに(確認なしで)即時に削除するにはどうしたらよいでしょうか?よろしくお願いします。

  • ファイルメーカーのスクリプトについて質問です。

    ファイルメーカー5を使ってます。 Aのファイルは受注ファイル、Bのファイルは出荷ファイルにしています。 リレーションを組んで、AのファイルにポータルでBを表示しています。 Aに対して、Bが2ヶ以上の時はあるフィールドに印を付けたくてスクリプトを組みました。 Aのファイルで リレーションを組んでるフィールドをコピー 外部スクリプト(Bへ) Bのファイルで エラー処理[オン] 全レコードを表示 レイアウト切り替え 検索モードに切り替え 貼り付け[Aでコピーしたもの] 検索の実行 If[「status(対象レコード)>=2」] スクリプトの実行[サブスクリプト 外部[Aのファイルとスクリプト1] Else スクリプトの実行[サブスクリプト 外部[Aのファイルとスクリプト2] End If を組んでいるのですが、Aのファイルでスクリプトを実行するとBの検索の実行(検索結果は表示します)で止まってしまいます。 そのまま、Bのファイルでもう一度スクリプトを実行するとちゃんとAのファイルに戻って処理を完了します。 どうしてなのでしょうか? 会社では汎用データー(AS)を基本的に使用しているのですが、色々と使いずらいのでファイルメーカーと併用して使ってます。 BのファイルはASから書き出したデーターをファイルメーカーに取り込んで使用しています。 誰かに教わった訳でもなく、自己流(?)で覚えてきたので、分りずらくてすみませんが教えて下さい。

  • ファイルメーカーのスクリプト

    ファイルメーカーPro7を使用しております。 ある1つのフィールドに入力し、作成したボタン をクリックすると、他のレコードの同フィールドに 同じ入力結果がある場合にはメッセージを出す、いわゆる 「入力の制限ユニークな値」ようにしたいのですがどのように すればよいのでしょうか?お分かりになる方宜しくお願いいたします。