3 返信 最新の回答 日時: Jun 26, 2015 12:58 AM ユーザー:裕子原田

    FM11からFM14へデータ以降の際にオブジェクト挿入から貼り付け...

    裕子原田

      タイトル

      FM11からFM14へデータ以降の際にオブジェクト挿入から貼り付けたPDFデータが見られない

      フォーラムに投稿

      FM11を利用していてこのたびFM13を購入したところ、FM14アップグレードされることになり、したところ、データ以降の際に、オブジェクト挿入か ら貼り付けていたデータをFM14には移行されないデータがあり、また、移行されたデータもこれまでのようにその貼り付けたデータをダブルクリックしても 見られないようになってしまいました。データが2000近くあるため、
      ひとつひとつ手作業でデータを貼り付けるわけにもいかず困っています。

      FM%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E7%A7%BB%E8%A1%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.jpg

        • 1. Re: FM11からFM14へデータ以降の際にオブジェクト挿入から貼り付け...
          sago350@未来Switch

          FileMaker Pro Advanced 14で少し試行錯誤。
          ・フィールド内容のエクスポートはOLEオブジェクトの時は使えない
          ・オブジェクトフィールドを外部格納にしてもOLEオブジェクトがフォルダに入ってこない

          誰か良い案ありませんかね。

          • 2. Re: FM11からFM14へデータ以降の際にオブジェクト挿入から貼り付け...
            qbxxdp

            埋め込みファイルがPDF限定の方法です。
            Adobe Reader を「SendKeys」で操作して保存します。
            Windows限定

            プラグインが必要です。(FileMaker Pro 11に設定して下さい)
            ScriptMakerMS: 
            https://sites.google.com/site/scriptmakerms/scriptmakerms

            検証環境:
            Windows 8
            FileMaker Pro 11
            プラグイン:ScriptMakerMS
            Adobe Reader XI


            「フィールド:filePath」を作成し、保存したいPDFファイルのフルパスを作成します。
            例:D:\!TEMP\サンプル.pdf
            ※Windows形式のパス記述方法で設定して下さい。

             

            以下のスクリプトを実行すれば、PDFファイルをフォルダに保存出来ます。

            スクリプト
            コピー [選択; OLE::filePath]
            フィールドへ移動 [選択/再生; OLE::OLE]
            スクリプト一時停止/続行 [間隔(秒): 1]
            変数を設定 [$er; 値:iiil_WindowActivate( "Adobe Reader" ; 0 ; 0 ; 0 ; 0 ; "SWP_NOMOVE|SWP_NOSIZE" )]
            スクリプト一時停止/続行 [間隔(秒): .5]
            変数を設定 [$er; 値:iiil_SendKeys( "+^S" )]
            スクリプト一時停止/続行 [間隔(秒): 1]
            変数を設定 [$er; 値:iiil_SendKeys( "^V" )]
            スクリプト一時停止/続行 [間隔(秒): 1]
            変数を設定 [$er; 値:iiil_SendKeys( "{ENTER}" )]
            スクリプト一時停止/続行 [間隔(秒): 1]
            変数を設定 [$er; 値:iiil_SendKeys( "%FX" )]
            フィールドへ移動 []


            上記スクリプトをLoopすれば、時間はかかりますがPDFファイルを取り出せます。
            例:
            Loop
            スクリプト実行 [「スクリプト」]
            スクリプト一時停止/続行 [間隔(秒): 1]
            レコード/検索条件/ページへ移動 [次の]
            End Loop

             

            強引で不安定な方法ですが、一時的に使用するだけですし、手動よりは、はるかにましです。
            ※検証中にFileMakerに埋め込んだOLEオブジェクトが、1度、破損しました。
            バックアップを取ってから実行して下さい。

            あとは、
            「フィールド:filePath」をもとに「OLEオブジェク」では無い形式で読み込み直せばよいでしょう。

            • 3. Re: FM11からFM14へデータ以降の際にオブジェクト挿入から貼り付け...
              裕子原田

              Sago35様  qb_dp様

              御調べいただき、ご回答ありがとうございます。

              FM14のほうが調子が悪くて現在FM11のバックアップをとるところまでで止まっているのですが、

              これから教えていただいた方法でテストしたいと思います。

              システムに詳しくないため、また過程でご質問させていただきたいと思いますが、どうぞよろしくお願いいたします。