言語選択についてのアドバイス

このQ&Aのポイント
  • 言語選択についてのアドバイスをお願いします。現在はEXCELのVBAを使用してツールを作成していますが、勉強と処理効率向上のためにJAVAでの開発を考えています。具体的には、IEの画面からEXCELのBOOKを選択し、データをMySQLに変換して処理を行い、結果をEXCELに戻すという流れにしたいと思っています。
  • 現在のツールはEXCELのVBAを使用しており、入力データは他のEXCELBOOKのデータで、処理はACCESSのMDBを経由して行っています。しかし、処理速度の向上と勉強のために、ツールを全面的に作り直すことを検討しています。具体的には、IEの画面からEXCELのBOOKを選択し、データをMySQLに変換し、処理を行い、結果をEXCELに戻すという流れをJAVAで実現したいと考えています。
  • 言語選択についてアドバイスをお願いします。現在はEXCELのVBAを使用してツールを作成していますが、勉強と処理効率向上を兼ねてJAVAでの開発を検討しています。具体的な流れとしては、IEの画面からEXCELのBOOKを選択し、データをMySQLに変換し、処理を行い、結果をEXCELに戻すという流れです。どの言語が開発に適しているか、またEXCELのデータをMySQLにする方法など、アドバイスがあればお願いします。
回答を見る
  • ベストアンサー

言語選択についてアドバイスをお願いします。

いつもお世話になっています。 言語選択についてアドバイスをお願いします。 下記処理を行うにあたり、どの言語で作成するのが効率がいいかアドバイスをお願いします。 【現在】 社内にて、先人が作った下記パターンのツールが数々あります。 ・ツールはEXCELを立ち上げて、EXCELのVBAから起動&制御している。 ・入力は他のEXCELBOOKのデータ(MAXで2シートぐらいに分割されたデータなので(65536×2)件ぐらいです。) ・処理は選択したBOOKをいったんACCESSのMDBに変換し、ACCESS、およびEXCELのVBAにてデータをこねくり回して結果をだしてます。 (処理速度を上げるためにMDBに変換していると思われます。) ・出力はMDBの結果をEXCELにもどしています。(出力結果が0件の場合もあれば相乗で2シートに収まらない場合もあります。) 【目指すところ】 勉強&処理効率向上のためにツールをすべて作り直したい。 僕のレベルはEXCELVBAでちょっとしたツールを作れるぐらいです。 (1)IEの画面からEXCELのBOOKを選択。 (2)BOOKのデータをMySQLに変換。 (3)データをこねくり回す。 (4)結果をEXCELに戻す。 メインはJAVAを勉強してチャレンジを考えてます。 (1)はHTML? (2)-1 JAVAでEXCELを読み込むのが大変そうなので、いったんVBScriptでCSVに変換する。 (2)-2 その後、JAVAにてCSVをMySQLにて変換。 (3) JAVAでデータをこねくり回す。結果をCSV出力。 (4) CSVをVBScriptでEXCELに戻す。 EXCELのデータをMySQLにする方法とか、この言語の方が開発しやすいよー等々、 言語選択についてアドバイスがあればよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.3

> えっと、基本的にデータはEXCELで管理されているのです。 > 情報を追加、削除するときは手でEXCELを編集しています。 改善するのなら、ここからしないと ^^; Excelを使うという前提があるのなら、前回の回答のとおりです。 他の言語でも、Excelを利用できないことはないんですが・・ 一例としては Ruby による Win32OLE プログラミング http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/ruby-win32ole.html こんなのとか。 > 先人がすでにASSCESS、EXCELのVBAでツールが作成されているのですが、 > いろんな人が作ったので統一されていない(同じツールでも、人によっては > 違うバージョンを持ってたりする)ので、 > 自分の勉強をかねて、Webで作りたいなー。と。 > Webにしたいのは、そうすればツールを一箇所に集めることができるかと? すべて、自分で管理をしていくことになるんですが、分かっていますよね? その会社で一般的じゃないツールを利用するということは、自分が担当から 離れても、その仕事をサポートする必要がでてきます。(たぶん。) 仕事で開発をする場合、そういった観点も持たなければいけないです。

nekotaru
質問者

お礼

回答ありがとうございます。 いろんな言語があるんですねー。 Rubyとか。。。 勉強になりました。 ありがとうございます。

その他の回答 (3)

回答No.4

VBAができるならVisual Basic。 ただし6まで。 .NET以降は名前こそVBだけど別言語。 >Webは処理効率(性能)はそんなに悪いですか?? それ以前に社内用のイントラネットで使う Webサーバは用意できますか? それの保守管理できる人はいますか? (構築はできても後々の管理ができる人)

回答No.2

>【目指すところ】 >勉強&処理効率向上のためにツールをすべて作り直したい。 >僕のレベルはEXCELVBAでちょっとしたツールを作れるぐらいです。 冷たい一言ですが、 ExcelVBAしか使えない人がJavaで既存ツールを作りなおすのは不可能と思った方がいいですね。 上記質問から既存はC/Sですよね? それをWebにする理由はなんですか? (と、聞いても作業効率ではなく処理効率とか 言ってるくらいですから無駄っぽいですが・・・) 処理効率を上げたいなら費用も少なくてすみそうなAccessで十分です。 (会社から見た場合の費用対効果です)

