質問: uwscはどのプログラミング言語? いつもお世話になります。 先日uwscというものを知り、それがスクリプト言語で動くということを知ったのですが、 uwscというのは、どのプログラミング言語を覚えれば使いこなせるのでしょうか? プログラミング言語にもc言語やperl,php等あると思うのですが、どれがどのように違うのかがさっぱりわかりません。 よろしくお願いします。
回答: おお!? どなたかと思いきや、あの「自動でweb情報を収集して、加工してexcelに入れたいのだ」と いっておられた方ですね。 そういうことでしたら、このuwscはかなりマッチングしています。 むしろ、perlやpythonよりもマッチ度は上かもしれません。 ただし、マニュアル「uwsc.chm」には正規表現に関する記述が見当たりません。 peguule さんの目指すものに対して、正規表現は必ず必要になると考えます。 http://mikan.be/kajika/?uwsc%2f%c0%b5%b5%ac%c9%bd%b8%bd あたりを参考として導入が必要と思います。 他は、パッと目をとおした限りでは、uwsc.chm のヘルプ内で記載されている内容で 目的のものは充分出来ると思います。 本文 ここまで ======================================================================== ======================================================================== [[p.s.]] 確か、あの後、より具体的なアドバイスを求める質問が一度投稿されて、 結構短時間で、消されたのではないか、というのを覚えています。 今では必要ないかもしれませんが、その時に投稿しようとしていた文面が残ってますので せっかくですし、もったいないので、ここに残しておきたいと思いますw peguule さんが、uwscで解決すると決めた上においても、 充分に、参考となるキーワードがちりばめられていると思います。 以下、その時用意していた投稿内容 ======================================================================== ■言語は絞る >perl、c#、python、c/c++等のプログラミング技術 1つ1つが学習に時間がかかるので手広くやるのは無理です。 「1つ」に絞った方が良いと思います。 ■ネットへのアクセス (例:perl) ページの取得 http://www.yetipapa.com/sekita/mashi_tra/win32-internet-0.084/lib/internet.pm a)urlエンコード・urlデコードの概念 b)文字コードのエンコード・デコードの概念を知る ■サイトのwebapi(他者のを利用) (例:perl) http://search.cpan.org/~boumenot/net-amazon-0.59/lib/net/amazon.pm 通常完全にモジュール化されているので、「オブジェクト指向」の基礎中の基礎ぐらいの理解が必要。 目的によっては、第3者のものを使えない場合もある(むしろ結局使わない場合が多い) ■サイトのwebapi(自分で作成) htmlの知識、正規表現の知識が必要となる。 対象のサイトが公式にxmlを提供(webapi化可能状態)している場合、xmlの基礎と、正規表現の基礎があると、 正確性が飛躍的に増す。 正規表現は学ぶまでもなく、通常、人は認識している事柄なので、あとは記号との結びつきを1つずつ覚える。 記号だらけで臆しがちだが、書くのは比較的簡単。 「正規表現を使えるようになるか否かが、webからの情報部分取得を決定的に制するかどうか」の最大要因。 http://www.mnet.ne.jp/~nakama/ また、正規表現を扱えるようになると、pcの作業時間を短縮する能力が確実に1ランクアップする特典ありです。 ■win32のcomに関し、知識が必要となる。 エクセルに落とすということではなく、 プログラムによってwebからプログラム内へと落とし、 プログラム内でエクセルの所定の位置へとデータを格納するというイメージです。 (例:perl) http://support.microsoft.com/kb/214797/ja http://www.drk7.jp/mt/archives/001251.html 一見、見ようみまねで何とかなりそうですが、 実際には、どの言語を選ぶにしても「多次元配列」、厳密には、 「「配列への参照」の配列への参照」という、なかなか入り組んだ概念を理解する必要がある。 これはプログラミング経験が浅い場合、大抵いい加減なまま飛ばしやすい項目。 どの言語を選ぶにしろ、配列への「参照」もしくは配列への「リファレンス」といった項目に特に力を置いて学ぶこと。 リファレンスとその使い方、挙動を充分に理解しているか否かは、 その人のプログラムのレベルの判断基準となる項目です。 cell(~)を使ったアクセスで基本を覚えたら慣れてきたら、rangeを使って一気に大量のデータをexcelに書く方法を覚える。 大量のデータなど無い場合は、cellによるアクセスのままでok. ■「カテゴリを選んでください」等のボタン ここが実装でもっとも分かれるところとなるでしょう。 言語に搭載されているguiのapiを使うか、 それとも、win32のcom経由で、excelに間接的に命令を送り、excelのguiの機能を使うのか。 ■excelについて補足。 下記程度は、excelの教養として知識を習得しておいた方が何かと便利です。 ・「条件付書式」を知る ・vbaによる「ユーザー関数」を知る ・「ユーザー関数」は「条件付書式」の条件として使えることを知る。 ・vbaによる「外部プログラムを呼び出す」を知る (例:vba) http://ameblo.jp/archive-redo-blog/entry-10033356292.html ・イミディエイトウインドウでexcelに予め用意されている「?定数名」を入れて値を知る方法も一応しっておく。 (ネット上に情報が無かった場合に有用となる) ・excelのツールの「マクロ」->「新しいマクロの記録」を知る。 これによって、記録するとvbaが自動で、該当の行為をプログラム化してくれることを知る。 excel上にあり、ネット上には情報が無い場合、この機能によって、該当部のプロパティ名や メソッド名を得ることで、自分が選択した言語でどのように記載すれば良いのか、最も大きなヒントを得た状態となる。 (慣れてくると、スラスラvba⇒自分の選択している言語へと変換できるようになる) ■学習 ・プログラミング言語を1つ選択し、基礎文法は抑える。 ・配列・リファレンスの項目が該当言語のどこで出てくるかは言語によってかなり異なるが、理解できるまで飛ばさないこと。 ・クラス関連の項目については、これらのプログラムに関して言えば、それほど必須ではない。 「名前空間」・「カプセル化されたクラス・モジュール」・「クラスからオブジェクトを生む」「クラス・オブジェクトにはメソッドが生えている」 程度の理解が得られればなんとかなるでしょう。 ================================================================= 以上、その時の投稿内容、終わり この最後の、『「名前空間」・「カプセル化されたクラス・モジュール」・「クラスからオブジェクトを生む」「クラス・オブジェクトにはメソッドが生えている」』 について、「uwsc」では、概ね部分に機能を絞って提供されているようですので、理想的だと思います。