大人気:[花王ヘルシア緑茶の通信販売]←体脂肪が気になる人・毎日1本単位で買うのが面倒な人

Visual Basic .NET に挑戦する


有料メルマガですが、2004/06月で発行中止、廃刊となります。一年続けてみましたが、有料のレベルになっていなく、これといったツール作りまでいかなかったです。読者からの質問メールは励みになりました。無料版で不定期に書いているので、たまには覗きに来て下さい。


サンプルです、読んで判断して下さい

月390円(有料)なので損しないように事前判断して下さい
~~~~~~~*相性もあると思うので、、ちなみに私はAB型の変わり者タイプです。(笑)
====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*=
[ Visual Basic.NETに挑戦する No.001 ]  2003/02/05  毎週水曜日
=*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====
勢いで買ってしまったVisual Basic .NETを使って、プログラムを組んでみます。
主にExcelやAccessのVBAしかやったことのない三流プログラマーのKen3が、
がんばって解説します。初心者歓迎です(プロの人は内容が簡単で物足りないかも)
有料版なので遠慮しないでドンドン質問下さいね。
楽しみながら〜一緒にVB.NETを覚えましょう
----------------------------------------------------------------------------

<はじめまして、初起動でハヤクも苦戦>

どうも、はじめまして、三流プログラマーのKen3です。 このメルマガでは、毎回テーマを決めて、 業務システムで使えるような、簡単なサブルーチンやツール、 を作って行きたいと思います。 発行パターンは、本編を毎週水曜日に、 詳細の補足説明を不定期の連絡発行で行う予定です。 第一回目から、苦戦してます。 有料版の作者でしょアナタ、、、と言われそうだけど、 ハヤクも三流プログラマーの顔が出てきた。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。

/* * 1.Win98 にインストールできないで困る */

初めにコケたのは、 メインで使っていたOS:Windows98のマシーンに インストールできないことを知る。 この時点で、時代に取り残されていることに気がつく。

/* * 2.簡単なウインドウ作りにも一苦労 */

