- ベストアンサー
プログラムの勉強と自動化作業についての相談
- プログラミングに詳しい知り合いがおらず、iPhoneアプリ作成のためのプログラムの勉強を始めたいと考えています。また、職場の作業の自動化にも取り組みたいと思っています。
- 職場の作業において、毎日更新されるウェブサイトの情報に決まった計算を加えて携帯電話に送信する作業があります。現在はExcelを経由して手作業で行っているため、完全自動化を目指しています。
- 私はHTMLの基礎を理解しており、最近はFileMakerを使って簡単な関数やスクリプトを作成しています。この経験からプログラムに興味を持ち、より高度なプログラミングを学びたいと考えています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
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」と画面に表示するところから始めて、徐々に枝葉をつけていけばなんとかなります。 理想のアプリが出来るまで、共にがんばりましょう!
その他の回答 (4)
- rebi_asuna
- ベストアンサー率63% (7/11)
開発環境と実行環境をすぐに手に入れる面でVBAではダメでしょうか? つまりエクセルのマクロです。 エクセル開いて、ボタンひとつおしたらコピペしてきて計算してメール送信。 までやってくれるマクロを作ってみるのがいいかと思いましたが。 これであれば、RSSが普及する以前に一時期その手の物がはやったのでネットで調べればいくらでもコピーするまでの所は情報がでてきますし、エクセルマクロなら結構な書籍やサイトがありますし、メール送信に関しても調べればいくらでもでてくるかと。 ちなみに、自分は仕事で業務用のiPhoneアプリ開発もしたことがありますが、Objective-C書いてると周りから変態と呼ばれ… ではなく、Objective-Cは情報が少なくて結構苦労します。 そのとき自分は@ITやらCodeZinやらWebマガジンを主体に情報収集していました。 今はまだ少ないですが、ちょこちょこ書籍等も出てきていますので何かあればいいのですが(オススメできずごめんなさい)困ったときはネットのブログやWebマガジン等に欲しい部分が載ってたりするので、そういったところを見つけたらブックマークしておいて定期的に徘徊してみるといいかもしれません。 ご参考になれば幸いです。
お礼
「一人でも調べられる資料が豊富」であることの大切さがわかってきました。ご指南いただいたように、まずはVBAを勉強してみようと思います。ご回答本当にありがとうございました。
- momogonknight
- ベストアンサー率0% (0/1)
私も超がつく初心者ですが、「なでしこ」でできそうですよ。検討されてみてはいかがでしょう。
- 参考URL:
- http://nadesi.com/
お礼
リンク先の「なでしこ」を拝見いたしました。まさに私の作業の自動化にぴったりの言語だと思いました。教えていただきありがとうございます。m(゜◇゜)m ただ、できれば今回をきっかけにプログラムをずっと勉強していきたく応用範囲の広い知識を身につけたいと思っています。壁は高いと思いますが頑張りたいと思います。
そうですね……。アクセスする先の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でいこうと思うのですが、どのくらいの期間を目標にするのが妥当と思われますか?乱暴な質問とは思うのですが、あまりにも先が見えないので、おっしゃっていただけると助かります。あと、良い参考書やひとりで勉強を進めるためのアドバイスがあれば、ぜひ教えてください。漠然とした質問で恐縮ですが、よろしくお願いします。
- shut0325
- ベストアンサー率40% (490/1207)
作業をされているのはMacですか? Windowsですか? 補足お願いします。 iPhoneやFileMakerとあるのをみるとMacっぽいのですが、最近はExcelをMacでやる人はあまり聞かないのでWinかなぁ、、どっちなんだろう、、と思ったので。 それによって回答は大きく異なります。
補足
お返事ありがとうございます。WINとMAC両方の環境がありますが、プライベートがMACということと送信先の携帯がiPhoneですので、どちらかというと勉強はMACで進めたいと考えています。 WIN7 MacOS10.6
お礼
>メールに送信せずにHPのページとして作成し、Webサーバーにアップロードするという方法もいいかもしれません。 携帯端末がiPhoneですので勉強を進めていく中で、試してみたいと思います。 私もいずれObjective-CでiPhoneアプリ開発に挑戦してみたいです。頑張ります!ご教授ありがとうございました。m(゜◇゜)m