###前提・実現したいこと
現在、業務で使用するツールをVBAにより作成しております。
しかし、処理速度やUIの関係上別の言語にてツールを作成することを検討しております。
そこで、オススメの言語があったら教えてください。
【作成ツール概要】
・小規模開発
・テキストデータ取得
・タイムテーブル作成
・タイムテーブル内編集
・動的UI
以上のような内容でオススメ言語をお願い致します。
###発生している問題・エラーメッセージ
エラーメッセージ
###該当のソースコード
ここにご自身が実行したソースコードを書いてください
###試したこと
私なりの検討では、RubyかJavaScriptが候補に挙がっております。
どちらも詳しくはありませんが、開発規模、エクセル処理、動的UI等を考慮するとこの2つは有力かと思った次第です。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答8件
0
かなりExcel+VBAの利用暦が長いのであれば、できるだけ似通ったものが良いと推測します。
Googleのspreadsheet+GoogleAppsScriptはいかがでしょうか。
ほぼExcelのような見た目のままJavaScript(を拡張したような言語)で処理が記述できます。
タイムテーブルと動的UIというのは、何を指しているのかもう少しご説明いただけると助かります。
投稿2017/08/16 14:55
総合スコア1947
0
開発に web の知識が必要ですが、HTML と JavaScript、CSS で開発できる electron は如何でしょうか。
VBA のスキルとはだいぶ掛け離れますが、ライブラリも豊富なので VBA にしか出来ない物はほぼ無いといっても良いかと思います。VBA から扱っていた COM (CreateObject で作っている物) も win32ole というパッケージを使えば JavaScript から扱えます。
画面は自由度高いので VBA より優れていますし、COM を使わないのであればマルチプラットフォームに配る事も出来ます。
さらに言うとインストーラを作る事も出来るので一般ユーザ向けのアプリケーションにも向いています。ちなみに僕が作った electron アプリをプログラミングを知らない息子が使っています。
VBA を捨てて一番問題が起きにくいとすれば electron が良いのではと思います。
投稿2017/08/16 16:32
総合スコア5030
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ACCESSは対象から外れました?
追記
akabee様へのコメントも見ました。
現状はエクセルなのでスタンドアロンで利用されていると思いますが、複数名が使用されているのでしょうか?
複数名の場合サーバーを立てますか?それともスタンドアロンとしてプログラム配布?
また、RubyかJavaScriptと言われているので、webページを画面とするということになるかと思いますが、使用するブラウザやバージョンによって同じコードでも動作しなかったりすることがあるのはご存知ですか?
その他、CSVファイルの操作がありますが、基本的にブラウザを経由してローカル・リソースにはアクセスできません。
(それができちゃうと、どこぞのサイト開いたらハッキングされた、なんてことになりますから)
ファイル操作をやるとしたらサーバーを立てそのサーバー経由でということになります。
サーバーは物理的に分かれていなくても大丈夫ですが、webページを画面にするなら、webシステムの環境も含めて構築する必要があるかと思います。
(webページだと、HTMLやCSSとかも覚える必要が出てきますし)
運用方法まで変更しないのであれば、Accessには表形式でデータ操作可能なデータグリッドコントロールがあり、データとリンクするだけで直接編集できますのでエクセルでテキストボックス貼り付けたフォームを使用していて重いとかであれば改善されると思われます。
投稿2017/08/16 16:36
編集2017/08/19 07:45総合スコア25184
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/18 16:39
2017/08/19 07:33 編集
2017/08/20 04:53
0
ベストアンサー
もともとが方眼紙Excel + VBAという事であれば、有償商品ですけどForguncyという選択肢もあります。Forguncyはノンプログラミング開発ツールと言われる分野の製品のようで、他にもFileMakerやkintoneあたりが有名らしいです。いずれも有償ですが、元々なんらかのプログラミング言語に精通していなければ、選択肢としては有りだと思います。
他の選択肢として、VBAが言語としていらついて困ると言うだけなら、LibreOffice + Pythonという手もあります。ただし、PythonのコーディングをLibreOffice上でできないなどの問題があるため、万人にお勧めできるものではありません。
※ VBAにいらついているのは、私の個人的な感想です。
他、雑多に
- ElectronはWebページを作ったことがあることが前提です。
HTMLやCSSは独特のUIの作り方になるため、それなりに知識が無いと期待通りのものを作ることは難しいです。teratailでもWebページのデザインがー、CSSがー、って質問がよくあがりますが、Electronも同様なことが起きると言うことです。
なお、Electronを配付する場合、かなり大きいですので、ご注意ください。
- .NETにするなら、C#をお勧めします。
現在のVB(VisualBasic)はVB.NETとも言われ、VBAの基になったVB6以前のVBとは異なるものです。文法の表記方法だけVB6から継承し、.NET向けに作り直したのがVB.NETだからです。私の感覚的にC++とC#の違いぐらい、VB6以前とVB.NET以降が違います。
つまり、何がいいたいかというと、VBAに似ていると言うだけでVB.NET以降のVBにしてしまうと、その違いに戸惑って、うまくいかない可能性が高いと言うことです。これなら、全く新しいものという覚悟でC#を学んだ方が、戸惑いも少なく、習得速度も速いと思っています。
なお、どちらがより使われているかについては、C#の方がランキング等で上位になっています。かつてMicrosoftは、他よりも使われていないという理由でJ#(Javaっぽい.NET言語)を抹消した実績がありますので、数年後にVBも同じ道を辿る可能性が0ではないと思われます。
- .NETにするときの開発環境は有償の製品が必要になる可能性があります。
Visual Studio Communityを企業で使う場合は制限があります。企業規模によっては全く使用できない場合もありますので注意が必要です。Visual Studio Expressやコンパイラ等のセットであるMicrosoft Windows SDKは無償で使えますが、機能はVisual Studio Communityに劣ります。
Visual Studio Communityが使えないけどフルの開発環境が欲しい場合は、有償のVisual Studio Professionalになりますが、安くは無い金額ですので、ご注意ください。
- デスクトップアプリでは無くWeb化も選択肢の視野に入れてください。
Web化した場合の利点は、配付が不要であると言うことです。端末で実行する必要がある業務アプリでは、そのアプリの配付方法が一番の問題になります。バグ修正後のバージョンアップを各従業員にお願いするとかはあり得ない方法です。
Web化すれば、Webサーバー側をアップデートするだけです。アプリの配付も要らず、URLを教えるだけで済みます。ただ、Webサーバーの運用管理が必要になりますので、既存の使えるサーバーがない場合や元々の規模が小さい場合は、コストが逆にかかってしまう可能性があります。
- JavaやRuby等は実行環境の配付も考えなくてはならない。
Javaを動かすにはJREが必要です。Rubyを動かすにはRuby自体が必要です。一緒に配付するという手段もありますが、配布物が大きくなってしまいます。
なお、.NETはWindows標準で入っているバージョンに合わせれば、別途インストールさせる必要はありません。ただ、Windowsのバージョンによって標準の.NETが異なりますのでご注意ください。
投稿2017/08/20 08:46
総合スコア21735
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/20 15:15
0
VBAから別言語への検討とのことで、Excel等で限界を感じている場合は、最近はMicrosoftもクラウドに力を入れておりOffice 365だとOffice 365 APIというもので色々とできるみたいなので、VBAになれているのであればそのまま使っても良い状況では使い分けてもいいかと思います。
GUI画面を作るのであれば、Javasciptを覚えて、学習コストの比較的小さいVue.jsとElementというUIライブラリで業務画面を作ると結構使いやすいものがライブラリの組み合わせにあまり悩まずに手早く開発できると思います。
Element
サーバー側に関してはRubyであればRubyOnRails、PHPであればLaravel等を使うとあまり失敗しないと思います。
投稿2017/08/19 00:54
総合スコア4106
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/20 04:59
2017/08/20 12:12
2017/08/20 14:18
2017/08/20 15:19
2017/08/20 15:26
2017/08/20 16:18
0
Excel だけでなぜダメなのかよくわかりませんが、
難しいのであれば UWSC を検討してみるのはいかがでしょうか。
投稿2017/08/20 09:29
総合スコア495
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
皆さんが直球の回答をしていますので、思い切った変化球で以下の言語を紹介します。
日本語でプログラムするという変り種のプログラム言語ですが、「オフィス連携」「データベース連携」「GUI画面作成」などの事務作業で役立ちそうな機能が色々入っているようです。
投稿2017/08/20 06:49
総合スコア203
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
VBAからの移行なら言語としての分かりやすさで言えばVB.NETが扱いやすいと思います。
GUIも組み立てやすいですし情報も豊富です。
動的UIというのがアニメーションでぐりぐり動くUIを指しているのであればJavaScriptを使うほうがとっつきやすいかもしれません。
JavaScriptを使うなら既に上がっておりますがelectronもいいかもしれないですね。
投稿2017/08/17 01:45
総合スコア433
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/20 04:56
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/18 16:15
2017/08/20 09:17
2017/08/20 14:11
2017/08/20 22:17