気を取り直して、まずは、簡単なウインドウを作りたいよね。 新しいプロジェクトを選択して、作成を始めますか。 ポイントは、Windowsアプリケーションを選択することかなぁ。 あとは、保存場所を好きなところに置いてと。 *コンソールや.NET対応も近いうちにやりたいですね。 フォームのデザイン画面が無事に表示されました。 AccessVBAメインの私は、いきなり操作に戸惑うかなぁ。 まぁ、そんなこと言ってても先に進まないので、 ラベルを貼ってみる。 プロパティ.TEXTを"テストで作成"と修正してみる。 なんとかラベルの内容を変えることができた。 実行画面、見てみたいよね? そんな時は、どうするんだろう? う〜ん、チョット考える。。。 メニューのデバック--開始で、ウインドウが表示され実行されました。 *F5でもOKです。 なんだか、すごいなぁこれ。。。(チョットのことしかやってないのにね) 次は、自分でコード書いてみたいから、ボタンを貼ってと。
Private Sub Button1_Click(ByVal sender As System.Object, 
              ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("ボタンが押されました")
End Sub
あれ?()で囲われてしまうんだぁ、不思議な感じがするけどまぁいっか。 F5を押して実行すると、

/* * 3.終わりの挨拶 */

何か、相性悪そうですVB.NETと私。。。できたような、できないような。 ヤバイ、作者のできない日記になってしまった。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。 -------------------------------------------------------------------------- 皆さまのご意見・ご感想・投稿、、毒舌、、どんどんお待ちしております。 今後やってほしい要望、説明してほしい関数などあったら、 メールに気軽に書いて qaqaqa@ken3.org へ送ってください。 (メールソフトで返信ボタンを押して送ってください) 指摘メールやご意見メール、 嫌いそうに見えて、実は好き(変わり者)なんで、どんどん、送ってください。 有料版なので、遠慮無く質問下さい。待ってます ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ このメールマガジンの解除は、 http://www.ken3.org/pmagmag/ からできます。(涙) 無料版でVBAの単体解説しているので、こちらも合わせて見てください。 三流君の書いてる無料版メルマガ http://www.ken3.org/vba/ VBA関係主にExcel/Access関数を少し http://www.ken3.org/asp/ ASP関係、Web上で少し遊んでます http://www.ken3.org/24h/ 元コンビニ店長だったので、コンビニの話を少し http://www.ken3.org/guchi/ 作者の貧しい心の中が見れる愚痴系 上記4つは無料なので試しに登録して見てください。 ~~~~~~~~~~~~~~~~~~~~

<よく聞くイベントに処理を書くって?>

どうも、はじめまして、三流プログラマーのKen3です。 飛ばして行く予定が、なかなか進まなくスミマセン。 今回は、よく聞くイベントに処理を書くって?を書きたいと思います。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。 今回の画像付きの解説、 http://www.ken3.org/p/vbnet002.html で見れるのでヨロシクお願いします。

/* * 1.今回の解説前置き と プロジェクトの作成 */

Windowsプログラム作りのポイントであるのが、 イベントに対応する処理を書く、 イベントの発生タイミングってのがあります。 起動したら、 よろしく とメッセージを表示してみます。(表示させたいです) まず、適当なプロジェクトを作成します。 フォームの編集画面が表示されます。 何も作ってないのですが、だまされたと思ってF5を押してみてください。 あら不思議、フォームが表示されました。 あわてないで右上の×ボタンで閉じます。 作成イメージは、 このフォームにいろいろなコントロールを貼り付けて、 コードを書いていくイメージ。 コントロール?は、ひとまず置いといて、 今回は、フォームのイベントに対する処理を書いてみます。 右ボタンを押して、コードの表示を選択します。 *気の早い人はダブルクリックでもOKです。 コード入力画面が無事に表示されます。

/* * 2.イベントを記述する */

左上のオブジェクトを選択する部分で、 (Base Class Events)を選択します。 次に隣のイベント欄に様々なイベントが表示されますが、 あわてないでLoadを選択します。 *間違って違うの選択しても、あわてないで、再度選択してください。
Private Sub Form1_Load(ByVal sender As Object, 〜

End Sub
と、プログラムの入力エリアが表示されます。 ここにLoadのイベントを書きます。 ロードのイベント?とか言われてもねぇ、なんのこと? あっ、イベントってのは、対象のオブジェクトの変化に対して通知されるもの なんですよ。 はっ?よくわかんないなぁ。 えっと、フォームがロードされる(開かれた時)、イベントが通知されて、 そこに書いた処理を実行させることができるんですよ。 今回、起動したら よろしく とメッセージを出したいので、 このLoadのイベントにメッセージ表示のプログラムを書いてみます。 MsgBox("よろしく")と入力してみてください。 その後、F5を押します(実行させます) よろしく と メッセージが表示されましたよね? これが基本の処理で、オブジェクト(フォームやコントロール)に対して 発生するイベントに対応して、プログラム/処理を書くパターンです。 今やったのは(プログラムしたのは、)、フォームが読み込まれたら、 MsgBox関数で"よろしく"と表示しました。 イベントってのは、いろいろあって、 今度は練習で、 ダブルクリックのイベントを使ってみます。 ~~~~~~~~~~~~~~ 左上のオブジェクトを選択する部分で、 (Base Class Events)を選択します。 その後、DoubleClickのイベントを選択します。 MsgBox("痛いなぁ")と入力します。 その後、F5を押して実行します。 白紙のフォームをダブルクリックすると、 痛いなぁとメッセージが表示されます。 なんとなく、 イベントに対してプログラムを書くイメージがわかってきたと思います。 簡単に書くと、 VB.NETのプログラムも、 イベント毎の処理の積み重ねなんですね。

/* * 3.終わりの挨拶 */

今回の画像付きの解説、 http://www.ken3.org/p/vbnet002.html で見れるのでヨロシクお願いします。 何か、できたような、できないような処理でしたね。 基本のイベントに処理を書く、 深く考えないで、なんだぁ〜簡単ジャン程度に思っててください。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。

<ボタンのコントロールを使う_Clickのイベント>

どうも、三流プログラマーのKen3です。 飛ばして行く予定が、なかなか進まなくスミマセン。 今回は、基本?のボタンのコントロールを使う方法を書きたいと思います。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。 今回の画像付きの解説、 http://www.ken3.org/p/vbnet003.html で見れるのでヨロシクお願いします。

/* * 1.ボタンを押したら処理を走らせる */

Windowsのプログラムのポイントはイベントだ、、、とか前回言ってました。 一番、簡単に思いつく処理が、ボタンを押したら何か走らせる処理かなぁ。 1つボタンを作って、 クリックのイベントに処理を書くとその処理が実行されます。 イベントをイメージして、処理を作る典型パターンですね。 _Clickのイベントにいつものメッセージボックス MsgBox("ボタンが押されましたよ") を書くと、わかりやすいかなぁ。 F5を押して、テスト実行させます。 いつも使いなれているのでイメージはOKかなぁ

/* * 2.Me.Close()でフォームを閉じる */

いつも右上の×ボタンで終了させているのですが、 今回、終了のボタンを作ってみたいと思います。 まず、コントロールのボタンをドラッグして、新規のボタンを作成します。 プロパティのテキストに終了と入力します。 ボタンに終了と表示されたと思います。 次は、Button2となっているコントロールの名前を それらしい名前、btnCLOSEと直します。 ダブルクリックして、モジュールの入力に行くと、
Private Sub btnCLOSE_Click(ByVal sender As System.Object

End Sub
とモジュールを入力することができます。 ここに、たった一言、Me.Close()と命令を書きます。 もう、読んでそのまま、自分自身に対して閉じる命令を発行してます。 カッコよくは、メソッドを実行すると言うのですが、今は置いておきます。 F5で実行させて、終了のボタンを押すと、 フォームが閉じたと思います。

/* * 3.終わりの挨拶 */

今回の画像付きの解説、 http://www.ken3.org/p/vbnet003.html で見れるのでヨロシクお願いします。 何か、できたような、できないような処理でしたね。 ボタンのクリック処理を書きました。 深く考えないで、なんだぁ〜簡単ジャン程度に思っててください。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。

<ラベルのコントロールを使う.Textのプロパティ>

どうも、三流プログラマーのKen3です。 飛ばして行く予定が、なかなか進まなくスミマセン。 今回は、ラベルのコントロールを使う方法を書きたいと思います。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。 今回の画像付きの解説、 http://www.ken3.org/p/vbnet004.html で見れます、 プログラムは、 http://www.ken3.org/p/lzh/vbnet004.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。

/* * 1.ラベルコントロールを貼る */

ボタンの次は、ラベルを簡単に説明したいと思います。 ラベルのコントロールは、 タイトルなど固定の文字列を表示させる時によく使ってます。 *値を入力させたい時はテキストボックス、表示だけの時はラベルかなぁ。 プロジェクトを作り、白紙のフォームにラベルを貼ります。 プロパティのtextに文字を入れると、ラベルの内容が変わります。 その他、プロパティには、 バックカラーや文字の色、フォントのサイズなど、いろいろ設定できます。 その設定値によって、様々な文字を表示してます。 さて、説明がこれだけだと寂しいので、 ラベルの文字を起動時に現在時刻にしてみます。 イベントにコードを書くんだっけ。 フォームの起動時のイベントに、タイトルを現在時刻にするコードを書きます。
Private Sub Form1_Load(ByVal sender As System.Object, _
                       ByVal e As System.EventArgs) Handles MyBase.Load
    Me.labTITLE.Text = Now
End Sub
手書きでプロパティに設定してたのを、 Me.labTITLE.Text = Now と現在時刻を入れただけです。 .Textプロパティの値を変えるだけで、表示を変えることができます。 _Loadのイベントのタイミングで(開いた時)時刻をセットしてます。

/* * 2.ナンバーズ3もどきを作成する */

次にボタンを押したタイミングで、 3つの数字をランダムに表示する ナンバーズ3もどきを作成したいと思います。 ラベルを3つフォームに配置します。 ラベルコントロールの名前はlab01,lab02,lab03とします。 次にボタンを作成します。 ボタンコントロールの名前は、btnSTARTとします。 ボタンが押された時の_Clickイベントにコードを書きます
Private Sub btnSTART_Click(ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) Handles btnSTART.Click
    Randomize() '乱数発生の初期化
    Me.Lab01.Text = Int(10 * Rnd())  '乱数を発生させセットする
    Me.Lab02.Text = Int(10 * Rnd())
    Me.Lab03.Text = Int(10 * Rnd())
End Sub
簡単に説明すると、 Randomize()で乱数系の初期化 Int(10 * Rnd())で0から10の乱数を発生させて、 Me.Lab01.Text =で単純にセットしてます。

/* * 3.終わりの挨拶 */

今回の画像付きの解説、 http://www.ken3.org/p/vbnet004.html で見れます、 プログラムは、 http://www.ken3.org/p/lzh/vbnet004.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。 イベントのタイミングでプロパティをいじっているだけなんですね。 深く考えないで、なんだぁ〜簡単ジャン程度に思っててください。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。

<タイマーイベントを使ってみた>

どうも、三流プログラマーのKen3です。 飛ばして行く予定が、なかなか進まなくスミマセン。 今回は、タイマーイベントを使う方法を書きたいと思います。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。 今回の画像付きの解説、 http://www.ken3.org/p/3/vbnet005.html で見れます、 プログラムは、 http://www.ken3.org/p/3/lzh/vbnet005.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。

/* * 1.タイマーイベントを使う方法 */

前回、乱数で3つの数字を表示するナンバーズ3もどきをやりました。 ボタンを押したら、乱数の数値を表示してました。 しつこく書くと、ボタンのクリックイベントで、 数値をセットしました。 ビジネスアプリケーションではあまり使わないのですが、 スタートボタンを押したらスロットマシーンのように 数値を切り替え、ストップボタンで止めるような処理を作ってみたいと思います。 やり方は簡単で、タイマーでイベントを発生させたいので、 タイマーコンポーネントをフォームに貼り付けます。 すると、フォームの下にタイマーコンポーネントが貼られます。 1ミリ秒単位にイベント発生を設定できるみたいなので(ホントかよ?) Interval = 1000 1000と設定し、1秒に設定します。
Private Sub btnSTART_Click(ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) Handles btnSTART.Click
    Randomize() '乱数発生の初期化
    Me.Lab01.Text = Int(10 * Rnd())  '乱数を発生させセットする
    Me.Lab02.Text = Int(10 * Rnd())
    Me.Lab03.Text = Int(10 * Rnd())
End Sub
となっている開始ボタンの処理を
Private Sub btnSTART_Click(ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) Handles btnSTART.Click
    Randomize() '乱数発生の初期化
    Timer1.Enabled = True  'タイマーを実行する
End Sub
Timer1.Enabled = True 'タイマーを実行する タイマーコンポーネントの..EnabledプロパティをTrueにして、 実行するように設定します。 次に、タイマーコンポーネントにコードを記述します。 タイマーコンポーネントをダブルクリックすると、 Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timer1.Tick とTimer1__Tickにコードを書くことができます。
Private Sub Timer1_Tick(ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) Handles Timer1.Tick
    Me.Lab01.Text = Int(10 * Rnd())  '乱数を発生させセットする
    Me.Lab02.Text = Int(10 * Rnd())
    Me.Lab03.Text = Int(10 * Rnd())
End Sub
普通にラベルへのデータセットのコードを書きます F5を押して、実行すると少し遅いけど1秒単位で数字が切り替わると思います。 まぁ、次はもう想像できましたよね? 止めるボタンbtnSTOPを作成します。 ボタンのクリックイベントに
Private Sub btnSTOP_Click(ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) Handles btnSTOP.Click
    Timer1.Enabled = False  'タイマーを止める
End Sub
と 開始の逆、Timer1.Enabled = Falseとタイマーの使用を止めてみます。

/* * 2.本当はコントロール配列の予定だったけど、、、 */

ラベルコントロールを配列にしてループで回したかったけど、 Visual Basic の概念 Visual Basic .NET におけるコントロール配列の変更点参照 Visual Basic .NET におけるイベントの変更点 | Visual Basic .NET における コントロールの変更点 | Windows フォームのタブ オーダーの設定 Visual Basic 6.0 では、複数のイベントを共有するコントロールのグループを 指定する場合は、コントロール配列が使用されていました。これらのコントロー ルは、同じ型と名前を持つ必要がありました。 Visual Basic .NET では、コントロール配列はサポートされません。イベント モデルに加えられた変更により、コントロール配列が不要になりました。Visual Basic 6.0 では、イベントがコントロール配列によって共有されていましたが、 Visual Basic .NET では、複数のコントロールからのイベントがイベント ハンド ラによって処理されます。このことにより、同じイベントを共有する異なる型のコ ントロール グループを作成できるようになります。 たとえば、あるフォームに 2 つの Button コントロール (Button1 および Button2 ) および 1 つの CheckBox コントロール (CheckBox1) を追加し、3 つのコントロー ルすべての Click イベントを処理するイベント ハンドラを作成できます。 Private Sub MixedControls_Click(ByVal sender As System.Object, ByVal e As Sy stem.EventArgs) Handles Button1.Click, Button2.Click, CheckBox1.Click Visual Basic 6.0 コントロール配列のもう 1 つの機能に、Index プロパティによっ てコントロールを参照する機能がありました。Visual Basic .NET コントロールには、 Index プロパティはありませんが、TabIndex プロパティまたは Tag プロパティなど、 別の共通プロパティを使用してこの機能を複製できます。 たとえば、Windows フォームに新しく備わった、 ビジュアル タブ オーダー機能を使用して、 コントロール グループの TabIndex プロパティを設定し、 Select Case ステートメントで TabIndex を使用できます。
Private Sub MixedControls_Click(ByVal sender As System.Object, ByVal 
e As System.EventArgs) Handles Button1.Click, Button2.Click, CheckBox1.Click
   Select Case sender.TabIndex
      Case 0
         MsgBox("Button 1")
      Case 1
         MsgBox("Button 2")
      Case 2
         MsgBox("CheckBox 1")
   End Select
End Sub
あれ?って感じだったので、次までには探りたいと思います。 ~~~~~~~~~~~~~~~~~~~~~~~

/* * 3.終わりの挨拶 */

今回の画像付きの解説、 http://www.ken3.org/p/3/vbnet005.html で見れます、 プログラムは、 http://www.ken3.org/p/3/lzh/vbnet005.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。 タイマーイベントを発生させただけでした。 深く考えないで、なんだぁ〜簡単ジャン程度に思っててください。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。

<テキストボックス .MultLineと.Textプロパティ>

どうも、三流プログラマーのKen3です。 飛ばして行く予定が、なかなか進まなくスミマセン。 今回は、やっと値のやり取りで使用するテキストボックスを使ってみます。 ┌ ─ ┐│└ ┘を使って、文字列を囲い ┌──────────┐ │文字列を囲ってみたい│ └──────────┘ こんな感じの文字列を作ってみたいと思います。 よく、メルマガでもボタンの説明や、 タイトルの説明でも見るよね。 まぁまぁ。 気楽に読んでください。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。 今回の画像付きの解説、 http://www.ken3.org/p/3/vbnet006.html で見れます、 プログラムは、 http://www.ken3.org/p/3/lzh/vbnet006.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。

/* * 1. やりたいこと */

VBで楽しく と 文字列を受け取ったら、 ┌──────┐ │VBで楽しく│ └──────┘ と、ワクで囲まれた文字列を作ってみたいです。 画面イメージは、 ^^^^^^^^^^^ 変換元文字列 [ _______________________ ] ┌──┐ │変換│ のボタンを設置、 └──┘ 変換結果 [ _______________________ ] [ _______________________ ]←複数行入力表示可能なテキストボックスを作成 [ _______________________ ] 操作イメージは ^^^^^^^^^^^^^^ 変換元文字列に好きな文字を入力後、 変換のボタンを押す。 すると、変換結果が下のテキストボックスに表示される。 これを自分でコピーして使う(笑)

/* * 2.フォームの作成 */

テキストボックスを貼って、簡単に作成します。 *ここで美的センスが問われるんだけど、まぁいいや(おいおい) 前回までのラベルは、 ユーザーからの入力が無い時に文字列の表示に使っていました。 今回は、ユーザーに入力してもらった値を使用するので、 テキストボックスを使います。 配置後、コントロールの名前を変えます。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ txtMOTO 変換元の文字列を入力するテキストボックス btnCONV 変換実行ボタン txtSAKI 変換結果の表示エリア 頭をtxt,btnの3文字にします。 (名称の規則が載ってるページをあとで探そう) 変更方法は簡単で、 コントロールを選択後、オブジェクト名を変更します。 (TextBox1とか自動で付いてるので、変更します) 同様に、btnCONVとtxtSAKIも変更します。

/* * 3.MultLineのプロパティをTrueにする */

結果の文字列は、下記のように複数行になるので、 ┌──────┐ │VBで楽しく│ └──────┘ MultLineプロパティをTrueにします。 ^^^^^^^^ 方法は、簡単で、コントロールを指定(txtSAKI)、 プロパティの一覧から、 MultLineを探して、Trueにするだけです。 このプロパティがTrueじゃないと、 ワクを縦方向に伸ばせないので、 注意が必要です。

/* * 4.ボタンにClickイベントを書く */

いよいよ、終盤戦、気合を入れなおして。 次は、ボタンにClickイベントを書きます。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 方法は、簡単で、 ボタンのコントロールをダブルクリックすると、 いきなり
Private Sub btnCONV_Click( ......

End Sub
となり、コードを書き込めます。

/* * 5.テキストボックスの値の参照方法、と値の代入 */

ボタンが押されたら、変換処理を行います。 さてと、あれ?三流君、txtMOTOに入力された値って、どうやって取出すの? あと、結果をtxtSAKIにいれる時は? おっと、テキストボックスの値の表現方法ですよね、 これも簡単で、 Me.txtMOTO.Text か 省略形でそのままtxtMOTOと変数みたいに使えます。 簡単なテストを書くと、
Private Sub btnCONV_Click(ByVal sender As System.Object........
    Me.txtSAKI.Text = Me.txtMOTO.Text & vbCrLf _
                    & "↑の文字数は" & Len(Me.txtMOTO.Text) _
                    & vbCrLf & "です"
End Sub
なんか、思ったより簡単ですよね。 txtSAKI.Text に txtMOTO.Text & vbCrLf & "↑の文字数は" & Len(txtMOTO.Text) & vbCrLf & "です" を代入してます。 *そのまま、txtMOTO.Text txtSAKI.Text でも使えるます。 txtSAKI.Text = txtMOTO.Text & vbCrLf _ & "↑の文字数は" & Len(txtMOTO.Text) _ & vbCrLf & "です" とme.が無くてもOKです。 見なれないvbCrLfは改行の定数です。 ~~~~~~~~~~~~~~~~~~ これで改行され、値を代入すると、txtSAKIに3行文字列が表示されてます。

/* * 6.ワクを作成するプログラムを書く */

ここまでで、必要な情報がそろったので、 ┌──────┐ │VBで楽しく│ └──────┘ のワク作成をしてみたいと思います。
Private Sub btnCONV_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles btnCONV.Click
    Dim i As Integer
    Dim strLINE1 As String '1行目
    Dim strLINE2 As String '2行目
    Dim strLINE3 As String '3行目

    '1行目を作る
    strLINE1 = ""  '初めに左上端を代入
    For i = 1 To Len(txtMOTO.Text)  '文字数分─を追加
        strLINE1 = strLINE1 & ""
    Next i
    strLINE1 = strLINE1 & "" '右上端を付ける

    '2行目を作る
    strLINE2 = "" & txtMOTO.Text & "" '両端に│を付ける

    '3行目を作る
    strLINE3 = ""  '初めに左下端を代入
    For i = 1 To Len(txtMOTO.Text)  '文字数分─を追加
        strLINE3 = strLINE3 & ""
    Next i
    strLINE3 = strLINE3 & "" '右下端を付ける

    '結果の代入 各ラインをvbCrLFでつなげただけ
    txtSAKI.Text = strLINE1 & vbCrLf & strLINE2 & vbCrLf & strLINE3

End Sub
もう、ポイントも無いぐらい、 &で文字列をつなげる処理で書きました(笑) さて、テストしますか。 楽しくプログラム と 入れて、変換ボタンを押す。 あれ?なんか表示が変だ。 短いプログラムでもミスるとは、、、 良く見ろ三流プログラマー、フォントがプロポーショナルだからだよ、 テキストボックスのフォントを等倍に変えてみたら。 あっ、これかぁ。 テキストボックスのフォントプロパティを変えてと、 OKみたいですね。 そんなことであわてるから三流なんだよねキット。

/* * 7.終わりの挨拶 */

今回は、 ・テキストボックス、ボタンの配置とテキストボックスマルチライン ・ボタンにイベントを書く ・テキストボックス値の参照、代入 でした。 Forの説明、Len関数の説明無かったですね、 あっ、、、すいません。早いうちにやります。 テキストボックス.Textで値を表すことを覚えておいてください。 今回の画像付きの解説、 http://www.ken3.org/p/3/vbnet006.html で見れます、 プログラムは、 http://www.ken3.org/p/3/lzh/vbnet006.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。 文字数数えて、プロパティをいじっているだけなんですね。 深く考えないで、なんだぁ〜簡単ジャン程度に思っててください。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。

<トラックバーコントロールを使ってみます>

どうも、三流プログラマーのKen3です。 飛ばして行く予定が、なかなか進まなくスミマセン。 今回は、 スライドバーみたいなトラックバーコントロールを使ってみます。 まぁまぁ。 気楽に読んでください。 今後の要望や疑問点・質問は遠慮無く qaqaqa@ken3.org へ送ってください。よろしくお願いします。 今回の画像付きの解説、 http://www.ken3.org/p/3/vbnet007.html で見れます、 プログラムは、 http://www.ken3.org/p/3/lzh/vbnet007.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。

/* * 1. やりたいこと */

よく、値を設定する画面で、スライドバーをスクロールさせて、 値を設定する操作を見かけると思います。 そんなことをやってみたいので、 トラックバーを使用してみます。

/* * 2.フォームの作成 */

いつものようにコントロールを選択して、フォーム上に作成。 コントロールの名前をbar01に変更。 F5で実行、、、してもバーが動くだけでつまらない(笑) 動かした値を処理しないとね。

/* * 2.フォームの作成 */

いつものようにコントロールを選択して、フォーム上に作成。 ( 画像 ) コントロールの名前をbar01に変更。 F5で実行、、、してもバーが動くだけでつまらない(笑) ( 画像 ) 動かした値を処理しないとね。

/* * 3.テキストボックスに値をセット */

値の受け取りでテキストボックスを使用してみます。 テキストボックスを作成して、名前をtxt01にします。 ( 画像 ) 次に、バーが移動したら(移動したタイミングのイベントで) 値をテキストボックスに保存したいので、 トラックバーコントロールをダブルクリックして、コードの入力をします。
Private Sub bar01_Scroll(ByVal sender As System.Object, 

End Sub
とコードの入力画面が表示されます。 テキストボックス.値 = バー.値としたいので、
Private Sub bar01_Scroll(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles bar01.Scroll
    txt01.Text = bar01.Value
End Sub
とやりました。 テキストボックスの.textプロパティ に トラックバーの.valueを代入してます。 F5で実行、バーを動かすとテキストの値が変わります。 ( 画像 )

/* * 4.Maximum 最大値 Minimum 最小値 のセット */

0〜10までしか動かないよ。 あっ、これは、プロパティで最小値・最大値を設定します。 Maximum 最大値 Minimum 最小値 のプロパティを変更します。 ( 画像 ) 年齢18〜50を選ばせたいとしたら、 18と50をセットします。 F5でテストします。 なんとかうまくいきましたね。 ( 画像 )

/* * 5.終わりの挨拶 */

今回は、 ・トラックバーコントロール ・テキストボックスに値のセット ・最小値、最大値のセット でした。 http://www.ken3.org/p/3/ 今回の画像付きの解説、 http://www.ken3.org/p/3/vbnet007.html で見れます、 プログラムは、 http://www.ken3.org/p/3/lzh/vbnet007.lzh に圧縮したプロジェクトが入ってます。 よろしくお願いします。 これもプロパティをいじっているだけなんですね。 深く考えないで、なんだぁ〜簡単ジャン程度に思っててください。 次回からコントロールまわりをガーっと飛ばして行かないと、 これがVB.NETだぁ、までの道のりは長そうです。 気長に待てる人は、購読続けて下さい。 *解説、長くかかりそうなので。 補足(連絡用マガジン発行)で、細かく説明を発行します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ プログラム作りは簡単で面白いなぁと感じるような 解説/メールマガジンを書きたいと思ってます。 よろしくお願いします。 AB型の変わり者、三流プログラマーのKen3でした。

<プログラムって?流れって?>

こんにちは、 AB型の変わり者Ken3です。 ^^^^^^^^^^^^^^^^ 今回は、 プログラムの流れ? を軽く書いてみたいと思います。

/* * 1.プログラムって?流れって? */

プログラムって言うと、何を思い浮かべますか? 競馬のレーシングプログラム、、、運動会のプログラム、、、など、、、 運動会のプログラムなどは、順番に上から下に進んでいきます。(競馬の出走順も) ・開会式 ・100メートル走 ・玉入れ ・昼休憩      ←あれ、もう昼? ・リレー ・閉会式      ←もう、終わり、、、騎馬戦ないの?...気にしないで、、 開会式から閉会式まで、上から下に、流れていきます。 まぁ、通常は、そんな感じですが、 いつも同じことをするほど、(いつも同じじゃ、使えないでしょ) プログラムは甘くなく、 変数の状態によってやること変えたり、(腹へったから、玉入れ中止、昼にする?) 繰り返したり、流れを組み合わせます。 ア.基本は、上から下に流れます。   運動会のプログラムのように イ.分岐する場合   高校野球などのコールド試合(ルール知らないので、細かい点差、間違ってたら、、)   通常は、1回から9回まで進みます。   1回   2回    ・    ・   5回 ここで点差が10点以上ならコールドゲームで試合終了    ・    ・   9回 得点の多いチームの勝ち 同点の場合は延長戦へ   10回 どちらかが、多く得点を取るまで続く    ・    ・ 18回 引き分け再試合   など、ある条件(ここでは、イニング回数と得点差ですね)   で実行する作業(コールドなのか、、延長なのか、、再試合、、)   を判断する。 ウ.繰り返し   分岐と似ているのですが、繰り返し処理で(無限ループもある?)   表現悪いですが、今風のたとえ話で、   ストーカー君が好きな子に   start     ↓   付き合ってください     ↓    イヤダ     ↓   ここで彼女は考える、そろそろ、警察につきだそうか、家族にそうだんするか   (10回ぐらい付きまとわれた、、警察に相談-->ストーカー君end逮捕)     ↓   startへ戻るを繰り返す...   (まったくストーカーってヤツは..頭の中の判断がおかしい、、、なんてね) まぁ、冗談ですが、プログラムは、どんなものでも、 処理の流れ、分岐の繰り返し、組み合わせだと思います。 下記のような順序で基本は上から下へ流れてます。
Sub test()

    Dim strMOJI As String

    'ここで、文字を入れる、、
    strMOJI = InputBox("好きな人の名前を入れてください")

    '入力文字数のチェック
    If Len(strMOJI) = 0 Then
        MsgBox "ノリの悪いヤツだなぁ、面白くないなぁ"
        Exit Sub
    End If

    '結果表示
    If MsgBox(strMOJI & "さんに告白したの?", vbYesNo) = vbYes Then
        MsgBox "やりますねぇ"
    Else
        MsgBox "がんばってくださいね"
    End If

End Sub
・変数の定義(開会式?)Dim strMOJI As String ・好きな子の名前入力 strMOJI = InputBox("好きな人の名前を入れてください") ・入力文字数判断 If Len(strMOJI) = 0 Then    0文字の時は警告出して関数を抜ける Exit Sub ・結果表示と確認 If MsgBox(strMOJI & "さんに告白したの?",〜 vbYes ... MsgBox "やりますねぇ" vbNo .... MsgBox "がんばってくださいね" ・End Sub(閉会式?) なんか、少し、ズレてる気がするけど、

/* * 2.プログラムって?一直線プログラム */

プログラムには流れがある、、 なんて、偉そうに言いましたが、 基本は、上から下に流れるんですね。
Sub test()

    MsgBox "プログラムは、上から下に流れます"
    MsgBox "まんなか、、"
    MsgBox "今日も一日がんばりましょう"
    MsgBox "こんな感じです"

End Sub
少々うざいですが、こいつを実行するとメッセージが4つ表示されて行きます。 三流君さぁ、だから?なに?って感じなんだけど。 えっと、上から順番に命令を実行しているのがわかったと思います。 なんか、ツマンナイね。 そうですか? ***** 下記、エクセルの例ですが、VB.NETでフォームの作り方から書きます ***** Excelでマクロを記録ってあるの、ご存知ですか? 操作を記録して、VBAのコードを自動で作成してくれます。 たとえば、セルのB4に”横浜の金城は、カネシロじゃないよ”と入力し、 太字にすると、下記のように記録されます。
Sub Macro1()
'
' Macro1 Macro
'

    Range("B4").Select
    ActiveCell.FormulaR1C1 = "横浜の金城は、カネシロじゃないよ"
    Range("B4").Select
    Selection.Font.Bold = True
End Sub
なんか、いろいろ記録されていて、よくわかりませんが、操作を記録してくれます。 これも、上から下に決まった処理を行っています。 上から下に流れるだけでは、なんとなくプログラムと言えませんねぇ。 そんな固定処理は無いでしょう。 そうですねぇ、、 まぁ、はじめは一直線プログラムで、 メッセージが表示されて、おっ、なんて嬉しがってくれると。

/* * 3.If文でちょこっと分岐 if n = 1 then 〜 */

いままで、上から下に流れるだけのプログラムをテストで組んでました。 今回は、If文を使って変化をつけてみたいと思います。 まぁ、いきなりIf文とか言われても???だと思います。 前回、Rnd関数を使ってランダムな数値を出力するテストプログラムを作りました。 えっ、もう忘れたって、、、そんなこと言わないで、、、 安心しな三流君、覚えてるよ こんな感じでしょ?
Sub test()

    Dim saikoro As Integer

    Randomize   ' 乱数発生ルーチンを初期化します。

    saikoro = Int((6 * Rnd) + 1)  ' 1 から 6 までの乱数を発生させます。

    MsgBox "サイコロの数は、" & saikoro & "です"

End Sub
そうですね、ポイントは、 saikoro = Int((6 * Rnd) + 1) ' 1 から 6 までの乱数を発生させます。 で乱数でした。 今回は、1から3の乱数を発生させて、 1の時グー 2の時チョキ 3の時パー と 表示させてみます。 流れは、 ア.変数宣言・初期化などの前準備、 イ.1から3の乱数を発生させる ウ.結果を判断し、1の時グー,2の時チョキ,3の時パーを表示させる となります。 なんか日本語で書くとまっすぐな流れジャン(笑) 下記のような感じになります。
Sub test2()

    Dim n As Integer '値を格納する変数を定義する

    Randomize   ' 乱数発生ルーチンを初期化します。

    n = Int((3 * Rnd) + 1)  '(*1) 1 から 3 までの乱数を発生させます。

    '結果を判断し、Msgboxで表示する
    If n = 1 Then    '(*2) nが1か判断する
        MsgBox "グーを出しました"
    End If
    
    If n = 2 Then
        MsgBox "チョキを出しました"
    End If
    
    If n = 3 Then
        MsgBox "パーを出しました"
    End If
    
End Sub
(*1) n = Int((3 * Rnd) + 1) は、OKですね。(事務処理ではあまり使わないけど) (*2) 問題が、初めて出てきたIf文ですね。 HELPを見ると、 式の値に基づいて、条件付きの実行を行うフロー制御ステートメントです。 んっ?なんのこと? まぁまぁ、、、 If文には構文、書き方があって、 今回使用したのは、 if 式 Then   式の評価が正しい時に実行される EndIf のパターンです If n = 1 Then '(*2) nが1か判断する MsgBox "グーを出しました" End If n = 1 か 式を判断します、 式が正しければ、Then と End If の間のプロックを実行します。 プロック?ってなに? えっとですねぇ、 If n = 2 Then MsgBox "チョキを出しました" '(*3) MsgBox "勝てましたか?" '(*3) End If のIf文だと、変数nの値が2の時(*3)の部分が実行されます。 なんか、いろいろ書きましたが、 あまり気にしないで下さい、慣れると思います。

/* * 4.Select Case 文を使ってみた */

1から3の乱数を発生させて、 1の時グー 2の時チョキ 3の時パー と 表示さるプログラムを書きました。
Sub test2()

    Dim n As Integer '値を格納する変数を定義する

    Randomize   ' 乱数発生ルーチンを初期化します。

    n = Int((3 * Rnd) + 1)  '(*1) 1 から 3 までの乱数を発生させます。

    '結果を判断し、Msgboxで表示する
    If n = 1 Then    '(*2) nが1か判断する
        MsgBox "グーを出しました"
    End If
    
    If n = 2 Then
        MsgBox "チョキを出しました"
    End If
    
    If n = 3 Then
        MsgBox "パーを出しました"
    End If
    
End Sub
流れは、 ア.変数宣言・初期化などの前準備、 イ.1から3の乱数を発生させる(*1) ウ.結果を判断し、1の時グー,2の時チョキ,3の時パーを表示させる(*2) でした。 (*2)のIf文で判断して、結果を表示させてました。 If n = 1 Then '(*2) nが1か判断する MsgBox "グーを出しました" End If で下にまたn=2,n=3のIf文を書いてます。 これ、なんとかなりませんか?三流君? やはり、感じましたか。 条件判断、流れの制御で Select Case ステートメントってのがあります。 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Sub test3()

    Dim n As Integer '値を格納する変数を定義する

    Randomize   ' 乱数発生ルーチンを初期化します。

    n = Int((3 * Rnd) + 1)  '(*3) 1 から 3 までの乱数を発生させます。

    '結果を判断し、Msgboxで表示する
    Select Case n    '(*4)判断にSelect Caseを使用
        Case 1
            MsgBox "グーを出しました"
        Case 2
            MsgBox "チョキを出しました"
        Case 3
            MsgBox "パーを出しました"
            MsgBox "パーとか言うなよパーとか、、"
    End Select

End Sub
(*4)の場所で使用しました。 書き方は、 Select Case 式 Case 値1 値1の時実行 値1の時実行 Case 値2 値2の時実行 値2の時実行 ・   ・   ・   Case 値Z End Select です、評価したい式、ここでは変数nなので、 Select Case n と記述し、 Case 1 と値を書き、 MsgBox "グーを出しました" 1の時の処理を記述 Case 2 MsgBox "チョキを出しました" Case 3 MsgBox "パーを出しました" MsgBox "パーとか言うなよパーとか、、" End Select なんか、いろいろ書きましたが、 あまり気にしないで下さい、慣れると思います。

/* * 5.ループ処理に挑戦 -- For文で繰り返し */

ループ処理を書いてみようかなぁなんて思ってます、 いままで、上から下に流れる一直線プログラムを作成してきました。 で、次にIf文やSelect case文で分岐を少しやりました。 今回は繰り返し処理のループに挑戦してみたいと思います。 繰り返し   分岐と似ているのですが、繰り返し処理で(無限ループもある?)   表現悪いですが、今風のたとえ話で、   ストーカー君が好きな子に   1.start     ↓   2.付き合ってください     ↓   3.イヤダ     ↓   4.ここで彼女は考える、そろそろ、警察につきだそうか、家族にそうだんするか    (10回ぐらい付きまとわれた、、警察に相談-->ストーカー君endの6.逮捕)     ↓   5.start(1)へ戻るを繰り返す...   (まったくストーカーってヤツは..頭の中の判断がおかしい、、、なんてね)   6.End 逮捕 なんてループはよくないので止めましょう、じゃなくって、 プログラムにはループ処理があるって話でしょ、 そうでした、いつもの前置きはこれくらいで、 下記、5回「きみが好きだよ」と表示するプログラムです。
Sub test18_1()

    MsgBox "キミが好きだ"
    MsgBox "キミが好きだ"
    MsgBox "キミが好きだ"
    MsgBox "キミが好きだ"
    MsgBox "キミが好きだ"

End Sub
芸がないですが、動作はします。 ここのボタンを押して、クリックのイベントに書いて、試してみて下さい。 *たぶんプログラムは動作するけど、告白は、失敗します。 この5行縦に並べるのって?なんかイヤですよね。 動くからいいじゃん。 はいはい、そこで、今回、For 〜 Next で繰り返しを書いてみます。
Sub test18_2()

    Dim n As Integer '(*1)ループのカウンター
    
    For n = 1 To 5   '(*2)ループ処理
        MsgBox "キミが好きだ"
    Next n

End Sub
まず、カウンター変数を宣言します。 Dim n As Integer '(*1)ループのカウンター ここでは、n回まわるの意味でnにしてます。 n,i,j,lとか一文字を好む人と、 cntXXXXと名前をつける人と、いろいろ居ますが、 基本的にはわかりやすくダブらない名称ならOKだと思います。 先輩の書き方に合わせるのも一つの手ですし(いい子ちゃんモード) 話し合いで、規約を作るのもやる気があって○かなぁ。 話は、脱線してしまいましたが(それはそれで続けても面白いのかなぁ?) カウンターの変数を定義後、 For n = 1 To 5 '(*2)ループ処理 MsgBox "キミが好きだ" Next n ここがこんかいの目玉、 For Next ステートメントです。 For カウンター変数 = 初期値 to 終了値 (Step xxカウンターを増減*省略可能)   繰り返し行う処理A   繰り返し行う処理B next カウンター変数 って感じです。 For n = 1 が初期値に1を代入、 For n = 1 To 5 5までnextまでの処理を実行 ここでは、MsgBox "キミが好きだ"を nが1から5まで(5回)繰り返します。 なんか、わかったような、わからないような。 で、なんかボソボソって書いてある Step xxカウンターを増減*省略可能 って何? あっ、これですか、通常省略するとカウンター変数が+1されながら回るんですよ。 だから? えっとですね、
Sub test18_3()

    Dim n As Integer       '(*1)ループのカウンター
    
    For n = 1 To 5         '(*2)ループ処理
        MsgBox n & "回目"  '(*3)カウンターを表示
    Next n

End Sub
みたいにすると、1回目、2回目、3回目、4回目、5回目とメッセージが表示されます。 にいしいろのやのと(2 4 6 8 10) と 表示させたい時は
Sub test18_4()

    Dim n As Integer '(*1)ループのカウンター
    
    For n = 2 To 10 Step 2 '(*4)Step 2を指定
        MsgBox n           'カウンターを表示
    Next n

End Sub
と n = 2で2からスタート to 10 で10までを指定、 Step 2でカウンターを+2単位で増加させてます。 もちろん、増加の逆でカウンターを減少させることも可能で、
Sub test18_5()

    Dim n As Integer '(*1)ループのカウンター
    
    MsgBox "心の準備はよろしいですか?"
    
    For n = 5 To 1 Step -1 '(*5)Step -1を指定
        MsgBox n           'カウンターを表示
    Next n

    MsgBox "好きです"

End Sub
とすると、 5 4 3 2 1 好きです となります。 基本は、こんな感じかなぁ。 おまけで、 ***** 下記、エクセルの例ですが、VB.NETの作り方を書きます ***** Excleのフォントサイズを10から+2単位で220まで変更し、 その後、220から10まで戻してみます。 *速いマシーンだと一瞬かなぁ。
Sub test18_6()

    Dim n As Integer '(*1)ループのカウンター
    
    MsgBox "心の準備はよろしいですか?"
    
    Range("A1").Value = "大好き"  '文字を代入
    
    '文字サイズを+2単位で大きく
    For n = 10 To 220 Step 2  'Step +2を指定
        Range("A1").Font.Size = n  '(*6)サイズをnにする
        DoEvents
    Next n

    '文字サイズを+2単位で減少
    For n = 220 To 10 Step -2  'Step -2を指定
        Range("A1").Font.Size = n  '(*6)サイズをnにする
        DoEvents
    Next n

    MsgBox "終了"

End Sub
Excelの.Font.Sizeプロパティに値をセットして、 Range("A1").Font.Size = n '(*6)サイズをnにする なんて、遊ぶこともできます。 なんとなく、感じはつかめましたか?

/* * 4.終わりの挨拶 */

今回は、 プログラムの流れを簡単に書いてみました。 軽く読み流しておいてください。 *そのうち慣れてくるので、気にしないで大丈夫ですよ。 三流プログラマーのKen3でした。 ----- 皆さまのご意見・ご感想・投稿、、毒舌、、どんどんお待ちしております。 面白そうな話、ご意見、注意書き?などあったら、教えてください。 メールに気軽に書いて ****@***.*****.** へ送ってください。 (メールソフトで返信ボタンを押して送ってください) 指摘メールやご意見メール、 嫌いそうに見えて、実は好き(変わり者)なんで、どんどん、送ってください。 有料版なので、遠慮無く質問下さい。待ってます ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上、有料版のお知らせでした

*無料版のバックナンバー見て、文体や内容、作者と相性が良さそうだったら、
ぜひ登録して下さい。待ってます。




_ _


メルマガ 三流君のHP主な飛び先
VBAで楽しくプログラミング [ 最新情報 ] [ 掲示板 ] [ バックナンバー ] [ メルマガ登録/解除 ]
ASPで遊ぶ、失敗する [ 最新情報 ] [ 掲示板 ] [ バックナンバー ] [ メルマガ登録/解除 ]
AB型三流PG 業務のグチ [ 最新情報 ] [ 掲示板 ] [ バックナンバー ][ メルマガ登録/解除 ]
コンビニのオモテとウラ話 [ 最新情報 ] [ 掲示板 ] [ バックナンバー ] [ メルマガ登録/解除 ]

[Ken3の日記(weblog)]