No.5ベストアンサー
- 回答日時:
まず機能面ですがVBAはアプリケーションに特化したオブジェクトが用意されているので、それを使う場合は効率的なプログラムをつくることができます。
またワークシート関数などあらかじめ最適化された機能を使う場合はなんとCより速い場合があります。
実行速度に関してはVBAは「インタープリタだから遅い」と権威のある本でも説明されていることがあるのですがこれは間違いで VBAもPコードという中間コードにコンパイルされるので、完全なコンパイルのCなどには及びませんが非常に高速です。
>DirectX(のSDK)を使って3Dゲームを作ることも出来るんじゃないでしょうか。
これは可能です。
ただし、VBAはVBと違ってひとつひとつのオブジェクトにハンドルをもっていないので、実際にDirectXやBitbltを使う場合、複雑な処理はめんどうになります。
No.6
- 回答日時:
エクセルVBAはエクセルで手操作でできることが
プログラム(というかスクリプト)でできるようになってます。
イベントというプログラムもできます。
しかし
たとえばエクセル表の行のDELETEをVBでプログラムを書こうとすると、途方にくれます。
エクセルの仕組みが一般には判って(公表されて)ないから、難しいからです。
でも本当に仕組み構造などわかっていればできると想像します。VBでAPIを使うという逃げ道もあります。
しかしVBは要所要所で深くできる機能があります。
そういうことからゲームとエクセルは共通点が極く少なく、ゲームを作れるとは言いがたいと思います。
エクセル風(とは何かは難しいですが)のゲームならエクセルVBAでたやすくできます。
VBとVBAの違いは自分で会得するよりほかありません。難しい概念などもあって、文章で並べられても、すぐ理解できるとは思えませんから。
VBAはなるべく手間のかからないように、コンパイルなど意識させないようになってます。
No.4
- 回答日時:
>エクセルのVBと、普通のVBの違いを教えてください。
#1さんのおっしゃっている通り、一番の違いは「単独で動作するEXEを作れる」ことに尽きると思います。
質問にあるシューティングゲームですが、それこそゲームをするのにExcel(のシート)は不要ですからね。
>シューティングゲームのような複雑なプログラム
#1さんが紹介されていらっしゃるURLにもありますが、やろうと思えばVBAでも可能です。それこそ、DirectX(のSDK)を使って3Dゲームを作ることも出来るんじゃないでしょうか。
# やろうとは思いませんが(笑)
そもそもVBAは「マクロ」という別名の通り「スクリプト」的な性格の強い言語ですから、速度を要求する処理には向きませんね。
また、コントロールやフォーム等が別物になってますのでVBからVBA、またその逆の移植には意外と苦労します。
No.3
- 回答日時:
おや,しまった。
#1です。
参考URLの欄がずれてしまいリンクがかかってませんね。失礼しました。
参考URL:http://www.accessclub.jp/vba/vba_001.htm,http:// …
No.2
- 回答日時:
エクセルで使用するVBというのは、
VBA(Visual Basic for Applications Edition)というものです。
自分はVBAでの開発経験がないので、何ができるのかって事は説明できないですが、違いについては下記のURLを参照して頂ければ理解できるかと思います。
参考URL:http://www.amy.hi-ho.ne.jp/banchan/sw/vba/vba_q_ …
No.1
- 回答日時:
Excelに付いている機能は,VBではなく,VBAです。
VBAはVisual Basic For Applicationの略で,ExcelやWordなどの,アプリケーション(ソフト)用にできたプログラム的な事をさせる為のプログラミング言語です。
このプログラムを動かすためには,使う側にExcelやWordが必要であることになります。
一方VBはVisual Basicの略で,
Windows上でのアプリケーション開発のプログラミング言語です。
VBAよりは高度なことが出来ます。
また,EXEファイルもコンパイルされるので,使う側はExcelやWordなどを必要としません。
(参考URL↓上を参考にしてみてください。)
VBAはVBほど高度なことができませんが,
谷孝一さんの「猫とエクセル-VBA(マクロ)でつくるフリーゲーム」
(参考URL↓下)
などにあるように,結構すごいゲームは作れます。
でも,このゲームをするにはExcelなどが必要です。
http://www.accessclub.jp/vba/vba_001.htm,http:// …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBでExcelの表形式の様なデザインを作りDBと連携させる。 4 2023/02/28 11:39
- 工学 非対称三相交流について 2 2022/07/06 00:36
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- C言語・C++・C# visual studioでフォームデザインを作成する時のVB.netとC#の違い 2 2023/06/22 03:04
- その他(パソコン・スマホ・電化製品) VBって秋葉原のお店で売っているんですか? 1 2023/02/23 06:31
- Visual Basic(VBA) VBプロジェクトでのフォルダ構成について 1 2023/07/22 03:49
- 物理学 黄色マーカVbと書いてあるのですがVaの間違いですかね? また左の項ですと、積分範囲∫(r1→a)で 1 2023/06/21 15:29
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
- PHP C♯やPHPの仕事をしたいです。VB得意ですが、即戦力しか雇わないので無理です。どうしたらいいでしょ 3 2023/02/27 08:13
- 物理学 Va=1/4πε × (q1/a + q2/b + q3/c) Vc=1/4πε × (q1+q2+ 2 2023/04/16 14:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba 時間の引き算 例えば 15:00...
-
アウトルックが起動しているか...
-
Visual Studio 「AnyCpu」について
-
Designer.vbは直接コードをいじ...
-
「読み込み違反」が起きたとき...
-
Windows上のプログラム。「予め...
-
印刷ダイアログを表示させない方法
-
Format 関数のバグ?
-
Visual Studio 有料と無料比較
-
VBSから別のVBS起動するとき変...
-
DLLを作成してVBAから使用する...
-
VBAでArrayListを使う為の「msc...
-
意味不明の実行時エラーで困っ...
-
リムーバブルディスクのフォー...
-
VBAでOutlookを終了させたい Ex...
-
印刷要求順番と印刷出力順番が...
-
VB6.0 exe作成時に実行時エラー...
-
CreateProcessのエラー
-
Pythonのコードをexe化
-
VBSでExcelファイル印刷時のプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba 時間の引き算 例えば 15:00...
-
ACCESS vbaでレポート名の変更...
-
Selenium webbrowserで開いてい...
-
アウトルックが起動しているか...
-
Visual Studio 「AnyCpu」について
-
印刷ダイアログを表示させない方法
-
excel vbaから実行するexe実行...
-
Designer.vbは直接コードをいじ...
-
「読み込み違反」が起きたとき...
-
VBAでOutlookを終了させたい Ex...
-
意味不明の実行時エラーで困っ...
-
matplotlibで任意の角度の円弧...
-
VBSから別のVBS起動するとき変...
-
ManagementClassが見つからない。
-
印刷要求順番と印刷出力順番が...
-
VB6(SP5)+OO4OでCreateObjectが...
-
VBAでArrayListを使う為の「msc...
-
IT初心者です 仕事で、vb.netで...
-
Windows PowerShellでC言語を実...
-
Windows上のプログラム。「予め...
おすすめ情報