![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
プログラミングに詳しい知り合いがおらず、どうかご相談させてください。iPhoneアプリが大好きでプログラムを勉強したいと思うようになりました。そこで勉強をかねて職場の作業の自動化をできないかと考えています。
毎日更新されるウェブサイトの情報(金額や重量の表)に決まった計算を加え、スタッフの携帯電話に送信(プレーンテキスト)するという作業があります。現在はウェブサイトの表を、計算式を設定したExcelを経由し算出した数値をメールへ、コピペを繰り返して行っています。この一連の作業の完全自動ができればと思っています。
門外漢の私にも実現を目指せるものでしょうか。どのような勉強(言語?)が必要で何から始めるのがよいか、おすすめの参考書など、ご教示いただけないでしょうか。どうぞよろしくお願い致します。
◯目的
毎日更新される特定ウェブサイトの決まった箇所に計算を加えて複数の携帯電話に送信したいです。人が関わらずに毎日決まった時間に作業が実行されるのが理想です。勉強がうまくいけばいつかiPhoneアプリをつくってみたいです。
◯私について
現在ごく単純なHTMLが理解できる程度です。最近FileMakerを使って簡単な関数やスクリプトを本を見ながら作成したのですが、この作業がとても面白かったのでプログラムに興味をもちました。
No.4ベストアンサー
- 回答日時:
No.1です。
補足ありがとうございます。
私自身も同じようにWin/Mac環境があり、(将来的には)iPadを使った社内アプリをと思いそのテスト用にipod Touchを購入しました。
iPhoneアプリ開発という点で考えると、Macをお持ちであるということは準備のほとんどが済んだようなものです。iPhoneSDK(年会費制)を入手すれば始めることができます。
但し、はじめるのは簡単なのですが、実際に使えるアプリを作るのは2つの観点から相当敷居は高いと思います。
1つめが、Objective-Cという言語を使って開発しますが、書籍が少なく、自分の程度にあったものが見つかりにくい。
2つめが、iPhoneで実際に使うためにはAppleに申請が必要で、試しに入れて使ってみる、、というのが簡単にはできない。
なので、これは最終的な目標としてプログラミングに慣れてきてからが良いと思います。
今回の自動化したい処理はそこまでしなくとも実現できますので、最初から完全自動を狙わずに部分的に自動化を目指して始めるのが良いかと思います。
WindowsならばVBS(プラスVBA for Excel)、MacならAppleScriptでできます。
書籍やネット上の情報は前者が圧倒的に多く、学習は容易です。
ただ、同じVisualBasic系のスクリプト言語ですが、本家VisualBasicともVBS・VBAともに「似てるけど微妙なところがちがう」ので、混乱しないよう注意が必要です。
VBA for Excel関連の書籍中心に学習するのが良いかもしれません。
AppleScriptは文法自体は独特ですが、覚えるとMacを使って色々する際にはとても便利です。私自身は自動処理類はほとんどWin側でやってしまうので、すぐに忘れてしまうのですが、、、
処理自体はテキスト抽出→整形→メール送信とシンプルです。
どちらで始めても比較的容易に実現できますし、objective-Cはまた趣がまったくちがうので、とりあえずは、自分が良く使うだろうと予測される方で習得を始めると良いかと思います。私個人はVB系をお勧めします。
また、メールに送信せずにHPのページとして作成し、Webサーバーにアップロードするという方法もいいかもしれません。(受信リストが煩雑にならない点ではこちらが便利です。)
プログラムは大変面白いですし、便利です。
覚え始めのころはとにかくうまくいかずイライラすることもありますが、うまくいったときは他の人は「それだけ?」という評価であっても最高に楽しいです。
使う言語が変わってもとりあえず「Hello! World」と画面に表示するところから始めて、徐々に枝葉をつけていけばなんとかなります。
理想のアプリが出来るまで、共にがんばりましょう!
>メールに送信せずにHPのページとして作成し、Webサーバーにアップロードするという方法もいいかもしれません。
携帯端末がiPhoneですので勉強を進めていく中で、試してみたいと思います。
私もいずれObjective-CでiPhoneアプリ開発に挑戦してみたいです。頑張ります!ご教授ありがとうございました。m(゜◇゜)m
No.5
- 回答日時:
開発環境と実行環境をすぐに手に入れる面でVBAではダメでしょうか?
つまりエクセルのマクロです。
エクセル開いて、ボタンひとつおしたらコピペしてきて計算してメール送信。
までやってくれるマクロを作ってみるのがいいかと思いましたが。
これであれば、RSSが普及する以前に一時期その手の物がはやったのでネットで調べればいくらでもコピーするまでの所は情報がでてきますし、エクセルマクロなら結構な書籍やサイトがありますし、メール送信に関しても調べればいくらでもでてくるかと。
ちなみに、自分は仕事で業務用のiPhoneアプリ開発もしたことがありますが、Objective-C書いてると周りから変態と呼ばれ…
ではなく、Objective-Cは情報が少なくて結構苦労します。
そのとき自分は@ITやらCodeZinやらWebマガジンを主体に情報収集していました。
今はまだ少ないですが、ちょこちょこ書籍等も出てきていますので何かあればいいのですが(オススメできずごめんなさい)困ったときはネットのブログやWebマガジン等に欲しい部分が載ってたりするので、そういったところを見つけたらブックマークしておいて定期的に徘徊してみるといいかもしれません。
ご参考になれば幸いです。
「一人でも調べられる資料が豊富」であることの大切さがわかってきました。ご指南いただいたように、まずはVBAを勉強してみようと思います。ご回答本当にありがとうございました。
No.3
- 回答日時:
リンク先の「なでしこ」を拝見いたしました。まさに私の作業の自動化にぴったりの言語だと思いました。教えていただきありがとうございます。m(゜◇゜)m
ただ、できれば今回をきっかけにプログラムをずっと勉強していきたく応用範囲の広い知識を身につけたいと思っています。壁は高いと思いますが頑張りたいと思います。
No.2
- 回答日時:
そうですね……。
アクセスする先のURLは固定ですか?(つまり、いつも決まったアドレスにアクセスをしてデータを得ていますか?)自分で作るなら、とざっと考えたのですが。
1. 指定のURLにHTTP接続し、ページのテキストを取得する。
2. 正規表現を使い、必要なデータ部分を切りだす。
3. メールで送信するテキストを生成する。
4. あらかじめ用意しておいたメールアドレスデータを取得し、メールを送信する。
こんな感じでしょうか。
基本的に、HTTP通信、正規表現、SMTPメール送信、といったことができるなら、どの言語でもできそうな気がします。とりあえず、とっつきやすそうなものということで考えるなら、Webアプリとして作るのがよいようにも思えます。
PHPなどのサーバサイド言語を使い、上記の処理を実行するスクリプトを書き、PHPなどに対応したサーバーにアップロードします。そしてHTMLからボタンを押してそのスクリプトを実行するような処理を考えます。この基本部分ができたら、CRONという機能を使って定時に処理を実行させたり、送信先のURLを設定する機能や、データベースを用いて送信先メールアドレスを管理するような仕組みも作れば完璧でしょう。
開発には、自分のコンピュータにPHPが動くテスト用Webサーバーを用意し、他に実際に公開するためのWebサーバーを用意する必要があります。PHP意外にも、RubyやPythonなどいろいろ考えられるでしょう。まぁ、初めてということならPHPあたりが手頃だろうと思います。
この回答への補足
ご教授ありがとうございます。アクセス先のURLは固定です。
PHP、HTTP通信、正規表現、SMTPメール送信を少し調べてみました。敷居は高いですが挑戦してみようと思います。
ご指南いただいたとおりPHPでいこうと思うのですが、どのくらいの期間を目標にするのが妥当と思われますか?乱暴な質問とは思うのですが、あまりにも先が見えないので、おっしゃっていただけると助かります。あと、良い参考書やひとりで勉強を進めるためのアドバイスがあれば、ぜひ教えてください。漠然とした質問で恐縮ですが、よろしくお願いします。
No.1
- 回答日時:
作業をされているのはMacですか? Windowsですか?
補足お願いします。
iPhoneやFileMakerとあるのをみるとMacっぽいのですが、最近はExcelをMacでやる人はあまり聞かないのでWinかなぁ、、どっちなんだろう、、と思ったので。
それによって回答は大きく異なります。
この回答への補足
お返事ありがとうございます。WINとMAC両方の環境がありますが、プライベートがMACということと送信先の携帯がiPhoneですので、どちらかというと勉強はMACで進めたいと考えています。
WIN7
MacOS10.6
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- TOEFL・TOEIC・英語検定 英会話の習得 4 2022/06/05 10:23
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 退職・失業・リストラ 新人がやばすぎて退職しますが、やるせません 3 2022/05/20 21:57
- 大学受験 自己推薦書の添削や意見・アドバイスお願いします 2 2022/08/27 19:34
- IT・エンジニアリング プログラミング言語選択について 2 2022/07/09 13:23
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 書類選考・エントリーシート 【急ぎです】指定校推薦の志望理由書の添削お願いしたいです! 商学部で1600字中1595字です 志望 1 2023/08/24 02:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HPの更新をしたら自動でメール...
-
javamailで220の応答が遅い
-
処理の早いメール送信プログラム
-
ランダムな文字列を生成しその...
-
VB6にてメールを送信する方法
-
$_SERVER{'HTTP_X_UP_SUBNO'}取...
-
プログラム門外漢にご指南おね...
-
mb_send_mailについて
-
AccessのDoCmd.SendObjectについて
-
WEB上で送信ボタン(Submit)を...
-
PHPのmimeDecode.php について
-
一定時間毎に同じ動作を繰り返...
-
mail関数を使うと遅いので
-
submitボタンの二重送信について
-
どうしたらできるのか困ってます
-
BASP21を使って
-
ヒアドキュメントを利用してメ...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
バッチを用いたフォルダの自動移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6にてメールを送信する方法
-
存在しないメールアドレスかど...
-
AccessのDoCmd.SendObjectについて
-
VBでメールを送る時のSMT...
-
phpのmb_send_mailが迷惑メール...
-
コマンドプロンプトで添付ファ...
-
Bookを閉じて保存した時のみ実...
-
メールアドレスの存在確認はで...
-
Windowsサーバーでメール送信プ...
-
submitボタンの二重送信について
-
ループの中で mailItemObj.Disp...
-
powerbuilderのメール機能について
-
空メールの作り方教えて欲しい...
-
★エクセルVBAでOutlookのメール...
-
【エクセルVBA】メール送信前に...
-
SMTPサーバの指定なしでメ...
-
MAPI コンポーネントを使ったメ...
-
phpでメールを送信
-
メールアドレスを追加して、他...
-
メール送信
おすすめ情報