nekotaru
質問者

補足

回答ありがとうございます。 基本的なことがわかってないのは自覚があります。 VBAしかやってこなかったので、違うことにチャレンジしてみようかと・・・。 Webは処理効率(性能)はそんなに悪いですか??

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> (1)IEの画面からEXCELのBOOKを選択。 > (2)BOOKのデータをMySQLに変換。 > (3)データをこねくり回す。 > (4)結果をEXCELに戻す。 Office との連携があれば、VBなどの言語がいいと思いますが・・ .Net 系であれば、どれでもいいですけどね。 Visual C# で Excel を自動化して、配列による範囲内へのデータ入力および範囲内からのデータ取得を行う方法 http://support.microsoft.com/kb/302096/ja Excelが必要な理由も記述されていませんので、的確なレスは難しいかも。 記述されている内容であれば、AccessVBAで作りこむというのもありでしょうから。

nekotaru
質問者

補足

回答ありがとうございます。 >Excelが必要な理由も記述されていませんので、的確なレスは難しいかも。 えっと、基本的にデータはEXCELで管理されているのです。 情報を追加、削除するときは手でEXCELを編集しています。 これを改善するために、先人がすでにASSCESS、EXCELのVBAでツールが作成されているのですが、いろんな人が作ったので統一されていない(同じツールでも、人によっては違うバージョンを持ってたりする)ので、 自分の勉強をかねて、Webで作りたいなー。と。 Webにしたいのは、そうすればツールを一箇所に集めることができるかと? >記述されている内容であれば、AccessVBAで作りこむというのもありでしょうから。 効率でいえば、VBAが一番いいのでしょうね^^

