6

毎月の請求書を実行するために使用する古いExcel4マクロがあります。約3000行で、Excel 5ダイアログボックスシート(ダイアログボックス用)が多数あります。それをVBAに変更する最も簡単な方法と、それが価値があるかどうかを知りたいです。また、VBAに変換した後、それからスタンドアロンアプリケーションを作成するにはどうすればよいですか?

4

4 に答える 4

6

私はこれを以前に試みましたが、最終的にはBiriが言ったように書き直す必要があります.

私は、会社が Windows NT から Windows XP にアップグレードしていたときに、この作業をかなり行いました。古いコードをまったく見ずに、最初からやり直す方が簡単であることがよくあります。特に「奇妙な」ダイアログ ボックスの表記に関して、Excel 4 が何をしたかを理解するのに多くの時間を費やすことができます。最終的に、入力と出力が何であるかを知っていれば、多くの場合、より時間効率が良く、よりクリーンに書き直すことができます。

VBA を使用するかどうかは別の問題ですが、VBA はかなり強力で拡張性があるため、多くの状況で .NET などの他のツールを使用したいのですが、うまく機能し、展開も簡単です。

という点で、それは価値がありますか?Excel 4 マクロを再度変更する必要がないと言えるのであれば、そうではないかもしれません。しかし、ビジネスでは、税率、特に年末のことなど、常に変化するものがあります。Excel 4 をサポートする人を見つけたり、ドキュメントを見つけたりするのがいかに難しいかを考えると、VBA に移行しないのはリスクが高いと思いますが、それはバランスを取るためのものです。

于 2008-09-18T08:52:52.500 に答える
3

(免責事項: 私は Excel-DNA ライブラリを開発しています)

マクロを、Excel マクロ言語とは異なる COM オートメーション オブジェクト モデルを使用する VBA に移動する代わりに、Excel-DNAライブラリで実行される VB.NET (または C#) に移動します。

Excel-DNA では、マクロ言語を非常によく反映した C API を使用できます。ダイアログなどのすべてのマクロ コマンドには、同じパラメーターを使用する C API 関数があります。たとえば、DIALOG.BOX に相当するものは xlfDialogBox です。このスレッドにいくつかの議論と例があります: http://groups.google.com/group/exceldna/browse_thread/thread/53a8253269fdf0a5

この移行の大きな利点の 1 つは、COM オートメーション インターフェイスを使用するようにコードの一部を徐々に変更できることです。Excel-DNA を使用すると、COM インターフェイスと C API を組み合わせることができます。

于 2011-09-27T19:43:02.823 に答える
2

私の知る限り、何らかの方法で変換する可能性はありません。基本的にVBAで書き直す必要があります。

VBA に変換した場合、スタンドアロン アプリケーションとして実行することはできません。VBA が Visual Basic for Application と述べているように、それはアプリケーション (Word、Excel、Scala など) 内に存在します。

スタンドアロン アプリケーションを作成するには、標準言語 (マクロ言語ではない) を習得する必要があります。しかし、言語そのものよりもはるかに多くを学ばなければなりません。Excelシートの代わりにデータベースを扱う、Excelの印刷の代わりに印刷するなど、さまざまなテクニックを学ぶ必要があります。したがって、基本的に、Excel を使用すると明らかな多くの機能が失われます。

于 2008-09-18T08:17:01.947 に答える
0

このトピックに関する優れた記事は次のとおりです。http://msdn.microsoft.com/en-us/library/aa192490.aspx

VB2008-Expressは、http://www.microsoft.com/express/default.aspxから無料でダウンロードできます。

于 2008-09-18T08:15:01.920 に答える