VBAを仕事の関係上勉強することになりました。
しかし、仕事で使うのはVBAではなくVBらしいです。
始めたばかりでまだ右も左もわからない状態なのですが、
VBとVBAは何が違うのでしょうか?
VBAの方がVBの範囲を全て網羅しているということでしょうか?
本屋で参考書を買おうと思っているので、
VBとVBAのどちらの参考書を選べばいいか教えてください。
それからもうひとつ内容的な質問になるのですが、
ファイルをオープンする時、
Open "テキストファイル,*.txt" For Output As #1
で開いて
Close #1で閉じる方法と
OpenFileName = Application.GetOpenFilename("テキストファイル,*.txt")
でダイアログから開く方法を見つけたのですが
2つ目の方法ではなぜcloseしなくていいのでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
以下、ウィキの情報です。
http://ja.wikipedia.org/wiki/Microsoft_Visual_Ba …
に
Visual Basic (マイクロソフト ヴィジュアル ベーシック、VB)はBASIC言語を基に作られたマイクロソフトのスタンドアロン開発用プログラミング言語であり、RADに対応した統合開発環境の名称である。
とあります。
VBにも歴史があり、最新版はVB2010
VBAは、エクセルのVBA、アクセスのVBAなどそれぞれのアプリケーションについています。
そのほかにも VBSというのもあります。
プログラムを記述する言語体系は同じようなものなので、どれか一つでも体得すると
ほかのVB関連への活用もスムーズに移行できるでしょう。
今回、勉強しなさいと言われた VBA はエクセルのVBA あるいは アクセスのVBA
いづれでしょうかね。
私の場合、初めてのプログラミング といわれると 必ず エクセルのVBAを紹介しています。
エクセルのシート上に結果を表示出来るので、初心者の方にはプログラムの意味が分かりやすいので
入門用に適していると思います。
つまり
>VBAの方がVBの範囲を全て網羅しているということでしょうか?
ではないです。
>OpenFileName = Application.GetOpenFilename("テキストファイル,*.txt")
>でダイアログから開く方法を見つけたのですが
>2つ目の方法ではなぜcloseしなくていいのでしょうか?
ダイアログから開いたファイルがあるわけですよね。
手動でも閉じることができるということからでしょうかね。
何らかのの操作をプログラムで行って終了後、自動で閉じた方が良ければプログラムで閉じてください。
Application.GetOpenFilenameはただファイル名を変数に保存するだけでファイル自体は開いてないんですね(^_^;)
ありがとうございました。
No.3
- 回答日時:
OpenFileName = Application.GetOpenFilename("テキストファイル,*.txt")
は、オープンしたいファイルの「ファイル名」を取得しているだけです。
この「ファイル名」を使用して
Open OpenFileName For Output As #1
としてオープンします。
処理が終了したら、Close #1 でクローズします。
No.1
- 回答日時:
VBAはA(For Application)が付いているのはエクセルというアプリを使うように特化したコード(群)が備わっていて使えるようになっているから。
例えばエクセルのシートを1つ増やすなどは、VBAを使わないと、とてつもないコード作業になる(時間的、知識的に不可能)
またVBはエクセル途は離れて他の業務の課題の解決も目指す。
ーー
そしてここまでで、私がVBといっているのはVB6.0までの,前世紀までに主に使われたVisualBasic。
いま質問者がいっている(会社が扱っている)VBはVB.NET(VB2010,VB2008など)を指す可能性が極く高い。ソフト業者であればVB6での開発もこなす場合は考えられる。受託会社の今までのシステムと互換性継続性のため。
しかし10年もたっているので、VBはVB.Net系統のことだろう。
この場合はVB6の参考書やエクセルVBAの参考書を勉強しても、教養が深まるだけで、実践的にはピントハズレ。
内容も似ておればそれも良いが、全く別物と思って接するべきぐらい難しくなっている。回りにアドバイザーが居ないと
習得は不可能だと思うぐらい。VB.NET習得の良い機会に恵まれた(先輩にきけるし、真剣にならざるをえないし、勉強が仕事と結びつく幸せ)と思ってそれを生かして勉強したら良いと思う。
(VBAはエクセル用だけでないが、この質問には割り切りましたので判ってね。)
この回答への補足
要するに、
VB6ならVBAで全てカバーできるが
VB.NETだった場合VBAを勉強しても業務では
あまり意味がないからそれ専門の勉強をした方がよいということでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- Visual Basic(VBA) VBでExcelの表形式の様なデザインを作りDBと連携させる。 4 2023/02/28 11:39
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
同一フォルダにある複数のテキ...
-
アスキー、バイナリーの違い、...
-
VBSを使用し、指定フォルダ内の...
-
Excelにて、フォルダ内のTextフ...
-
VBでのテキストファイルへ参照...
-
EXCELのVBAでEOFを誤認識
-
Java バブルソート
-
VBAでテキストファイルを最後ま...
-
ファイルのアクセス回数について
-
エクセルで複数のコメントのサ...
-
エクセルvbaでdocuworksprinter...
-
バッチファイル 二つ上のディ...
-
エクセルのプロパティーでセキ...
-
ファイル名と同名のフォルダを...
-
カンマ区切りのCSVファイルから...
-
バッチファイル XCOPYで上書き...
-
Windows10でコマンドプロンプト...
-
Wordで差込印刷した後に別々の...
-
Vba初心者です。下記のコード助...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
アスキー、バイナリーの違い、...
-
同一フォルダにある複数のテキ...
-
Excelにて、フォルダ内のTextフ...
-
VBScript(vbs)での行の取得につ...
-
複数のテキストファイル内の複...
-
uwscでExcelに自動記入
-
テキストファイルの最終行を消...
-
VBAでテキストファイルを最後ま...
-
VBSを使用し、指定フォルダ内の...
-
VBで複数のテキストを結合する...
-
Java バブルソート
-
unixのシェルスクリプトで特定...
-
vbaでテキストファイル(*.txt...
-
xmlファイルから文字列の読...
-
句点で改行
-
スペース区切りのテキストファ...
-
【VBA】テキストファイルの内容...
-
VBでファイルの判定
おすすめ情報