No.10ベストアンサー
- 回答日時:
chieffish さん、フォローありがとうございます。
その通りで、本物の落札メール自体の内容は知らないので、例として出ている内容「だけ」を持ったメールを想定しています。念のため繰り返しますが、
(1行目)商品:なんとか
(2行目)オークションID:12345678
(3行目)開始価格:1,500 円
(4行目)開始日時:4月20日 10時 22分
(5行目)終了日時:4月21日 23時 20分
(6行目)---------------------------
(7行目)入札件数:100
(8行目)落札単価:20,000 円
(9行目)---------------------------
となるようにメールを作成してください。
実際のメールに使うには適宜修正が必要です。行数ではメールによって違う可能性が高いと思いますので、必ず出てくる文をキーワードにするなどの工夫が必要になるでしょう。
あくまで「こんなこともできますよ」という基本を示すためのものですので、これで動いたらあとは自力でどうぞ。
素人の私にも使えるよう、直接スクリプトを作っていただきましてありがとうございました。chieffishのフォローと共に、大変参考になりました。何とか使えるようになりそうです。これを足がかりに、一つ上のパソコン使いになれそうです。どうもありがとうございました。また疑問が出てきました際にはよろしくお願いいたします。ありがとうございました。
No.9
- 回答日時:
妙ですね。
メールの内容に間違いはないですか?メッセージを新規作成して、最初の行が「商品:なんとか」になるようにコピーペーストしてください。空白の行などがあると当然ずれるので結果がおかしくなります。試しに6行目までだけ(以下)を実行してみて、下のイベントログの「結果」に何が出るかチェックしてください。正しく動いていれば、図のように "商品:なんとか" となるはずです。
tell application "Mail"
set selectedMail to the selection
set myText to content of item 1 of selectedMail
end tell
set aList to paragraphs of myText
set line1 to item 1 of aList as text --1行目の:以降を取り出す(商品名)
No.8
- 回答日時:
capy2009さんの書かれたスクリプトは、メール本文の1行目に「商品:」がある場合です。
実際には前文?があるわけで、「商品:」は23行目のようですから
1行目を取り出すには
set line1 to item 23 of aList as text --1行目の:以降を取り出す(商品名)
とする必要があり、下の行も同じです。
おめでとうメールの「商品:」が必ず23行目にあるのかどうかは、私にはわかりません。
疑問点に的確にお答えいただきましてどうもありがとうございました。素人の私にわかりやすくご説明いただきまして、感謝いたします。今回は具体的なスクリプトを書いていただいたcapy2009さんにベストアンサーをつけさせていただきましたが、ホントに優劣つけがたい、すばらしいお答えでした。どうもありがとうございました。また疑問が出てきました際にはよろしくお願いいたします。ありがとうございました。
No.7
- 回答日時:
メールから読み取るにも AppleScript が使えます。
一番シンプルな例として、Mail.app で例に挙がっているような内容のメールを選択しておき、FileMaker で「商品」「終了時刻」「落札金額」「ID]の4つのテキストフィールドを持つレコードを開いておきます。
この状態で下記のスクリプトを動かせば、一瞬で値がセットされるはずです。(このスクリプトでは FileMaker Pro Advanced を使ってますが、通常版をお使いの場合は FileMaker Pro に書き換えてください)
あとは応用で、メールボックスの中のメッセージ全部に同じ処理をしたり、自動的に新しい FileMaker レコードを作成したり、その他色々な発展が考えられます。
また、FileMaker にボタンを作って AppleScript を割り当ててワンクリックで実行する事もできますし、Mail.app の方でルールを作成すれば、落札メールが届いたら自動的に AppleScript を動かすようにもできるので、指一本触れない全自動も実現可能です。
それでは、あとは自力で頑張ってください。
---- ここから AppleScript ----
--現在選択しているメールの内容を読み取る
tell application "Mail"
set selectedMail to the selection
set myText to content of item 1 of selectedMail
end tell
set aList to paragraphs of myText
set line1 to item 1 of aList as text --1行目の:以降を取り出す(商品名)
set TID to text item delimiters of AppleScript
set text item delimiters of AppleScript to ":"
set aName to text item 2 of line1
set line1 to item 5 of aList as text --5行目の:以降を取り出す(終了時刻)
set TID to text item delimiters of AppleScript
set text item delimiters of AppleScript to ":"
set aTime to text item 2 of line1
set line1 to item 8 of aList as text --8行目の:以降を取り出す(落札金額)
set TID to text item delimiters of AppleScript
set text item delimiters of AppleScript to ":"
set aPrice to text item 2 of line1
set line1 to item 2 of aList as text --2行目の:以降を取り出す(ID)
set TID to text item delimiters of AppleScript
set text item delimiters of AppleScript to ":"
set anID to text item 2 of line1
set text item delimiters of AppleScript to TID
--ファイルメーカーに値をセット
tell application "FileMaker Pro Advanced" -- 必要なら FileMaker Pro に書き換える
tell current record of window 1
set contents of field "商品名" to aName
set contents of field "終了時刻" to aTime
set contents of field "落札金額" to aPrice
set contents of field "ID" to anID
end tell
end tell
この回答への補足
詳しくありがとうございました。今スクリプトを書き写して実行してみましたが、
"&1 を取り出すことはできません。"
と出てきます。
1行ずつ試しに実行してみますと
お書きいただいた9行目の
set aName to text item 2 of line1
を入力すると上記のエラーが出るようです。
スクリプトは初めて書くので、書き方に問題があるのでしょうか?
一応行間は空けずに詰めて書きました。
(書くと言うより、コピーペーストで --以降を消去する方法ですが)
ホントビギナーで申し訳ありません。
ファイルメーカーはPro8です。
サンプルで書いていただいたようなページを
新規で作って用意しました。
どうぞもう少しだけ御指南お願いできますでしょうか?
よろしくお願いいたします。
No.6
- 回答日時:
そうではないですよ。
テキストフィールドを1個追加しておきます。
オークションIDフィールドにオークションIDを入れたい場合は
オークションIDフィールドは先の式の計算フィールドか計算式
自動入力(既存値置き換え)にしておきます。
落札されましたメールの該当部分を最初に作ったテキストフィ
ールドにドラッグドロップするだけです。
No.5
- 回答日時:
商品:なんとか
オークションID:12345678
開始価格:1,500 円
開始日時:4月20日 10時 22分
終了日時:4月21日 23時 20分
---------------------------
入札件数:100
落札単価:20,000 円
---------------------------
の部分をテキストフィールドに取り出せたらというのが前提ですが
「オークションID:12345678」は改行テキストの2行目ですから
=GetValue ( テキストフィールド ; 2 )
で取り出せます。
それから「オークションID:」の部分を削除すればいいですから
=Substitute ( GetValue ( テキストフィールド ; 2 ) ; "オークションID:" ; "" )
とかになります。
細かい御指南ありがとうございます。
現在商品名、終了時刻、金額等でフィールド分けしておりますので
それぞれのフィールドにドラッグした後、前出の手続きで
抽出すると解釈してよろしいでしょうか?
現在は一項目ごとにコピーペーストしております。
4項目ほどですので、御指南いただいた方法と
どちらが手間がないかと考えております。
無論、アップルスクリプトもオートメーターも利用したことがないので
何ともいえませんが、理想は、終了画面をだして、まだファイルメーカーに
入力できてない項目を、実行ボタン一つで入力できたら素敵だな~というニュアンスです。
もちろん、終了の通知メールからの抽出でも良いのですが
ワンボタンで、それぞれの項目に転移すると言うことが今までの自分に
無かった知識と技術ですので、憧れもあるのですね。
No.4
- 回答日時:
Applescriptも分からないですが、SafariよりMailの「落札されました」メールなら
商品:なんとか
オークションID:12345678
開始価格:1,500 円
開始日時:4月20日 10時 22分
終了日時:4月21日 23時 20分
---------------------------
入札件数:100
落札単価:20,000 円
---------------------------
という部分があるので、ここを取り出して(手動ならドラッグドロップ)ファイルメ
ーカーのテキストフィールドに入れると、あとは関数でそれぞれ取り出せます。
早速のご回答ありがとうございます。なるほど~の方法ですね。ですが、自分にはすごい壁があります(涙)計算式に毛の生えた程度の関数は使ってますが、ほかの関数の使い方がわかりません。ファイルメーカーの使い方で色々検索してみます。ありがとうございました。
No.3
- 回答日時:
全て AppleScript で書かなくても、Automator に
「Webページを表示」
「Webページからテキストを取得」
「Set Field Values in FileMaker Database」(http://automatoractions.com/files/filemakerautom …)
といったアクションはあるので、これと
「AppleScriptを実行」
アクションでテキストからデータを取り出す AppleScript と組み合わせれば、スクリプトを書く手間が減るかもしれません。
回答ありがとうございました。大変参考になりました。とりあえず、簡単なデーターベース入力画面を作って試してみます。かなり勉強が必要になりそうですが、良い機会になりました。ありがとうございました。
No.2
- 回答日時:
AppleScript をものすごく簡略化したものが Automator だとお考えください。
細かいことをやろうとすれば、結局 AppleScript が必要になります。
> 手ほどき願えませんでしょうか?
具体的なスクリプトは Yahoo! ページの内容と FileMaker Pro データベースの構造に合わせて作る必要があるので、ここでは何とも示しようがありません。
大まかな流れとしては、
Yahoo!オークションのマイ・オークション落札ページの html ソースを取得
目的の情報が記述されている部分を抜き出す
データを FileMaker Pro のフィールドにコピー
以上を繰り返す
というそれぞれの操作を AppleScript で記述すれば、お望みのことができます。
html ソースを取得するには
http://blog.goo.ne.jp/vallie/e/aabfbfca72b0f9c78 …
FileMaker のフィールドに値を入れるには
http://piyocast.com/as/archives/category/applica …
あたりが参考になります。
具体的なご指導ありがとうございます。新たに3フィールドほどの簡単なデーターベース画面を作って練習してみます。オートメーション化は魅力ですが、なかなか一筋縄ではいきませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CDの通常盤と初回盤の見分け方
-
ヤフオク出品でウォッチリスト...
-
ヤフオクで買うときって偽名で...
-
何故レディース物を男が買う?
-
ヤフオクでのお取り置き
-
オークション出品中に直接取引...
-
即決のオークションなのになぜ...
-
むしオークション 支払い むし...
-
オークションで賞味期限切れを...
-
落札者に発送したが、代金の振...
-
落札したものを出品したことあ...
-
◆ヤフオクは出品したら安い価格...
-
ヤフオクで個数を間違えて出品...
-
大至急!利用停止された後、別...
-
Yahooオークション終了したら落...
-
ジャンク品と明記して出品して...
-
代理出品する際の手間賃はどう...
-
ヤフーオークションで、「特定...
-
ヤフオク:キャンセル料を支払...
-
出品している商品に変な質問が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヤフオクで買うときって偽名で...
-
CDの通常盤と初回盤の見分け方
-
ヤフオク出品でウォッチリスト...
-
発送催促の英文
-
オークションでの匿名配送時の...
-
何故レディース物を男が買う?
-
ヤフオクでのお取り置き
-
オークション出品中に直接取引...
-
以前と質問した落札者(韓国に住...
-
むしオークション 支払い むし...
-
落札したものを出品したことあ...
-
新古品(本)の「赤印」って何...
-
盗難品をさがしたい
-
1円オークションについて
-
オークションで賞味期限切れを...
-
発送したいのですが
-
楽オクにて トラブル
-
yahooオークション 出品者のキ...
-
オークションで自作パソコンを...
-
ヤフーかんたん決済とオークシ...
おすすめ情報