関連するQ&A

  • テキスト処理の速度の速い言語

    最大80MBまで増加するテキストファイルがあります。 あるアプリケーションのログファイルです。 最大80MBまで達します。 80MBまで達したら新しいファイルが作成され、 そこにログが出力されます。 このログファイルの中身を読み取り、 ある処理をして、計算結果や、必要な箇所を別のテキストファイルに 出力するプログラムを作成しました。言語はVBScriptです。 このプログラムを10分に一度実行する必要があります。 そこで問題になってしまったのが、処理時間です。 前回の処理が終わらないまま10分が経過して 次の処理が開始されてしまうのです。 特にまずいのがデータ量の多い期末や年度末です。 そこでVBScriptよりも速くテキスト処理を行える言語を教えて下さい。 BATでもJScriptでもPerlでもCでもC++でもJavaでも何でも良いです。 教えて下さい。 よろしくお願いします。

  • Excel,Accessの他言語からの起動について

    Cobolのような従来の事務言語の処理中にExcelやAccessといった簡易言語を起動させデータを受け渡す場合CSVで結果を出力して受け渡すことは、簡単にできます。しかし出力結果を自動でExcelやAccessに取り込ませて結果を出力させる場合には、特別な処理が必要だと思いますが、そのような事務処理言語での記述例や記述の仕方について教えてください。汎用機では半角(1バイト系)と全角(2バイト系)はシフトコードを挟み区別させています。また文字サイズをプログラム中でします。しかしExcel等では出力時に任意に文字サイズを指定できます。そのような事を汎用機でいうJCLの記述のような仕方でPCでできるのか。できるとすればどのように記述すればよいのかを例示しているサイトなどをご存じでしたらご教示ください。よろしくお願いします。

  • DBをエクセル表に出力

     失礼致します。先ほど質問させて頂いたjavateaです。 同じ内容の質問ですが、多少知識が増えました。 よろしくお願いします。 今、MySQLドライバを使ってデータベースに接続、クエリーを実行して結果セットを取得、画面(ローカルホストのブラウザ)に表示させています。 目的としましては、このデータを画面上のボタン(リンクでも)を押すことによってダウンロードし、エクセル表に出力したいです。 そのためにはまず、データをCSV形式に直す必要があり、その後でダウンロード機能をつければいいのではないかということを聞きました。このCSVへの変換はどうすれば出来るのでしょうか?javateaはjavaで記述しているのですが、phpでははじめからCSV出力機能が付いているらしいですね。javaでも簡単に出来ないのでしょうか? 小さな事でもいいので教えてください。よろしくお願いします。m(__)m

  • プログラミング言語の選択(クライアント・Webブラウザ上で動作)

    タイトルの通り、言語の選択で悩んでおります。 条件としては以下の通りです。 ・クライアントで動作する ・Webブラウザ上で実行可能 ・出来ればHTMLとの親和性が高い ・Accessファイル(.mdb)やExcelファイル(.xls)の操作が可能 やりたいこととしては、何らかの情報を持ったMDBかXLSファイルを 操作するにあたり、情報が多くなりすぎた際に便利なインタフェースとして Webブラウザを介して特定のMDBかXLSファイルを操作したいというものです。 サーバサイド環境ですと、PHP+MySql等で無料で望ましい利用が可能なのですが、 今回は動作はクライアントサイド、DBの代わりにMDBかXLSファイルという条件で利用したいです。 例えば簡単なフォームから必要な情報を検索、テーブルにより表示したり 更新したい行を指定して、更新処理を行ったり・・です。

  • 開発言語の選択

    端末型アプリケーションをWEB化しようとしているのですが 使用する言語でなやんでしまっています。 受発注システムで現在はVBを使って行っています。 各顧客先に注文用の端末が用意されていてそれにVBで作ったソフトを インストールしているといった形です。 困ったことに各顧客は顧客の持っているシステムと連携をとるため データ変換などの処理を行っています。 処理の流れはこんなかんじなのですが・・・ ●顧客がVBの画面から発注データファイルを選択 (発注データは顧客システムでつくられている) ●発注データを発注受付サーバが読み取れるようにデータ変換 (データ変換は各顧客端末に変換マスタをもたせて対応) ●発注受付サーバに送信 ●受注結果を表示 VBだとインストールされているすべての顧客先に出向いて プログラムを更新する必要があり またDLL等のバージョン管理も 非常に難しいとききました。 顧客側の要件として ソフトの一括管理を行いたい。 更新作業を軽減できないものか ということでした。 DLLが必要がないという点でDelphiにしようかという案もでましたが やはりWEBでやるのが妥当なのだと思っています。 クライアント側でやってる処理がWEBになると かなり負荷がでてくる ような気がしていますが いま現状のスピードはなるべく 落としたくない という難題もかかえていて 言語としては なにを使用するのが妥当なのか まよっています。 (ColdFusion Java VB.net ASP.net 等) なにかよい案がありましたら ささいな点でもよいので おきかせねがいますでしょうか? ビギナーSEより

  • 画像変換処理に使用するプログラミング言語

    プログラミング初心者です。 画像変換処理をプログラムしようと考えているのですが、JavaやC#など画像処理に向いていると思われる言語の種類が多くてどの言語でプログラムを組もうか迷っています。 経験者の方、是非ともアドバイスをお願いします。 具体的な画像変換処理ですが、画像を直交座標から極座標へ変換するといったことです。つまり、アスペクト比3:4等の画像を円形に変換したいのです。 使用する予定の言語はJavaを考えています。これを選択した根拠は特にないです。 質問事項としては、 (1),上記のような画像変換処理を行える言語は何か。 (2),(1)の中でプログラミング初心者が扱いやすい言語はどれか。 以上を教えていただきたいです。何卒、宜しくお願い致します。 P.S.添付データは、直交座標の画像で極座標変換を行った画像です。ちなみにGIMPというフリーソフトを使用しました。

  • Access2000のMDBファイルをVBScriptやWSH?で

    Access2000のmdbファイルがあります。 VBScriptでテーブル名の一覧をテキストに落としたり、 特定のテーブルのレコードにあるデータに1.05を掛けて テキストにcsvの形で出力させたいのですが、何か良いサンプルはあるのでしょうか?

  • R言語のクラスタリングについて(kmeans)

    よろしくお願いします。R言語のクラスタリング結果の出力についての質問です。 10個のパラメータを持つデータの集合の解析を行っております。 データ数は10000です。 R言語にてk-means法を用いて5つクラスタリングを行いました。 この5つのクラスタそれぞれについて、そのクラスタに所属するデータをCSVで出力したいのですが どのような手段をとればよろしいでしょうか? たとえば、 $size で クラスタ1のサイズが1500だったときに、 その所属データの情報を10列、1500行のCSVで出力する方法がわかりません。 helpでvalueを見てみたのですが、$cluster[index]だとそのindexの所属するクラスタ番号が返されるだけなので、クラスタごとの出力になりません。 どなたかご教授お願いいたします。

  • MS-ACCESS VBA で外部のMDBに直接インポート!?できませんか?

    表現がおかしいとおもいますが、適切な表現が出来ませんでした。 まず、プログラムとデータ部にMDBを分けてあります。 テキストファイル(csv)や、Excelファイル(xls)の複数のデータをMDBに変換し、データ部(MDB)に保存したいのですが、何か良い方法はありませんか? 私が知っている範囲だと先ず、テキストファイル(csv)をカレントMDBにインポートし、外部のデータ部MDBにエクスポート。 これでも出来るのですが、直接外部のデータ部MDBにテキストファイル(csv)を書き込めないでしょうか?

  • MDBファイルをCSV出力したい

    こんばんは。 環境: OS:WINDOWS2000 VB6.0 sp5 アクセス2000 VBからアクセスのMDBデータをCSV形式で出力させようとしています。  mdbファイルが実行中にVBのexeを起動してcsvファイルを取得したいのですが、いい方法が分かりません。 閉じているMDBファイルのデータをCSVで出力することは可能です。  MDBファイルが開いているとexeを実行した時に「実行時エラー7866 データベースが開いています」というようなメッセージが出て処理ができません。 なにかいい方法はないでしょうか よろしくお願いいたします。