人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C言語やJAVA言語を使う人から見て、VBAは無用の長物なのでしょうか?

そう思った理由は、以前とあるSNSのコミュニティにて"MS Excel""MS Access"の話題でとある人の「VBAできるといいのかな?」と発言から「VBAの仕組みは?」や「こんなマクロを作ったことがある」と話している中で、ある方が

「そんなのC言語でやればいいじゃん」

という発言をされる方がいました。続けて他の方

「JAVAで作れば余裕だよ」

と別の方が発言されたことから私は

「確かにC言語やJAVAでも可能でしょうが、今はExcelやAccessで使うVBAの話ですよ」

と返しましたら

「VBAしか出来ない奴にロクな奴はいないよ」



「その程度で語らないでくれるかな?」

という発言が続き、私はその話題から離れました。

今の仕事も"MS Excel"や"MS Access"でVBAを用いますが、自分は「プログラマー」と思わいませんし、人から「プログラマーですか?」と聞かれても「そんな大層な者ではありません。」と答えています。

余計な感情部分を入れて申し訳ございません。本題に戻りますが、

C言語やJAVA言語を使う人から見て、"MS Excel"や"MS Access"でVBAは無用の長物なのでしょうか?


●質問者: 魅流 琴音
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

1 ● Vacuum
●14ポイント

C言語、C++組んで20年になります。
プログラム嚙り始めの人ほど、そう言うんですよ。

VBAはインタープリターなので速度の求められる処理には使いませんが、簡単な業務アプリも組んだりしてます。


魅流 琴音さんのコメント
ご回答、ありがとうございます。 Vacuumさんのお言葉に、当時の方がプログラム?り始めの人がどうかはわかりませんが、使い始めた時に「一番使える」と思って発言されたと思いました。感謝しあmす。 確かに速度を求める処理に対してVBAは向いていないですね。業務系アプリもありますが、電気計測でロガー代わりにアプリを組むことはありました。

2 ● degucho
●14ポイント

言語やフレームワークには適材適所があるので
そのときの作ろうとする対象がCやJavaのほうが適したものだったか
話の流れが読めない人だったのでしょう、

「Excelのブックを生成する」というような仕事にCやJavaを使うのは無駄ですし、OS操作やJavaで便利なライブラリが提供されているものにVBAを使うの無駄でしょう。しかしながら仕事となると環境やコストの問題でベストの選択ができることは少ないと思います。

VBAの強みの一つは、オフィスならほぼ100%、一般家庭でもかなりの割合でインストール済みなので環境を選ばないところかとおもいます。
Javaはランタイムのインストールが要りますし、CはWindowsの場合開発環境の準備(と維持)が必要です。

私はプログラマをやっていますが
VBAはライブラリを使う言語として優秀で完成されていますしクライアントPCでOffice製品を操作するには今の所最適解だと思っています。
(サーバサイドで動かす場合はコストをかけても別の手段を検討します)


魅流 琴音さんのコメント
ご回答ありがとうございます。 それぞれに強みや弱みがあり用途としてはそれぞれに適材適所がある、という説明していただき嬉しく感じます。 全てがCやJAVAで出来て当然のような言われ方がとても辛かったです。 未だに私は「プログラマー」と呼べないですが、VBAでは色々とアプリケーションを提供してきました。それは今の仕事でも同じです。 求められるから望まれるとおりに作る、ただそれでだけです。

3 ● jan8
●14ポイント

C言語やJAVA言語を使う人から見ても、
"MS Excel"や"MS Access"のVBAは有用なツールですよ。

Microsoft Officeに最初からVBAが入っているから、
ちょっとVBAでマクロを作ろう、という類のものですよ。

普通はコンパイラ環境であるC言語やJavaと、
特定アプリ用ツールのVBAを比較する人がいるならば、
それは恐らく同じ背景で議論していないと思います。


魅流 琴音さんのコメント
ご回答ありがとうございます。 確かにjan8さんの仰られるように同じ背景で議論してはいなかったです。その方々は「自分のほうが最も有用な言語を使いこなしている。」と言った感じでした。 なので有用なツールと言っていただけるのは嬉しいです。

4 ● pyopyopyo
●15ポイント

VBAは無用とか,XX言語は無用,と考えるのはもったいないと思います

私はC言語もJAVA言語もVBAも業務で使っていますが
長所短所を理解したうえで上手く組み合わせる事が一番大事だと思います

例えば,文字列処理とか日付計算はC言語やJAVAで書くと結構面倒ですが
エクセル + VBAなら簡単です

VBAで処理速度が問題になる場合は,まず Excel 上で日付等の計算をして,結果をCSV形式のファイルで出力するVBAというかマクロを書いて,あとは C/C++ で CSVのファイルを読み込む,という感じでC言語とVBAを連携させます


魅流 琴音さんのコメント
ご回答、ありがとうございます。 それぞれの言語に長所、短所があるからこそ使い方や組み合わせ方が肝心なのですね。 そもそもが「XX言語が無用」とか考えるのは勿体無いというのはまさにその通りですね。

5 ● SweetSmile1978
●14ポイント

言語は目的や用途によって決まります。

Word や Excel、Access の動作をカスタマイズしたいのなら
VBA または、C# か .NET となり、
JAVA や C++ という選択肢はまず出てきません。

ただ、プログラムのセキュリティや信頼性に影響を与えるものなので
将来的には廃止されると思います。


魅流 琴音さんのコメント
ご回答、ありがとうございます。 目的や用途で異なるのは理解できます。 現状Excel、Access の動作をカスタマイズするのが主な業務なので将来的に廃止となると厳しいですね。

1-5件表示/8件
4.前の5件|次5件6.
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