こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

バッチコマンド+VBでできること

◆質問内容◆
・バッチファイルでできること(メリット+デメリット)
・VBA(Visual Basic)でできること(メリット+デメリット)
・バッチ+Visual Basicを組み合わせてできること(メリット+デメリット)
・この2つではできないこと

を教えてください。
自分はC言語や他のプログラムの作り方が分からないためバッチファイルとVisual Basicではどこらへんまでできるのかを教えてくださいませ。

分かる範囲で良いためいろいろ教えて下さい

投稿日時 - 2013-05-20 18:28:57

QNo.8097030

暇なときに回答ください

質問者が選んだベストアンサー

純粋に「バッチファイルでできること」となると、コマンドプロンプトでhelpコマンドを実行したときに表示されるコマンドを組み合わせてできること、となります。
さらに厳密に言えば、helpコマンドには、外部コマンド(コマンド名.exeのような実行ファイルが別に用意されている)も含まれているので、それらを除いた「内部コマンド」だけでできること、となります。

ですが、変数、条件分岐、ループ等、一通りの制御構造は揃っているので、かなり複雑なこともできます。


なぜ、外部コマンドを除外したか、というと、「あらゆる実行ファイルが『外部コマンド』となる」からです。
例えば、Excelも「バッチファイルのコマンド」として使うことができます。
こうなると、「バッチファイルでできること」=「パソコンでできること」となります。


VisualBasicも、「できる、できない」だけで見たら、今あるWindowsアプリケーションのほとんどが「できます」
実際にVBで作ったら、パフォーマンスが落ちるかもしれませんが、「できない」ということは、ほとんどありません。
(デバイスドライバ等の、ハードに近いところ、タイミングがシビアなもの等は無理でしょう)


以上のように、「できるできない」でわけるのは無意味です。
「やりたいこと」に対して、「簡単にできる」か「難しいけどできる」か、しかありません。
(もう一つ、「コンピュータには不可能」というのもありますが)
いろんな条件を考慮して、どの方法を選択するか、だけです。

例えば
・やりたいこと: ファイルを複製したい
だったら
・簡単にできる: バッチファイルでCOPYコマンドを使う
・難しいけどできる: VBで元ファイルから読み込み→新ファイルに書き出し、というプログラムを作成する
となり
・簡単にできるバッチファイルを使うことにする。
なのか
・VBで作ったアプリケーションの機能として使いたいので、VBを使うことにする。
なのか、条件によっって選択するという感じです。

投稿日時 - 2013-05-24 21:21:28

お礼

詳しい回答を頂いたこと有難うございました。
自分なりに勉強して使いやすい組みやすいプログラムがバッチコマンドを使ったプログラムもしくはVBだったためこの二つはやろうとしたらどの段階まで実現できるのかとゆう内容の質問でした。

わさわざ長文で分かりやすい貴重なご意見頂きましたこと心より感謝します。
有難うございました・・・。

投稿日時 - 2013-05-29 15:05:11

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

バッチファイルは、テキストファイルで中に
コマンドだったり、プログラムだったりを書くと
それらをまとめて実行してくれるだけの話
できる事はそれだけです。

コマンドは、OS依存の為、何が出来るとかはOS毎に違いますので
それぞれのOSを参照してください。
プログラムは、そのOSで動作するあらゆるプログラムを実行できます
なので、目的のプログラムさえ用意出来れば、バッチは何でも出来るでしょう

VBAはスクリプト言語、VBはプログラム言語です
毎日プログラミングして、完成する迄2~3年かかるような物でも作れます。
処理が重たすぎて実用的で無いと言われたとしても作れる事に代わりはありません

回答になってないと質問者さんはおっしゃるかもしれませんが
そもそも質問になってないという事を理解してください。

投稿日時 - 2013-05-22 13:49:15

お礼

回答して頂き有難うございました。
質問する内容違いで不愉快な思いをされたかと思いますので謝罪します。申し訳あませんでした。意見していただきありがとうです。

投稿日時 - 2013-05-29 14:59:28

ANo.2

バカと道具は使いようって言ってね

目的に合った使い方があります

メリットを生かせばいい

質問の発想が理解できない

具体的に何がしたいの?

投稿日時 - 2013-05-20 18:48:37

補足

何がしたいではなくどこぐらいまでの範囲までならできるのかとゆう質問です。
例)サーバー上ファイルをコピー等、Excelセル内容をクリップボードにコピーし他ソフトでのクリップボード内容を貼り付け等。

用途は書くと書ききれないため以下省略してあるだけ。
目的に合ったと言ってますが例えばバッチコマンドなら何がどこまでできてVBならバッチコマンドではできないこんなとこまで詳細に設定できるよ等を聞きたかった。

投稿日時 - 2013-05-20 19:10:58

ANo.1

そういう考え方ってしたことないですね~

まずは「なにをどうしたいのか」が先にあるはずです。
その上で、どうやって実現させるか、そのためにはなにが必要か。となるはずです。


それに、VisualBasicならWindowsAPIを呼び出すことが出来るんだから、Windowsができることならその範囲内で出来ないことは殆ど無いはずです。
バッチにしたってVisualBasicでバッチコマンドを作ってそれを利用すればおなじこと。

投稿日時 - 2013-05-20 18:46:18

あなたにオススメの質問