投稿者 とくま  (社会人) 投稿日時 2011/3/1 19:45:22
>>3.Microsoft.Office.Interop.ExcelでExcelを開いて操作する
>>-Excelを開いているとき閉じているとき、対象ブックを開いているときも閉じているときも、適切に動作できるか?
>できます。
"適切に"っていうのが"ユーザの都合のいいように"といっているなら、
「できない」と言っておいた方が良いのかも?
Excel は排他でファイルを開くので、既に開いているファイルを
上書きはできません。Excel の仕様通りですが、実際のファイルを
開いて Excel.EXE に仕事をさせることになりますので、Excel の
都合いいような仕様通りの動作になります。

Excel ができることができ、できないことができません。
これを適切と言っているなら、できます。

>1.VBAでExcelからcsv出力し、VBのexeを実行させcsv読込・結果をcsv出力、それを再度VBAで読み込む。
VB と Excel の連携が気を使う必要があるので、VBA で実現できる
なら、VB の割り込む余地は無いでしょう。
>-Formアプリケーションに対して使いにくい?
VBA のユーザーフォームは特殊で、機能も VB のものに比べれば
機能が限定されている感はあります。
コントロールや描画系の処理がライブラリとして提供されている
かどうかなど、本格的なプログラミング開発環境と、1つの
アプリケーションのおまけとの違いはあるでしょう。

ただ、CSV 出力するだけの基本的なプログラムでそこまでの
差が重要か?作りこみ次第で本格的なプログラムが作成できる
VBA は、おまけとしては十分な機能は持っています。

>Excelからcsv出力し、VBのexeを実行させcsv読込・結果をcsv出力、それを再度VBAで読み込む
そもそも Excel は要るの?って気もします。
逆に CSV のデータを Excel で扱おうとすると、デフォルト
の動作では勝手に変換されたり、色々と問題が起こります。
データは CSV 管理でグラフもフォーム上に書いてしまう。
Excel 要らない選択もあると思います。
>Excelからcsv出力し、
シートそのままの形で保存するなら、この機能は Excel の
ファイル保存でできるし。
CSV からグラフを書く VB のプログラムだけ作れば、Excel
の勉強をしなくてよくなるかもしれません。

> どれもよく知っている人なら「VBでDLLを作成してVBAから使用する」を選ぶ状況かなと思います。
処理内容次第ですよね。簡単な処理を色々な Book に摘要したい
だけなら、Excel のアドインが都合がいい場合もあるかも。

結局、Excel を操作するなら Excel の構造を覚える必要が
あるわけで、VB や DLL はまた別の勉強が必要と考えると
VBA だけでいい気がします。

セキュリティはまた別の話。
マクロウィルスを警戒して Excel のマクロは使用禁止とか
なら VBA 自体できなくなる可能性もあるのでは?
どんなにプログラムで頑張っても本人がブログで個人情報
を公開すれば情報が漏れるのでは?
セキュリティが厳しいとだけ言われても分かりませんが、
会社のデータは家には持ち帰れないものでは?
そもそもプログラムと関係ないレベルの問題は無いのですか?