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

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

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

You are not logged in.

Announcement

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


#1 2022-01-28 09:24:14

koma3
Member

メール本文から各フィールドへの値抽出方法

会社名:〇〇株式会社
代表者名:田中太郎
住所:佐賀県〇〇市
電話番号:000-1234-5678
メールアドレス:abcd@abcd.com

メール本文を1つのフィールドに貼り付けると、
「各フィールド」へ下記のように抽出するにはどうしたたらいいでしょうか。

「会社名」〇〇株式会社
「代表者名」田中太郎



「メールアドレス」abcd@abcd.com

よろしくお願いいたします。

Last edited by koma3 (2022-01-28 09:55:47)

Offline

#2 2022-01-28 10:23:36

Shin
Member

Re: メール本文から各フィールドへの値抽出方法

例えば、会社名は、
Let (
[
    tar = "会社名:" ;
    txt = Substitute ( ¶ & メール ;[ ¶ ; Code ( 1 ) ];[ tar ; ¶ ] ) ;
    txt = GetValue ( txt ; 2 ) ;
    txt = Substitute ( txt ; Code ( 1 ) ; ¶ ) ;
    txt = GetValue ( txt ; 1 )
] ;
    txt
)

Offline

#3 2022-01-28 11:00:27

koma3
Member

Re: メール本文から各フィールドへの値抽出方法

ありがとうございます!
ちなみにメール本文がこのようになっていて、
------------------------------------
店舗:〇〇商店
商品名:A
単価:100
数量:2

店舗:〇〇商店
商品名:B
単価:200
数量:1

会社名:〇〇株式会社
代表者名:田中太郎
住所:佐賀県〇〇市
電話番号:000-1234-5678
メールアドレス:abcd@abcd.com
------------------------------------
これを一気に1つのフィールドに貼り付けた場合、
先程メール本文を貼り付けたテーブルとは別のテーブルに1レコードずつ
(商品注文ごとに)追加するとなるとどうしたらよいでしょうか。上記の例だと、
------------------------------------
【1つ目のレコード】
「店舗」〇〇商店
「商品名」A
「単価」100
「数量」2

「会社名」〇〇株式会社
「代表者名」田中太郎


「メールアドレス」abcd@abcd.com
------------------------------------
【2つ目のレコード】
「店舗」〇〇商店
「商品名」B
「単価」200
「数量」1

「会社名」〇〇株式会社
「代表者名」田中太郎


「メールアドレス」abcd@abcd.com
------------------------------------

このような感じで追加されていけばベストです。

よろしくお願いいたします。

Offline

#4 2022-01-28 11:24:00

Shin
Member

Re: メール本文から各フィールドへの値抽出方法

条件の後出しはご勘弁を。
元のテーブルでフィールドに展開させておいて、商品などは繰り返しフィールドに格納、それを別テーブルへ繰り返しをレコードに分解するオプションでインポートする、が簡単でしょう。
店舗: などについては、繰り返しフィールドに格納するので、次のように少し変更します。
Let (
[
    tar = "店舗:" ;
    txt = Substitute ( ¶ & メール[1] ;[ ¶ ; Code ( 1 ) ];[ tar ; ¶ ] ) ;
    txt = GetValue ( txt ; Get ( 計算式繰り返し位置番号 ) + 1 ) ;
    txt = Substitute ( txt ; Code ( 1 ) ; ¶ ) ;
    txt = GetValue ( txt ; 1 )
] ;
    txt
)

Offline

#5 2022-01-28 11:43:22

koma3
Member

Re: メール本文から各フィールドへの値抽出方法

条件の後出し大変申し訳ございません。

---元のテーブルでフィールドに展開させておいて、商品などは繰り返しフィールドに格納、それを別テーブルへ繰り返しをレコードに分解するオプションでインポートする、が簡単でしょう。

というのは具体的にどういうことでしょうか。
Googleで調べてみましたが、ピンとこず、頼ってしまい申し訳ありません。
もし、わかりやすい解説等あれば教えていただければと思います。

よろしくお願いいたします。

Offline

#6 2022-01-28 13:17:22

チポ
Member

Re: メール本文から各フィールドへの値抽出方法

MiddleValues ( メール ; 5n - 4 ; 4 ) & RightValues ( メール ; 5 )
nを1,2,・・・と変えて、
1レコード分ずつ取り出せます。

これを各フィールドに振り分ければいいでしょう。

Offline

#7 2022-01-28 13:48:47

チポ様
Guest

Re: メール本文から各フィールドへの値抽出方法

チポ様

ありがとうございます。
試してみると、同じ商品名が2つ1つのフィールドに書き出されてしまいます。
やり方が間違っているのでしょうか。

#8 2022-01-28 13:51:08

Shin
Member

Re: メール本文から各フィールドへの値抽出方法

https://www.dropbox.com/s/1jkrhnfg5bran … 2.zip?dl=0
スクリプトを走らせた時の、インポートのオプションの設定です。

Offline

#9 2022-01-28 13:54:39

koma3
Member

Re: メール本文から各フィールドへの値抽出方法

申し訳ありません、fmp.18のため、頂いたファイルを読み込むことができませんでした。。

Offline

#10 2022-01-28 14:21:31

チポ
Member

Re: メール本文から各フィールドへの値抽出方法

私の提示した計算式の結果を仮のフィールドなどで確認してください。
1レコード分のリストになっていますか?

> やり方が間違っているのでしょうか
試された方法を書いていただかないと、全く分かりません。。

Offline

#11 2022-01-28 14:51:06

Shin
Member

Re: メール本文から各フィールドへの値抽出方法

fmp18で作っていますが。圧縮してあるので、解凍してから開いてください。

Offline

#12 2022-01-28 15:43:05

koma3
Member

Re: メール本文から各フィールドへの値抽出方法

チポ様
試行錯誤をしてどうにかなりました。
お手数おかけしました。

Shin様
ありがとうございます。今使っているものでは開けなかったので、
違うパソコンで開いてみます。

皆様

ご回答ありがとうございました。
とても助かりました。

Offline

#13 2022-01-28 17:15:15

koma3
Member

Re: メール本文から各フィールドへの値抽出方法

Shin様

サンプル開けました!
助かります、検証しながら取り入れたいと思います!ありがとうございます。

Last edited by koma3 (2022-01-28 17:25:17)

Offline

#14 2022-01-28 17:28:01

Shin
Member

Re: メール本文から各フィールドへの値抽出方法

複製項目が3つ以上とは、明細部分が という意味でしょうか。
レイアウト上は繰り返し3個分だけ表示させていますが、設定は10になっています。必要に応じて、繰り返し数はいくらでも増やすことができます。

Offline

#15 2022-01-28 17:30:00

koma3
Member

Re: メール本文から各フィールドへの値抽出方法

Shin様

設定してくださっているのを見落としていました。
無事、10個や5個など好きな数だけ表示させることができました。

ありがとうございます!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 573.22 KiB (Peak: 590.13 KiB) ]