Visual Basic 入門講座 |
Visual Basic 中学校 > 入門講座 >
この記事が対象とする製品・バージョン (バージョンの確認方法)
Visual Basic 2019 | ◎ | 対象です。 | |
Visual Basic 2017 | ◎ | 対象です。 | |
Visual Basic 2015 | ◎ | 対象です。 | |
Visual Basic 2013 | ◎ | 対象です。 | |
Visual Basic 2012 | ◎ | 対象です。 | |
Visual Basic 2010 | ◎ | 対象です。 | |
Visual Basic 2008 | ◎ | 対象です。 | |
Visual Basic 2005 | ◎ | 対象です。 | |
Visual Basic.NET 2003 | △ | 対象外ですがほとんどの操作は同じなので参考になります。 | |
Visual Basic.NET (2002) | △ | 対象外ですがほとんどの操作は同じなので参考になります。 | |
Visual Basic 6.0 | × | 対象外です。 |
2015年公開の改訂前の古い記事は こちら で公開しています。
さらに古い2007年頃の記事は こちら で公開しています。
概要 ・Visual Studioで F1 キーを押すだけでヘルプが見られる。 ・VBのヘルプは「Microsoft Docs」に掲載されている。 ・オフラインでヘルプを見る方法。 |
VBは有名なプログラム言語なので、いろいろなところから情報を入手できます。書籍、WEB、ヘルプなどが代表的な情報源です。
今回はこの中でもヘルプの使い方を説明します。
自分で情報を収集する手段がわかっていないといつまでたってもできることが増えません。ヘルプは基本的な情報源であり、第一線で活躍するプロの人にとってもなくてはならない存在です。
プログラムに出てくるさまざまなキーワードのヘルプは F1 キーを押すと表示されます。
ヘルプはWebブラウザーがWebサイトにアクセスする形で表示されるので、インターネットに接続している必要があります。オフラインでヘルプを見る方法について後で言及します。
たとえば、入門講座でも良く使っている MsgBox のヘルプを見るには、コードエディターで MsgBox のところにテキスト入力のカーソル I がある状態で F1 キーを押します。
この画像のようにM s g B o xのどこかに I 型のカーソルがある状態です。
ブラウザーが起動して次のような画面が表示されると思います。
入門講座の時点ではまだまだよくわからない情報がたくさん書いてあると思いますが、ちょっと読んでみてください。いくつか役に立つ情報は拾うことができると思います。
たとえば、
そして、少し下にスクロールするとサンプルがあります。サンプルをButton1のClickイベントハンドラにそのままコピーして実行すると、次のように×のアイコンがついて、「はい」と「いいえ」ボタンをもったダイアログが表示されます。
このサンプルには「はい」をクリックしたときと、「いいえ」をクリックしたときとでこの後異なるメッセージを表示します。
このようによくわからなくても、とりあえず読んで実行して、試してみてなどとやっているとどんどん知識が身についていきます。
「よくわからないから読まない」となってしまう人が多いのですが、そうではなく、わからなくても読んでみる癖をつけましょう。
この調子でほとんどのキーワードのヘルプが見られます。Private Subなどいつも自動生成されるけどまだ意味を説明していないキーワードもヘルプで意味を確認できます。でも、こちらは難しいので現段階ではほとんど理解できないと思います。
このようにF1はそのキーを押したときの状況に応じたヘルプを表示してくれます。これを状況依存ヘルプと呼びます。
たとえば、プロパティウィンドウでプロパティをクリックしてから F1 を押すとそのプロパティのヘルプが表示されます。
[表示]メニューの[エラー一覧]で表示される、エラー一覧では行を選択して F1 を押すと、
ヘルプではなくBing検索でこのエラーの英語名が検索されます。ここはちょっと手を抜いているみたいですね。
F1を押して状況ごとにヘルプを見るのではなく、あらかじめドキュメント一式を読んでおきたい人や、VBにはどんなキーワードがあるのかキーワードの一覧が見たい人もいるでしょう。
私も(VBには慣れてしまいましたが)新しいプログラミング言語で開発するときなどはキーワードの一覧を見てどんな機能が用意されているのか自分で確認したいたちです。
ただ、話はそう単純ではないのです。
ヘルプやさまざまな技術ドキュメントは Microsoft Docs(マイクロソフトドックス)と呼ばれるサイトに集められています。このサイトにはVBだけではなくWindowsやOfficeやC#などマイクロソフトのさまざまな製品のドキュメントが集められています。
どういう状況になっているか少し案内しましょう。
まず、トップページはこちらです。
https://docs.microsoft.com/ja-jp/
Webサイトなのでデザインや内容はどんどん変わっていくと思いますが、2019年8月現在トップページは以下のようになっています。
すぐにわかるようにWindowsやVisual Studio、Officeなどさまざまなカテゴリーのドキュメントがあります。
ドキュメント ディレクトリの一覧の中にVisual Basicのリンクがあります。
クリックするとVisual Basicのヘルプにたどり着けます。「Visual Basic のガイド」というタイトルになっています。
左側の目次は展開すると大量のドキュメントがあります。
VBのキーワードの一覧は言語リファレンスを展開すると見られます。
アルファベット順などでばーっとキーワードが並んでいるわけではなく、カテゴリーに分類されています。
私の感想ではここでカテゴリーを1つずつ開いていってどんなキーワードがあるのかと確認する作業にはあまり意味がないように思います。好奇心があれば試してみるのは悪くないです。
Visual Basicのガイドには言語リファレンス以外にもさまざまな技術ドキュメントがあり、ためしに読んでみるのならばリファレンス以外にも範囲を広げてつまみ食いしてみるのは良いと思います。入門講座を読んでいる読者の方にはどのドキュメントを見ても難しいとは思いますが、どんなドキュメントがあるのかなと把握しておけば、後で困ったときに「そういえば、あそこに何か書いてあった」というように思い出すことができます。それに、よくわからなくてもサンプルも豊富に掲載されているので、とりあえず動かしてみながら慣れていくということもできます。
VBでプログラムするときは.NET Framework(ドットネット フレームワーク)のような何かしらのフレームワークを使っていますから、技術情報を探す場合、VBの技術情報だけではなくフレームワークの技術情報も捜す必要があります。
あなたのアプリケーションが使用しているフレームワークはプロジェクトのプロパティを見ればわかります。
[プロジェクト]メニューから (プロジェクト名)のプロパティ (たとえば WindowsApp1のプロパティ)をクリックすると表示できます。
下記の画像だと .NET Framework 4.7.2です。
フレームワークとは何でしょうか?
簡単に言えば、実行環境の機能の集合体です。たとえば、WindowsやiPhoneで動作するアプリケーションを作成する場合、WindowsやiPhoneの機能を簡単に使用したいですよね。
VBの場合、兄弟言語にC#があります。VBでもC#でもプログラミング言語は違っても使いたいWindowsやiPhoneの機能は同じですよね。マイクロソフトはVB用の機能とC#用の機能を別々に用意するのではなく、対応しているどのプログラミング言語からでも使用できる機能の集合をフレームワークとして定義しました。
|
VBやC#で扱えるフレームワークには下記のようなものがあります。
・.NET Framework
2002年にリリースされた(2019年11月時点では)最も長く使われているフレームワーク。Windows上でのみ動作します。もともとはVBやC#には.NET Frameworkしか選択肢はありませんでした。2019年にリリースされた4.8が最後のバージョンです。
・.NET Core (ドットネット コア)
Windows・Linux・MacOSなどで動作します。2016年にリリースされました。クロスプラットフォームで動作するのが特徴です。この名前では2019年にリリース予定の.NET Core 3.1 が最後のバージョンになる予定です。これ以降は名前が.NET 5、.NET 6、・・・となって将来にわたって提供される予定です。
・Xamarin (ザマリン)
iOSやAndoroidでも動作するクロスプラットフォームなフレームワークです。
これらをまとめてこの記事では .NET (ドットネット)と呼ぶことにしましょう。.NETという言葉の意味は時代によって変わっており今(2019年)でも少しあいまいなのですが、全部ひっくるめた一番大きな概念と思えばとりあえずしっくりきます。
これらのフレームワークは全然異なる別物というわけではなく、基本的な機能やオブジェクトは共有しています。そのためサンプルレベルのプログラムであればあとでプロパティ画面でフレームワークを変更しても動作することが多いです。2020年には .NET 5 という1つのフレームワークに統合される予定です。
高度な機能はフレームワークによっては使えたり使えなかったりします。たとえば、この入門講座で扱っているWindows フォーム アプリケーションは.NET Frameworkの機能です。だから、ボタンやテキストボックスなどはVBではなく、.NET Framerworkの持ち物であり、今まで出てきたButtonのTextプロパティやBackColorプロパティなどもVBではなく.NET Frameworkの機能です。
|
というわけで、ButtonのTextプロパティやBackColorプロパティの情報が見たければドキュメントディレクトリで.NETへのリンクをクリックします。
そして、.NET Framework API リファレンスをクリックすると、.NET Frameworkの機能の一覧が表示されます。
(こういうところで .NET Core APIリファレンスと間違えないためにも自分が使っているフレームワークを知っておく必要はありますね)
.NET Frameworkの機能は膨大なので、この中からTextプロパティを探すのは大変です。ButtonのTextプロパティが知りたい場合は、プロパティウィンドウで F1 キーを押すのが早いのですが、ここではあえて一覧から探してみましょう。
膨大な.NET Frameworkのなかで、Windows フォーム アプリケーションの機能は System.Windows.Forms 名前空間(システム ウィンドウズ フォームズ)に属しています。名前空間とは機能を分類するフォルダーのようなものです。
今後はSystem.Windows.Formsに属しているクラス等の一覧が表示されます。入門講座の段階ではオブジェクトのようなものと理解しておいてください。
Buttonのプロパティを調べたいので一覧からButtonをクリックしましょう。
これでButtonのヘルプが表示されます。
この中にプロパティの一覧があり、Textプロパティへのリンクもあります。
ところでMicrosoft Docsにはいろいろなコンテンツがあり、学習の役に立ちます。VBのことは少し忘れてMicrosoft Docsにどんなコンテンツがあるのか探検してみましょう。
はじめにはっきり言っておきます。入門者向けのコンテンツはほとんどありません。
またコンテンツの数はとても多いのですが、マイクロソフトの製品や技術の数が膨大すぎて、「自分が知りたいと思っている分野」を「自分のレベルに合わせて説明しているコンテンツ」、「自分が理解できる言葉(日本語?)」という条件で探すと該当がないことも珍しくありません。レベルと言葉を妥協すればたいていの情報はあります。
言い換えると入門者向けの日本語の説明資料はないということです。入門者向けに限定すると英語の資料でもほとんどないです。だから、Visual Basic 中学校のような入門者向けのサイトがあるのだとおもいます。
でも、前述しましたように、どこにどんなコンテンツがあるか知っておくのは意味のあることです。だから内容が理解できなくても1度くらい開いて見るのが良いと思います。
トップ右側にある「学習を開始する」をクリックするとMicrosoft Learn(マイクロソフト ラーン)というサイトが表示されます。
このサイトでは何かを題材のプログラムを作成しながら学校の授業のように順をおって仕組みや機能を説明してくれます。
現時点(2019年8月)で用意されている教材は数が少なくほとんどがクラウド関連のもののようです。
Microsoft Docsの下がにもリンク集があります。
「ビデオ ラーニング」は期待してしまいますが、Microsoft Learnにリンクしているだけです。
Microsoftは動画配信も行っているので、どうせならそちらにリンクすればよいと思うのですが・・・。
仕方ないので私がここで動画教材へのリンクをはっておきます。これも初心者向けではないです。
Channel 9
https://channel9.msdn.com/Browse/AllContent?sort=recent&lang=ja
VS魂 100連発! コンテンツ インデックス
https://blogs.msdn.microsoft.com/evangelistsjapan/2013/03/05/vs-100-2/
MSDNマガジン月刊誌で、上級者には有益です。以前は書店でも売っていました。
Webでは無料で読めるので購入する必要はありません。バックナンバーも読めますし、掲載されているサンプルコードのダウンロードもできます。
そして、日本語です! (古いバックナンバーは英語です)
https://msdn.microsoft.com/ja-jp/magazine/
最新号(2019年7月)の目次は、「ASP.NET Core での AI 搭載の生体認証セキュリティ」、「Docker によるコンテナー化アプリでの EF Core (パート 3)」、「MSIX:Windows でデスクトップ アプリを展開するための最新の方法」、「.NET での音声合成」など。難しそうですけど、なんだか夢があってわくわくしてきますね。
残念ながら2019年11月を最後の廃刊ということです。
最後にMicrosoft Docsを読む上で少し小技を紹介します。
ヘッダー部にあるプログラミング言語名を切り替えるとドキュメント内の構文の説明やサンプルが切り替わります。対応していない場合もあります。
一番左下に「日本語」などと表示されています。ここをクリックして言語を切り替えられます。
ただし、日本語版が存在しないドキュメントや、機械翻訳された日本語に切り替わる場合もあります。
英語に切り替えるのであれば右上のスイッチも使えます。
なお、英語版のURLに含まれる en-us の部分を ja-jp に変えると日本語になります。
左側の目次の一番下に「PDFをダウンロード」と表示されている場合があります。この場合、目次が示す全ドキュメントをPDFとしてダウンロードできます。
このPDFダウンロード機能が使用できないコンテンツも多々あるようです。
目次の上にあるフレームワーク名をクリックすると、対象のフレームワークを切り替えられます。
オフライン用のヘルプビューアーをインストールし、ヘルプの起動をブラウザーではなく、ヘルプビューアーに切り替えることでインターネットにつながっていない環境でもヘルプを見られるようになります。
Visual Studio 2019の場合、ヘルプビューアーはインストールするときに個別のコンポーネントから選択することでインストールされます。
[ツール]メニューの[ツールと機能を取得]をクリックすれば、後から追加することもできます。
ヘルプビューアーがインストールされていると[ヘルプ]メニューでヘルプの設定項目が増えて、[ヘルプ設定の設定]から、ブラウザーではなくヘルプビューアーを使用してヘルプを表示するようにできます。
古いVisual Studioの場合[ヘルプ]メニューの[ヘルプ設定の管理]から「オンラインまたはローカルヘルプの選択」で、ローカルヘルプを選択します。 |
はじめて「ヘルプビューアーで起動」を選択すると、日本語のコンテンツをダウンロードするか聞かれるので、「はい」を選択しましょう。
ダウンロードできるコンテンツの一覧が表示されます。ここでヘルプで見たいコンテンツをローカルにダウンロードしましょう。
2019年8月現在ではVisual Studio 2019など最新版のドキュメントはまだほとんどないようです。
下記コミュニティの書き込みによると2019年7月待つにはレビューが完了する予定ということなので、待っていればまもなく使用できるようになるのではないかと思います。
この画面ではコンテンツをどこから取得するかも選択できて、オンラインではなくディスクを指定するオプションがあります。
私はやったことはありませんが、チームの誰か1人があらかじめディスクにコンテンツをダウンロードしておくことで、他のメンバーはまったくインターネットにアクセスすることなくコンテンツを使用できるようになるのだと思います。
最後に実現したい機能から説明を探して見ましょう。たとえば、Visual Basicでサウンドを再生するにはどうしたらよいか調べてみましょう。
この場合はF1の状況依存ヘルプは役に立ちませんから、Microsoft Docsの検索術が問われます。
ブラウザでMicrosoft Docsのページを開いて、右上の検索をクリックします。
検索欄が出てくるので「サウンド」と入力してみましょう。2109年8月現在617件のヒットがありました。
ラッキーなことに9件目に「サウンドの再生 (Visual Basic)」という記事がありました。クリックして情報を表示してみましょう。
Visual Basicを使ってwavファイルを再生したり、停止したり、ループで再生させるサンプルとその説明が掲載されているページでした。