Claris FileMaker(ファイルメーカー)のデータを手軽にExcelに保存してみよう!

2022年12月19日 12:00 PM

ファイルメーカーのTips


Claris FileMaker Proでは [レコードのエクスポート] の機能または [レコードの保存/送信] の機能を使ってレコードをExcelファイルとして保存することができます。
特に [レコードの保存/送信] の機能を使うと、現在運用中のデータベースから簡単にExcelファイルを作ることができます。今回はこの方法と注意点をご紹介します。

[レコードの保存/送信] を使ったExcelファイルの保存方法

  1. 事前準備
    使用しているアカウントのアクセス権セットに「エクスポートを許可」が設定されているか確認します。

    [ファイル] メニュー > [管理] > [セキュリティ] で「セキュリティの管理」を開き、使用するアカウントを選択してアクセス権セットの鉛筆ボタンをクリックします。

「アクセス権セットの編集」画面で「その他のアクセス権」の「エクスポートを許可」にチェックが付いているかを確認し、付いていなければチェックを付けます。最後に「OK」をクリックし、このダイアログを閉じます。

  1. Excel ファイルへエクスポートするフィールドが配置されたレイアウトを表示します。
  2. [ファイル] メニュー > [レコードの保存/送信] > [Excel…] を選択します。

  1. [レコードを Excel として保存] ダイアログボックスで、ファイル名を入力し、ファイルの保存先を指定します。オプションでは、Excelのワークシート、タイトル、トピック、作成者を指定できます。
  2. [保存] をクリックします。

 

[レコードのエクスポート] でフィールドのエクスポートを行うと細かな設定ができますが、ファイルのタイプを選択、Excelのオプションを選択、その後エクスポートするフィールド順を設定するといった具合にいくつかのステップを踏む必要があります。 [レコードの保存/送信] > [Excel…] であれば、ファイル名の設定だけですぐにExcelを作ることができ手軽で大変便利です。「ファイルを添付した電子メールの作成」も選択できるので、このままメールの添付ファイルとすることもできます。

■注意点

● フィールドはどんな順番で反映されるか

現在のレイアウト上に配置されているフィールドが左上から順番にExcelに反映されます。
(全てのフィールドの中で上辺の座標(位置)が一番上のものが最初、同じ座標(位置)であれば左から順に)

● [レコードの保存/送信] > [Excel…] 実行時にExcelにエクスポートされるフィールド、されないフィールド

以下はExcelにエクスポートされます。

・インスペクタの [次の場合にオブジェクトを隠す] 設定で非表示になっているもの

・レイアウト範囲外に配置されブラウズモードでは見えないフィールド

以下はExcelにエクスポートされません。

・ポップオーバー上にあるフィールド

・表示されていないパネルコントロール上にあるフィールド

・小計パート上にあるフィールド

● 文字数の制限

すべてのフィールドは、32,767 文字で切り捨てられます。

● 数字

Excel で受け入れ可能な値に一番近い値に丸められます。(制約については、Microsoft Excel のオンラインヘルプ「Excelの仕様と制限」の「計算の仕様と制限」の項目を参照してください。

https://support.microsoft.com/ja-jp/office/excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%A8%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3)

数字タイプのフィールドに文字を入力している場合は「0」がExcelに表示されます。

● 項目名

フィールド名が1行目の項目名になります。関連テーブルのフィールドを配置している場合は頭にTO(テーブルオカレンス)名が表示されます。

●繰り返しフィールド 

繰り返しの各内容は1つのセルにまとめられます。
ちなみに [レコードの保存/送信] > [Excel…] ではなく [レコードのエクスポート] を使うとExcelには繰り返しの1行目しか反映されません。

 

● ポータル

ポータルは1行ごとに分割されます。親レコードのフィールドの値はポータルの1行目にのみ表示され、2行目以降は空欄となります。

もし親レコードのフィールドの値を全ての行に表示させたい場合は、ポータル行のレコードのテーブルがTO(テーブルオカレンス)になっているレイアウトを作成、親レコードのフィールドを関連レコードとして配置し [レコードを Excel として保存] を実行する必要があります。

● データの書式

ファイルメーカーで設定した数値の書式はExcelにも適用されますが、日付はどのような書式設定をしていても「YYYY/MM/DD」の書式になりました。

● 表形式

表形式では [変更…] をクリックすることによって現在のレイアウト上に配置のないフィールドを追加表示、または配置されたフィールドを非表示にすることができます。表形式の状態で [レコードの保存/送信] を行った場合は表形式で表示設定したフィールドが配置された順にExcelに反映されます。同じレイアウトをフォーム形式、リスト形式にして [レコードの保存/送信] を行った場合はレイアウト上に配置されたフィールドがExcelに反映されます。

■応用例として

Excelに保存したいフィールドを順番に並べたレイアウトを作り 
レイアウトを切り替える→ [レコードの保存/送信] でExcel保存→元のレイアウトに戻る
というスクリプトを作成すると簡単なエクスポート機能を作ることができます。
この方法を使うとExcelへの保存の順番を変える時はレイアウトのフィールドの位置を移動するだけになります。表形式にしておけばブラウズモードのまま順番の入れ替えができます。

いかがでしたか?
ファイルメーカーのレコードを気軽にExcelに変換できるといろんな場面に使えそうですね。
是非活用してください!