質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • C#

    7149questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • VBA

    1808questions

    VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

  • VB.NET

    917questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

  • .NET Framework

    459questions

    .NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

  • Access

    435questions

    Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

access VBAを.netに移植する方法

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 875

t-morita-logic

score 20

 経緯

Accessで動作しているVBAを.net framework に移植するお話があり、.net frameworkの知見がない私がどのように移植するべきか悩んでおりアドバイスをいただけると幸いです。
なぜ、Accessで動作しているVBAを.net frameworkに移植するかと申しますとVBAになるとOfficeのバージョンに引っ張られるため、Officeが最新バージョンになっていくとメンテナンスが大変という事と古いAcessのバージョンで作成したVBAのため、最新のAccessだとサポートされなくなって将来的には動作しなくなることを見込んで移植となりました。

 対応案

基本敵にはVBAで実装できているものをそのまま.net framework のC#またはVB.netに移植するため、VBAということでしたので、そのままVB.netに移植したほうが楽かと素人的には考えておりますが、移植する際、どちらの言語が移植した法がよいでしょうか。

業務系アプリの初心者としては、どちらのほうがとっつきやすいでしょうか。

最近の10年間はRuby、PHPなどWebアプリケーションの開発がメインのため、業務アプリ初心者の私にアドバイスを頂けたら幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

+5

VBA VB.NET C# 全部違う言語です。
VB.NET にしても C# にしても新たに学ぶなら学習コストは大同小異だと思います。

一見同じ VB という言葉がついていますので VB の方が移行しやすそうに思えますが、そのまま置き換えることができないので結局細かいところまで調べなければなりません。文法の学習よりはライブラリである .NET Framework の学習に時間がかかると思います。

将来性のために移植ということですので、VB.NET より将来性があると思われる C# の方が適していると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/22 15:39

    ご回答有難う御座います。
    完璧に自分が素人レベルだと痛感しましたね。単純にVBとついているだけで多少の互換性があると望みを持っていたのですが、全然異なるですが現在アクセスでフォームが50画面あり、帳票が20ぐらいあるシステムを素人がC#に置き換えるとなると1年ぐらいかかりそうですね。

    C#できる人であれば、半年ぐらいでできそうですかね。

    キャンセル

  • 2017/12/22 16:14

    Accessだと、Table、クエリ、フォーム、VBAと、移植するものが多いので、
    解析するだけでも手間かと。
    ※クエリには、一部Access独自仕様が含まれるので完全移植はできないでしょう。

    片方がプロで、もぅ片方を聞ける人がいるという前提で、
    ざっくり1帳票10営業日(フォーム等を含む)x20=10ヶ月前後
    という感じでしょうか。

    キャンセル

  • 2017/12/22 16:39 編集

    普通にできる人で10ヶ月ぐらいですか。やはりそのぐらい掛かりますかね。ご回答ありがとうございます.

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    【VBA】任意の文字選択

    ボールドテキストいつもお世話になってます。 23歳OLです。ついに社会人2年目になりました! 本日の悩みなのですが、 ▼やりたいこと ・TODAY関数で表示した、今日の日付のと

  • 解決済

    Excel2013 の VBA で実装上注意すべき点について

    最近、自分が参画しているプロジェクトでもExcelのバージョンが 2007 ⇒ 2013 にアップされたのですが、これまで使用してきたExcelベースのツール類(VBA使用)がきち

  • 解決済

    VBAのプログラミン力を身に付けたい

    プログラミングスキルを身に付けたいのですが、具体的にソースを見て勉強したく。 どのようなソースがよく使われるのかなどを勉強してきたいです。 なにを参考にして勉強すると良いでしょうか

  • 受付中

    VBA 指定範囲の印刷について

    指定範囲の印刷を行う際(ダイアログを表示させたいです)、 xlDialogPrintで引数を指定してあげれば、 任意の印刷範囲と開始ページ終了ページを印刷できることは 理解し

  • 解決済

    シートを一番右にコピー

    vbaにて開いたexcelのシートをマクロ等を実行しているexcelの一番右に常にコピーしたいのですが、どういう記述をすればよいでしょうか

  • 解決済

    既存ブックへのシートコピー

    保存対象のシートを別ブックにコピーして保存するようなマクロを組んだのですが、既存ブックが初期状態(sheet1)のみだった場合、sheet1に対してシートコピーを行い、それ以降は右

  • 解決済

    VB6によるテーブルのデータ型変更

    VB6でSQL2014とMDBファイルに接続するアプリを修正中です。 SQLサーバーとMDBファイルとは基本的にはほぼ同じ構造で 接続はADOによる接続です。 今回、あるテーブ

  • 解決済

    VBA コード簡略化 下記処理の場合

    お疲れ様です。 私が実装したVBAコードに下記実装があります。 それぞれフォームからのボタン押下で流れる作りになっています。 '**********************

同じタグがついた質問を見る

  • C#

    7149questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • VBA

    1808questions

    VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

  • VB.NET

    917questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

  • .NET Framework

    459questions

    .NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

  • Access

    435questions

    Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。