8 返信 最新の回答 日時: Jan 5, 2016 11:45 PM ユーザー:user14047

    macのファイルパスについて

    user24973

      スクリプトでファイル生成時、windowsでは”/c:/temp/”を指定して作成できるのですが、macで”Macintosh HD/ユーザ/***/書類”をしていするもエラー。どうしてでしょうか?OS10.6.8、FM11proです。

        • 1. Re: macのファイルパスについて
          user14047

          ファイルの生成は AppleScript ではなく FileMaker のスクリプトですよね?(AppleScript とはパスの書き方が違います。)

          FileMaker Pro ヘルプ : ファイルパスの作成

           

          もし、ドキュメントフォルダーへのパスでしたら、可変なユーザ名も吸収してくれるGet ( ドキュメントパス ) 関数を使うのが便利かと思います。

          例)

          変数を設定 [ $path ; 値: Get ( ドキュメントパス ) & "FileName.txt" ]
          レコードのエクスポート [ ダイアログなし ; 「$path」 ; Unicode (UTF-8) ]
          
          • 2. Re: macのファイルパスについて
            user24973

            ご回答ありがとうございます。

            はい、FileMakerスクリプトです。

             

            windows版は下記のように記載しております。

            "filewin:/c:/temp/" & Get (日付) + 7 - DayOfWeek ( Get (日付) ) & ".pdf"

             

            GET関数の使い方を正しく理解しておらず申し訳ありません。

            これは任意のファイルの場所やファイルメーカー自身のファイルパスを

            取得する関数ではないのですか?

            • 3. Re: macのファイルパスについて
              user14047

              FileMaker Pro ヘルプ : Get ( ドキュメントパス )

              目的
              現在のユーザのドキュメントフォルダへのパスを返します。

              FileMaker Pro では、John Smith というユーザの場合、
              Windows では、「/C:/Users/John Smith/Documents」を返します。
              OS X では、「/Macintosh HD/Users/johnsmith/Documents/」を返します。

              ということで現在のユーザに基づいた書類フォルダへのパスを返してくれる関数です。

               

              もし、一人しか使わないのであれば、"file:/Macintosh HD/ユーザ/***/Documents" という形でスタティックな文字列で指定してもいいのですが(***はワイルドカードではなく伏字ですよね?)、書き出す先が書類フォルダであれば、ユーザが変わるとパスも変わりますので、Get ( ドキュメントパス ) を紹介してみました。

               

              因みに、Mac OS X の Finder に表示されているローカライズされているフォルダ名での指定はできません。

              元の(英語の)フォルダ名を指定する必要があります。

              • 4. Re: macのファイルパスについて
                user24973

                ご教授ありがとうございました。

                無事、macOSにて手動でFMスクリプト実行し、正常実行できました!

                 

                ただ、もう1点ご教授いただきたく。

                手動で実行したら問題なく動作するのですが、FileMakerAdminConsoleにてスクリプトを指定し

                実行するとエラーになります。エラーメッセージは

                「スケジュール「土曜日オペ予定送信」が中断されました; スクリプトステップがサポートされていません。」

                です。

                 

                手動では正常完了するのに、スケジュール実行するとステップに問題があるというのは

                どういうことでしょうか。

                • 5. Re: macのファイルパスについて
                  user14047

                  FileMaker Server のスケジュールで実行されるスクリプトは、FileMaker Server と互換性のあるスクリプトステップしか動きません。

                  FileMaker Pro ヘルプ : FileMaker Server でのスクリプトの実行

                  エラーメッセージにあるよう、サポートされていないスクリプトステップを使っていないか確認してみてください。

                   

                  また、FileMaker Server スクリプトスケジュールで利用できるパスも限定されています。こちらも併せてご確認ください。

                  FileMaker Pro ヘルプ : レコードのエクスポート

                  メモ
                  指定されたファイルはすべて FileMaker Server の Documents フォルダ内、テンポラリフォルダ、または FileMaker Server の Documents フォルダかテンポラリフォルダのいずれかの子フォルダ内にある必要があります。
                  • 6. Re: macのファイルパスについて
                    user24973

                    サーバーサイドとクライアントで実行できるスクリプトに差があると初めて知りました。

                    ご教授ありがとうございます。

                     

                    スクリプトをサーバ上で見直し、修正してみます。

                     

                    ありがとうございました。

                    • 7. Re: macのファイルパスについて
                      user24973

                      印刷設定とPDFの作成でエラーになっていました・・・

                      • 8. Re: macのファイルパスについて
                        user14047

                        どちらも非互換なスクリプトステップですね。

                        このスレッドでそのまま続けるのもどうかとは思うんですが...

                         

                        ワールドワイドなディスカッションの方で最近の話題を2つほど紹介しておきます。

                        Create PDF (save as PDF) via WebDirect

                        Webdirect/Server scripting - Save PDF

                         

                        • バッチマシンで動くFileMaker Pro で PDF を作成
                        • MBS Plugin + DynaPDF で1からスクラッチして PDF を作成(FileMaker のレイアウトは使えない)

                        今の所は、こんな感じみたいですね。PDF を作成するためだけのバッチマシンを用意して、そのマシンで作成させるのが一番簡単そうです。