プロが教える店舗&オフィスのセキュリティ対策術

AUTOMATOR の使い方について

現在、ヤフーオークションの結果をファイルメーカーにコピペして
ファイルメーカーで落札者の管理をしております。

コピー内容は、商品名、終了時刻、落札金額、IDのみですが
AUTOMATOR もしくは、その他なにかのソフトを使って
指定した項目のコピーペーストを自動で行うことは可能でしょうか?

A 回答 (10件)

AppleScript を使えば可能です。

この回答への補足

早速のご回答ありがとうございます。アップルスクリプトの進化版?がAUTOMETORだと思っていました。アップルスクリプトですと、英語で式?を書かないといけないですよね。いくつかサンプルを見ましたが、該当するモノが無く、作り方(書き方)がわかりません。

サファリの何行目のこの項目を、ファイルメーカーの何行目のこの欄へコピーって言う感じなのだと思いますが
手ほどき願えませんでしょうか?よろしくお願いいたします。

補足日時:2010/04/22 18:02
    • good
    • 0

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 …
あたりが参考になります。
    • good
    • 0
この回答へのお礼

具体的なご指導ありがとうございます。新たに3フィールドほどの簡単なデーターベース画面を作って練習してみます。オートメーション化は魅力ですが、なかなか一筋縄ではいきませんね。

お礼日時:2010/04/22 22:00

全て AppleScript で書かなくても、Automator に


「Webページを表示」
「Webページからテキストを取得」
「Set Field Values in FileMaker Database」(http://automatoractions.com/files/filemakerautom …
といったアクションはあるので、これと
「AppleScriptを実行」
アクションでテキストからデータを取り出す AppleScript と組み合わせれば、スクリプトを書く手間が減るかもしれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。大変参考になりました。とりあえず、簡単なデーターベース入力画面を作って試してみます。かなり勉強が必要になりそうですが、良い機会になりました。ありがとうございました。

お礼日時:2010/04/22 21:51

Applescriptも分からないですが、SafariよりMailの「落札されました」メールなら



商品:なんとか
オークションID:12345678
開始価格:1,500 円
開始日時:4月20日 10時 22分
終了日時:4月21日 23時 20分
---------------------------
入札件数:100
落札単価:20,000 円
---------------------------
という部分があるので、ここを取り出して(手動ならドラッグドロップ)ファイルメ
ーカーのテキストフィールドに入れると、あとは関数でそれぞれ取り出せます。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。なるほど~の方法ですね。ですが、自分にはすごい壁があります(涙)計算式に毛の生えた程度の関数は使ってますが、ほかの関数の使い方がわかりません。ファイルメーカーの使い方で色々検索してみます。ありがとうございました。

お礼日時:2010/04/22 21:54

商品:なんとか


オークション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:" ; "" )
とかになります。
    • good
    • 0
この回答へのお礼

細かい御指南ありがとうございます。
現在商品名、終了時刻、金額等でフィールド分けしておりますので
それぞれのフィールドにドラッグした後、前出の手続きで
抽出すると解釈してよろしいでしょうか?

現在は一項目ごとにコピーペーストしております。
4項目ほどですので、御指南いただいた方法と
どちらが手間がないかと考えております。
無論、アップルスクリプトもオートメーターも利用したことがないので
何ともいえませんが、理想は、終了画面をだして、まだファイルメーカーに
入力できてない項目を、実行ボタン一つで入力できたら素敵だな~というニュアンスです。

もちろん、終了の通知メールからの抽出でも良いのですが
ワンボタンで、それぞれの項目に転移すると言うことが今までの自分に
無かった知識と技術ですので、憧れもあるのですね。

お礼日時:2010/04/23 18:07

そうではないですよ。


テキストフィールドを1個追加しておきます。
オークションIDフィールドにオークションIDを入れたい場合は
オークションIDフィールドは先の式の計算フィールドか計算式
自動入力(既存値置き換え)にしておきます。
落札されましたメールの該当部分を最初に作ったテキストフィ
ールドにドラッグドロップするだけです。
    • good
    • 0

メールから読み取るにも 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
「AUTOMATOR の使い方について」の回答画像7

この回答への補足

詳しくありがとうございました。今スクリプトを書き写して実行してみましたが、
"&1 を取り出すことはできません。"
と出てきます。
1行ずつ試しに実行してみますと
お書きいただいた9行目の
set aName to text item 2 of line1
を入力すると上記のエラーが出るようです。
スクリプトは初めて書くので、書き方に問題があるのでしょうか?

一応行間は空けずに詰めて書きました。
(書くと言うより、コピーペーストで  --以降を消去する方法ですが)

ホントビギナーで申し訳ありません。
ファイルメーカーはPro8です。
サンプルで書いていただいたようなページを
新規で作って用意しました。
どうぞもう少しだけ御指南お願いできますでしょうか?
よろしくお願いいたします。

補足日時:2010/04/24 16:33
    • good
    • 0

capy2009さんの書かれたスクリプトは、メール本文の1行目に「商品:」がある場合です。


実際には前文?があるわけで、「商品:」は23行目のようですから
1行目を取り出すには
set line1 to item 23 of aList as text --1行目の:以降を取り出す(商品名)
とする必要があり、下の行も同じです。

おめでとうメールの「商品:」が必ず23行目にあるのかどうかは、私にはわかりません。
    • good
    • 0
この回答へのお礼

疑問点に的確にお答えいただきましてどうもありがとうございました。素人の私にわかりやすくご説明いただきまして、感謝いたします。今回は具体的なスクリプトを書いていただいたcapy2009さんにベストアンサーをつけさせていただきましたが、ホントに優劣つけがたい、すばらしいお答えでした。どうもありがとうございました。また疑問が出てきました際にはよろしくお願いいたします。ありがとうございました。

お礼日時:2010/04/25 19:11

妙ですね。

メールの内容に間違いはないですか?メッセージを新規作成して、最初の行が「商品:なんとか」になるようにコピーペーストしてください。空白の行などがあると当然ずれるので結果がおかしくなります。

試しに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行目の:以降を取り出す(商品名)
「AUTOMATOR の使い方について」の回答画像9
    • good
    • 0

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行目)---------------------------

となるようにメールを作成してください。

実際のメールに使うには適宜修正が必要です。行数ではメールによって違う可能性が高いと思いますので、必ず出てくる文をキーワードにするなどの工夫が必要になるでしょう。

あくまで「こんなこともできますよ」という基本を示すためのものですので、これで動いたらあとは自力でどうぞ。
    • good
    • 0
この回答へのお礼

素人の私にも使えるよう、直接スクリプトを作っていただきましてありがとうございました。chieffishのフォローと共に、大変参考になりました。何とか使えるようになりそうです。これを足がかりに、一つ上のパソコン使いになれそうです。どうもありがとうございました。また疑問が出てきました際にはよろしくお願いいたします。ありがとうございました。

お礼日時:2010/04/25 19:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!