<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VB.Net | リョクちゃの電脳日記</title>
	<atom:link href="https://dreamparadaisu.com/category/program/vb_net/feed/" rel="self" type="application/rss+xml" />
	<link>https://dreamparadaisu.com</link>
	<description>今まで学んできたことや、新たに学んだこと、趣味を通して様々な人と共有できたらなと思いはじめた電脳日記。</description>
	<lastBuildDate>Sat, 05 Nov 2022 15:10:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<atom:link rel='hub' href='https://dreamparadaisu.com/?pushpress=hub'/>
<site xmlns="com-wordpress:feed-additions:1">180489529</site>	<item>
		<title>【VB.Net】KeyPressイベントでUSB接続されたバーコードリーダからの情報を受け取る</title>
		<link>https://dreamparadaisu.com/visualbasic_78/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_78</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Mon, 21 Mar 2022 09:43:12 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[バーコード]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=4034</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、前回ぐらいにバーコードリーダから読み取った値を受け取る方法で TextBoxChangedやKeyDownイベントを使って受け取れるといった話をしましたが これ以外にKey...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_78/">【VB.Net】KeyPressイベントでUSB接続されたバーコードリーダからの情報を受け取る</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、前回ぐらいにバーコードリーダから読み取った値を受け取る方法で</p>
<p>TextBoxChangedやKeyDownイベントを使って受け取れるといった話をしましたが</p>
<p>これ以外にKeyPressイベントを使った方法もあったので紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_77/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_77/" class="blog-card-title-link">【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</a></div><div class="blog-card-excerpt">スーパーなどでよく見かけるバーコードリーダー、店員さんがレジで商品のバーコードを読むのに使われていますね。どうやって読み取った値から価格を取得しているのか？読み取った値が間違っていることはないのか？など気になったことはありませんか？そんな気になる悩みについて、簡単に調べてまとめてみました。参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_77/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_77/" alt="" /></a></div><div class="blog-card-date">2022-03-05 08:58</div></div></div>
<p>&nbsp;</p>
<p><a href="//af.moshimo.com/af/c/click?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153&amp;guid=ON" rel="nofollow"><img fetchpriority="high" decoding="async" alt="" class="aligncenter" style="border: none" src="//image.moshimo.com/af-img/0068/000000004153.gif" width="728" height="90" /></a></p>
<img decoding="async" alt="" class="aligncenter" style="border: none" src="//i.moshimo.com/af/i/impression?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153" width="1" height="1" />
<p>&nbsp;</p>
<h1>準備編：Windowsフォームの作成</h1>
<p>画面は、前回作成した画面を引き続き利用します。</p>
<figure id="attachment_mmd_3997" class="wp-block-image aligncenter"><img decoding="async" width="810" height="484" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/barcode_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>ラベルコントロールとテキストボックスコントロールを</p>
<p>配置している至ってシンプルな画面です。</p>
<p>&nbsp;</p>
<p>起動するとカーソルがテキストボックスに合っていると思うので、</p>
<p>カーソルを合わせる処理は省略しちゃいます。</p>
<p>&nbsp;</p>
<h1>プログラム編</h1>
<p>ここからはいくつかの項目に分けてプログラムを組んでいきます。</p>
<p>&nbsp;</p>
<h2>KeyPressイベントを書く</h2>
<p>KeyPressイベントは以下のようにして記述することができます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub テキストボックスのコントロール名_KeyPress(sender As Object, e As KeyPressEventArgs) Handles テキストボックスコントロール名.KeyPress
    処理
End Sub</pre><p>
&nbsp;</p>
<p>VisualStudio上のデザイン画面でもコードを生成することができます。</p>
<p>Form上に配置されたTextBoxを右クリックし、</p>
<p>プロパティを選択すると下図の画面が表示されます。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_4048" class="wp-block-image aligncenter"><img decoding="async" width="470" height="589" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_bercode2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>プロパティの雷マーク(図の赤丸)をクリックします。</p>
<figure id="attachment_mmd_4049" class="wp-block-image aligncenter"><img decoding="async" width="454" height="449" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_bercode3.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>キーの項目にKeyPressがあるので、これを<span class="marker-under">ダブルクリックすることで</span></p>
<p><span class="marker-under">KeyPressイベントを自動で作成</span>してくれます。</p>
<p>&nbsp;</p>
<h2>終端キーかどうか検知する関数の作成</h2>
<p>USB接続の<span class="marker-under">バーコードリーダからPCに送られる値は、1文字ずつ</span>でした。</p>
<p>どの文字が終端を表すキーなのかどうかを検知する処理が必要になりますね。</p>
<p>&nbsp;</p>
<p>これを関数を作成することで、検知したら次の処理へ進めるようにします。</p>
<p>終端キーは、あらかじめ設定しておくことで関数を呼び出すときに省略できますね。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">''' &lt;summary&gt;
''' 終端キーかどうかを判定し返す
''' &lt;/summary&gt;
''' &lt;param name="InputKey"&gt;&lt;/param&gt;
''' &lt;returns&gt;&lt;/returns&gt;
''' &lt;remarks&gt;&lt;/remarks&gt;
Private Function CheckTerminalKey(ByVal InputKey As System.Windows.Forms.Keys) As Boolean
    Dim result As Boolean = False        
    If terminalKey = Inputkey Then 
        result = True
    End If
    Return result
End Function</pre><p>
こんな感じの関数を作りました。</p>
<p>&nbsp;</p>
<h1>実装</h1>
<p>&nbsp;</p>
<p>KeyPressイベントの中に終端キーかどうかを検知する関数を組み込んでいきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    Try
        ' 終端キーかどうか検知します。
        If CheckTerminalKey(InputKey) Then
            ' 終端キーだった場合の処理
        Else
            ' 終端キーではない場合の処理
        End If
    Catch ex As Exception
        ' エラーをキャッチした時の処理
    End Try
End Sub</pre><p>
&nbsp;</p>
<p>これだけでは完成ではありません。以下の項目の処理を追記する必要があります。</p>
<ul>

<li>終端キーを受け取る処理</li>

<li>終端キーだった場合の処理</li>

<li>終端キーではない場合の処理</li>

<li>エラーをキャッチした時の処理</li>
</ul>
<p>これらを追記していきます。</p>
<p>&nbsp;</p>
<h3>終端キーを受け取る処理</h3>
<p>終端キーを受け取るには、KeyPressイベントの引数として渡される変数eを活用します。</p>
<p><span class="marker-under">変数eの型は、KeyPressEventArgsになり、これにKeyPressイベントのデータが渡されます</span>。</p>
<p>&nbsp;</p>
<p>つまり、押したキーの情報が変数eにはイベントが呼び出されたときに格納されます。</p>
<p>&nbsp;</p>
<p>押されたキーの情報は、<span class="marker-under">ASCII文字と関連付けられており</span></p>
<p><span class="marker-under">各キーに対応したASCII文字を受け取ることもできます</span>。</p>
<p>&nbsp;</p>
<p>今回は、ASCII文字として受け取ることで</p>
<p>終端キーを受け取ったかどうかを検知していきます。</p>
<p>&nbsp;</p>
<p>キー情報を受け取るには、以下のコードになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">e.KeyChar</pre><p>
これで<span class="marker-under">キー情報をASCII文字で受け取れます</span>。</p>
<p>ただ、これだけでは使いづらいのでASCII文字を文字コードとして受け取ります。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">AscW(e.KeyChar)</pre><p>
AscWメソッドを使うことで、<span class="marker-under">()内に渡されたASCII文字を文字コードにして返してくれます</span>。</p>
<p>&nbsp;</p>
<p>例えば、Enterキーを押してKeyPressイベントが呼び出された場合</p>
<p><strong>e.KeyChar</strong>では、&#8221;<strong>vbCr</strong>&#8220;となります。</p>
<p>&nbsp;</p>
<p>これをAscWメソッドに渡すと、&#8221;<strong>13</strong>&#8220;と返されます。</p>
<p><strong>13</strong>という文字コードがASCII文字の<strong>Enter</strong>キー(<strong>CR</strong>)にあたります。</p>
<p>&nbsp;</p>
<p>ちなみにASCII文字では、<strong>Enter</strong>は<strong>CR</strong>(キャリッジリターン)として扱われます。</p>
<p>この文字コードを検知したら、終端キーと扱い、以降の処理を行います。</p>
<p>&nbsp;</p>
<p>入力されたキーを受け取る処理として、<span class="marker-under">変数<strong>InputKey</strong>を作成します</span>。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Dim Inputkey As Keys = CType(AscW(e.KeyChar), Keys)</pre><p>
&nbsp;</p>
<h3>終端キーだった場合の処理</h3>
<p>全てのバーコード情報が受け取られたことを意味しているので、終端キーだった場合は</p>
<p>読取ったバーコードが正しいかを確認し、桁数確認処理などの読取り後の処理を記述します。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class TestBarCode
    Private Const CORRECT_DIGIT As Integer = 12

    Private terminalKey As Keys = Keys.Enter
    Private readData As String = ""

    Private Function CheckTerminalKey(ByVal InputKey As System.Windows.Forms.Keys) As Boolean
        Dim result As Boolean = False
        If terminalKey = InputKey Then
            result = True
        End If
        Return result
    End Function

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        Try
            ' 押されたキーの情報を受け取ります。
            Dim Inputkey As Keys = CType(AscW(e.KeyChar), Keys)

            ' 終端キーかどうか検知します。
            If CheckTerminalKey(Inputkey) Then
                ' 終端キーだった場合の処理

                ' 読取りデータの加工処理を行います。

                ' 桁数が正しいかどうかの判定
                If readData.Length &lt;&gt; CORRECT_DIGIT Then
                    ' 正しい桁数じゃない場合、エラー
                    MessageBox.Show("桁数が違います。", "桁数エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Return
                End If
            Else
                ' 終端キーではない場合の処理

            End If

        Catch ex As Exception
            ' エラーをキャッチした時の処理
        End Try

    End Sub

End Class</pre><p>
&nbsp;</p>
<h3>終端キーではない場合の処理</h3>
<p>バーコードが読み取り中であるとして、処理を行います。</p>
<p>&nbsp;</p>
<p>バーコードリーダから送られてくるデータは1文字ずつでしたので、</p>
<p>あらかじめ読取りデータを格納する変数を用意しておき、この変数に1文字ずつのデータを</p>
<p>格納していきます。</p>
<p>&nbsp;</p>
<p>既に入力されたキーの情報は、変数InputKeyにて受け取っているので</p>
<p>これを活用し、読取りデータを格納する変数(readData)に格納させていきます。</p>
<p>&nbsp;</p>
<p>途中で他のキーが押される場合もあるかもしれませんが、今回はこれらは考慮しないで</p>
<p>コードを書いていきます。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">' 終端キーではない場合の処理
readData += ChrW(InputKey).ToString</pre><p>
&nbsp;</p>
<p>ChrWメソッドを使って<span class="marker-under">変数InputKeyの情報を文字に変換しています</span>。</p>
<p>ChrWメソッドは与えられた文字コードを文字に変換してくれる役割があり、</p>
<p>AscWメソッドとは逆の処理をしてくれます。</p>
<p>&nbsp;</p>
<p>ChrWメソッドを使わないで、readDataに代入しようとすると、</p>
<p>型が違うのでエラーとなるため、注意が必要です、</p>
<p>&nbsp;</p>
<p>演算子を=ではなく、+=にしているのは、<span class="marker-under">1文字ずつ受け取った情報を連結して</span></p>
<p><span class="marker-under">最終的には1つの文字列として扱う必要がある</span>ので+=にしています。</p>
<p>&nbsp;</p>
<h3>エラーをキャッチした時の処理</h3>
<p>キャッチした時は、エラーの内容をメッセージボックスで表示するようにしておきます。</p>
<p>&nbsp;</p>
<p>実際にアプリケーションとして運用する場合は、</p>
<p>ログファイルに記述するための処理を挟むのがいいでしょう。</p>
<p>&nbsp;</p>
<p>ログファイルについては、また別の機会で話せたら……。</p>
<p>&nbsp;</p>
<p>以下のような処理にしておきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' エラーをキャッチした時の処理
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)</pre><p>
&nbsp;</p>
<p><strong>ex.Message</strong>で<span class="marker-under">キャッチした時のエラー内容を見ることができます</span>。</p>
<p>&nbsp;</p>
<h1>最終コード</h1>
<p>以上の処理を付け足すことで、バーコードリーダから読取ったデータを</p>
<p>1文字ずつ見て、処理をして最終的に1つの文字列として扱い読取り後の処理へ</p>
<p>つなげていきます。</p>
<p>&nbsp;</p>
<p>今回での実装したコードは以下になります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class TestBarCode

    Private Const CORRECT_DIGIT As Integer = 12

    Private terminalKey As Keys = Keys.Enter
    Private readData As String = ""

    ''' &lt;summary&gt; ''' 終端キーかどうかを判定し返す ''' &lt;/summary&gt; ''' 
    ''' &lt;param name="InputKey"&gt;&lt;/param&gt; '''
    ''' &lt;returns&gt;&lt;/returns&gt; '''
    ''' &lt;remarks&gt;&lt;/remarks&gt;
    Private Function CheckTerminalKey(ByVal InputKey As System.Windows.Forms.Keys) As Boolean
        Dim result As Boolean = False
        If terminalKey = InputKey Then
            result = True
        End If
        Return result
    End Function

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        Try
            ' 押されたキーの情報を受け取ります。
            Dim Inputkey As Keys = CType(AscW(e.KeyChar), Keys)

            ' 終端キーかどうか検知します。
            If CheckTerminalKey(Inputkey) Then
                ' 終端キーだった場合の処理

                ' 読取りデータの加工処理を行います。

                ' 桁数が正しいかどうかの判定
                If readData.Length &lt;&gt; CORRECT_DIGIT Then
                    ' 正しい桁数じゃない場合、エラー
                    MessageBox.Show("桁数が違います。", "桁数エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Return
                End If
            Else
                ' 終端キーではない場合の処理
                Console.WriteLine(ChrW(Inputkey))
                readData += ChrW(Inputkey).ToString
            End If

        Catch ex As Exception
            ' エラーをキャッチした時の処理
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

    End Sub

End Class</pre><p>
&nbsp;</p>
<h1>まとめ</h1>
<p>バーコードリーダから受けとった情報を処理する方法として、</p>
<p>KeyPressイベントを使った方法について紹介していきました。</p>
<p>&nbsp;</p>
<p>KeyPressイベントでは、Enterキーを受け取ってから処理をするのではなく</p>
<p>1文字ずつをチェックしつつ処理ができるようになります。</p>
<p>&nbsp;</p>
<p>試しに実装してみてはいかがでしょうか、参考になれば嬉しいです。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="4034"
					data-ulike-nonce="e24e8260f6"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_4034"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_78/">【VB.Net】KeyPressイベントでUSB接続されたバーコードリーダからの情報を受け取る</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4034</post-id>	</item>
		<item>
		<title>【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</title>
		<link>https://dreamparadaisu.com/visualbasic_77/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_77</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Fri, 04 Mar 2022 23:58:00 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[バーコード]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3513</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回はスーパーなどでよく見かけるバーコードリーダ、 店員さんが使う商品を読み取る際に使うあれについて、紹介していきます。 &#160; そもそもどうやって、読み取ったバーコードの情...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_77/">【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回はスーパーなどでよく見かけるバーコードリーダ、</p>
<p>店員さんが使う商品を読み取る際に使うあれについて、紹介していきます。</p>
<p>&nbsp;</p>
<p>そもそもどうやって、読み取ったバーコードの情報が表示されるのか？</p>
<p>またパソコンにはどうやって情報が受け取られるのか？</p>
<p>などざっくりと紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_76/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_76/" class="blog-card-title-link">【VB.Net】三項演算子をVBでも実践してみる～新たな道へステップアップ～</a></div><div class="blog-card-excerpt">コードをスッキリさせたいなと考えらるときがいつしか来るだろう方、既に来ている方の参考になればと思い。その手法として三項演算子についてVB.Netでも書いてみましたので記事にしています。VB.Netの場合、厳密には三項演算子もどきとして捉えてもらえればといった感じですね。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_76/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_76/" alt="" /></a></div><div class="blog-card-date">2022-03-03 06:05</div></div></div>
<p>&nbsp;</p>
<p><a href="//af.moshimo.com/af/c/click?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153&amp;guid=ON" rel="nofollow"><img decoding="async" alt="" class="aligncenter" style="border: none" src="//image.moshimo.com/af-img/0068/000000004153.gif" width="728" height="90" /></a></p>
<img loading="lazy" decoding="async" alt="" class="aligncenter" style="border: none" src="//i.moshimo.com/af/i/impression?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153" width="1" height="1" />
<p>&nbsp;</p>
<h1>商品に貼られているバーコード</h1>
<p>スーパーでよく見かけるだろうバーコード、数字の羅列が並んでいると思います。</p>
<figure id="attachment_mmd_3577" class="wp-block-image aligncenter"><img decoding="async" width="358" height="248" src="https://dreamparadaisu.com/wp-content/uploads/2022/01/barcode.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>食材などの商品に貼られているバーコードは一般的にだいたいがJANコードといわれる</p>
<p>JAN規格を基に発行され、貼り付けられています。</p>
<p>&nbsp;</p>
<p><strong>JANコード</strong>は<strong>1次元コード</strong>と称され、他にも様々な規格のバーコードが存在します。</p>
<p>ちなみに<span class="marker-under"><strong>QRコード</strong>や<strong>データマトリクス</strong>は<strong>2次元コード</strong></span>と称されます。</p>
<p>&nbsp;</p>
<p>どうやって読み取られているの？</p>
<p>スーパーなどで使われるバーコードリーダは、1次元スキャナともいわれ</p>
<p>トリガと呼ばれるボタンを押すことで、赤いレーザーが照射されます。</p>
<p>&nbsp;</p>
<p>照射された赤いレーザをバーコードに当てることで、バーコードを読み取ることができます。</p>
<p>&nbsp;</p>
<p>では、なぜレーザを当てるだけで読み取れているのでしょうか？</p>
<p>&nbsp;</p>
<p>それは、<span class="marker-under">バーコードを形成している、白と黒の棒(バー)</span>が鍵を握っています。</p>
<p>なんか棒が並んでるなと感じたあなた</p>
<p>&nbsp;</p>
<p>ただの棒が並んでるだけではなく、実は規則的に白と黒の棒が交互に並べられています。</p>
<p>詳しくは、こちらのページに解説が載っています。ありがとうございます。</p>
<p><a href="https://www.magata.net/memo/index.php?JAN%A5%B3%A1%BC%A5%C9%A4%CE%A5%D0%A1%BC%A5%B3%A1%BC%A5%C9%A4%F2%BA%EE%A4%EB(13%B7%E5JAN)">JANコードのバーコードを作る</a></p>
<p>&nbsp;</p>
<h1>本題：いざ実証・実験</h1>
<p>それでは、さっそくバーコードを読み取るための準備としてUSB接続のバーコード</p>
<p>リーダからデータを受け取るにはどうしたらいいか？こちら紐解いていきます。</p>
<p>&nbsp;</p>
<p><strong>USB接続</strong>のバーコードリーダは一般的には、キーボードインターフェースとして</p>
<p>パソコンでは接続がされるとデバイスマネージャーで認識されます。</p>
<p>&nbsp;</p>
<p>つまり、キーボードと同じ扱いがされるということになります。</p>
<p>したがって、キー入力と同じように読み取ったデータが受け取られることになります。</p>
<p>&nbsp;</p>
<p>これを踏まえて、テスト用にバーコードリーダの入力値を受け取る画面を作成して、</p>
<p>実際に試してみましょう。</p>
<p>&nbsp;</p>
<h2>使用したバーコードリーダ</h2>
<p>その前に、今回使用したバーコードリーダはこちらになります。</p>
<p style="text-align: center"><img loading="lazy" decoding="async" class="alignnone" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07T9J9Q99&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=ryokutea08-22&amp;language=ja_JP" alt="" width="160" height="160" border="0"></p>

<p>Amazonでベストセラーだったバーコードリーダです。</p>
<p>ちなみに2次元式なのでQRも読めます。</p>
<p>&nbsp;</p>
<h1>準備編：バーコード受信画面</h1>
<figure id="attachment_mmd_3997" class="wp-block-image aligncenter"><img decoding="async" width="810" height="484" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/barcode_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>このようなテスト画面を作成してみました。</p>
<p>&nbsp;</p>
<p>画面の作成ができたら、バーコードリーダをパソコンに接続します。</p>
<p>テスト画面を起動し、テキストボックスにカーソルを合わせたら</p>
<p>バーコードを読み取ってみましょう。</p>
<p>&nbsp;</p>
<p>すると、どうでしょう？</p>
<p>読み取ったバーコードが、下図のように表示されたのではないでしょうか？</p>
<figure id="attachment_mmd_3998" class="wp-block-image aligncenter"><img decoding="async" width="792" height="478" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/barcode_2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>バーコードは、適当なモノを作りました。</p>
<figure id="attachment_mmd_3999" class="wp-block-image aligncenter"><img decoding="async" width="331" height="58" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/code39_12345678.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p><a href="https://barcode-place.azurewebsites.net/Barcode/code39">こちら</a>で作成をすることができます。</p>
<p>&nbsp;</p>
<p>ここまででバーコードリーダから読み取られたデータがどのようにして</p>
<p>受け取られるかがわかってきたかと思います。</p>
<p>&nbsp;</p>
<p><strong>USB接続</strong>の場合、<span class="marker-under">キーボード入力と同様にして受け取られています</span>。</p>
<p>それでは、受け取ったデータから更に処理をつなげたい場合どうしたらいいでしょう？</p>
<p>&nbsp;</p>
<p>バーコードは読んだだけでは終わりませんよね？</p>
<p>&nbsp;</p>
<p>読んだその先に、値段を表示してくれたり、読んだバーコードによって</p>
<p>設備の動作を変えたりと読み取った後の処理が重要になってきます。</p>
<p>&nbsp;</p>
<p>先ほどは、読み取った値をテキストボックスに表示することができました。</p>
<p>表示がされたテキストボックスに対して何らかの処理を追加すればよさそうですね。</p>
<p>&nbsp;</p>
<p>つまり、テキストボックスのイベントを発生させて、</p>
<p>そこで何らかの処理をさせてあげればよさそうです。</p>
<p>&nbsp;</p>
<p>ここで使う候補として出てくるのが、<span class="marker-under"><strong>TextBox.TextChanged</strong></span></p>
<p>&nbsp;</p>
<h2>バーコード情報を処理する</h2>
<p>テキストボックスに出力されたバーコードから読み取った情報を処理してみましょう。</p>
<p><strong>TextBox.TextChanged</strong>を使用するので、以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    Console.WriteLine(TextBox1.Text)
End Sub</pre><p>
&nbsp;</p>
<p>では、実際にコードを走らせてバーコードを読み取ってみましょう。</p>
<p>※カーソルはテキストボックスに合わせてください。</p>
<p>&nbsp;</p>
<p>コードを走らせてみるとわかるのですが、</p>
<p>バーコードリーダで読み取ったデータを表示させると実は、</p>
<p>1文字ずつPCへ送信されているのがわかります。</p>
<p>&nbsp;</p>
<p>バーコードリーダからPCへ送信されるデータは、1文字ずつとなり</p>
<p>その都度<strong>TextBox.TextChanged</strong>イベントが処理されます。</p>
<p>&nbsp;</p>
<p>つまり、全てのバーコード情報を受け取るには</p>
<p><span class="red-under">バーコードの長さ分<strong>TextChanged</strong>イベントが繰り返されます</span>。</p>
<p>&nbsp;</p>
<p>本来は全てのバーコード情報がそろって処理をするので、当然1文字ずつでは</p>
<p>正しい情報として成り立ちません。</p>
<p>&nbsp;</p>
<p>では、どうしたらいいでしょう？</p>
<p>&nbsp;</p>
<h2>終端キー：ターミネータ</h2>
<p>バーコードリーダで読み取ったデータの終わりには、終端キーと呼ばれる</p>
<p>ターミネータが付加されています。</p>
<p>※バーコードリーダによっては機能自体がないモノもあります。</p>
<p>&nbsp;</p>
<p>このターミネータを検知することで、読み取ったデータがそろってから</p>
<p>処理をすることができそうですね。</p>
<p>&nbsp;</p>
<p>ターミネータ機能を有しているバーコードリーダでは、デフォルトだと</p>
<p><span class="marker-under">「<strong>CR</strong>」や「<strong>CR</strong>+<strong>LF</strong>」が設定されています</span>。</p>
<p>&nbsp;</p>
<p>ちなみに<span class="marker-under">「<strong>CR</strong>」は<strong>キャリッジリターン</strong></span>って呼ばれています。</p>
<p><span class="marker-under">「<strong>LF</strong>」は<strong>ラインフィード</strong></span>になります。</p>
<p>&nbsp;</p>
<p>それぞれ</p>
<ul>

<li>CR : 先頭行へ戻す</li>

<li>LF：次の行へ送る</li>
</ul>
<p>といった役割があります。</p>
<p>&nbsp;</p>
<h3>終端キーを検知</h3>
<p>それでは終端キーを検知する処理を実装していきます。</p>
<p>&nbsp;</p>
<p>先ほどは、TextChangedイベントを使いましたがそれよりも良いイベントがあったので</p>
<p>以下のイベントを使用します。</p>
<p>&nbsp;</p>
<div class="sp-info">TextBox.KeyDown</div>
<p>を使います。</p>
<p>&nbsp;</p>
<p>これは<span class="marker-under">テキストボックス内でキーが押されたときにイベントが発生するメソッド</span>になります。</p>
<p>バーコードリーダの動作はキーボード動作と同様のふるまいをするのでこちらが便利です。</p>
<p>&nbsp;</p>
<p>このイベント内でターミネータを検知させます。</p>
<p>コードで書くと以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub TextBox1_KeyPress(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    If e.KeyCode = Keys.Enter Then
        ' ターミネータを検知してからの処理
        ’Trueの処理
    End If
End Sub</pre><p>
&nbsp;</p>
<p>ターミネータの検知をIf文で行っています。</p>
<p>条件式としては、<span class="marker-under">e.KeyCodeがEnterキーであれば処理を</span></p>
<p><span class="marker-under">実行する</span>といった式を組んでいます。</p>
<p>&nbsp;</p>
<p>変数eには、テキストボックス内で検知されたキー情報が格納されます。</p>
<p>&nbsp;</p>
<p><span class="marker-under">「<strong>CR</strong>」や「<strong>CR</strong>+<strong>LF</strong>」は<strong>Enter</strong>キーとして扱うことができる</span>ので、</p>
<p>Keys.Enterを指定しています。</p>
<p>&nbsp;</p>
<p>ターミネータが「<strong>CR</strong>」もしくは「<strong>CR</strong>+<strong>LF</strong>」だと、Trueの処理に移り</p>
<p>バーコード情報が全てそろった状態で処理ができます。</p>
<p>&nbsp;</p>
<p>以上でバーコードリーダから受け取る、受け取った後の処理ができました。</p>
<p>これ以降は、仕様によって変更したり桁数のチェックやチェックデジットなどの</p>
<p>処理を追加して読み取ったデータが正常かどうかをチェックすることにつなげられます。</p>
<p>&nbsp;</p>
<p>お疲れ様でした。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>PCと接続したバーコードリーダから読み取ったデータを受け取る方法について</p>
<p>紹介していきました。</p>
<p>&nbsp;</p>
<p>USB接続のバーコードリーダの大半はキーボードインターフェースとして認識され、</p>
<p>普段私たちが使うキーボードと同様のふるまいをします。</p>
<p>&nbsp;</p>
<p>バーコードで読み取ったデータは、一気に入力されるのではなく、</p>
<p>1文字ずつ入力がされていくので注意が必要です。</p>
<p>&nbsp;</p>
<p>全てのデータがそろった状態で処理をするには、</p>
<p>ターミネータを検知して次の処理へつなげれるように意識しましょう。</p>
<p>&nbsp;</p>
<p>バーコードリーダ……奥が深いですが、使えるようになると楽しいですよ。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3513"
					data-ulike-nonce="bcf7b296c6"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3513"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_77/">【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3513</post-id>	</item>
		<item>
		<title>【VB.Net】三項演算子をVBでも実践してみる～新たな道へステップアップ～</title>
		<link>https://dreamparadaisu.com/visualbasic_76/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_76</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Wed, 02 Mar 2022 21:05:42 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[パソコン]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=4018</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、VBでも三項演算子が記述できるのか実践してみたので、 紹介していきます。 &#160; ちなみに前回はこちら 【VB.Net】EtherNetタイプのRFIDリーダと接続す...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_76/">【VB.Net】三項演算子をVBでも実践してみる～新たな道へステップアップ～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、VBでも三項演算子が記述できるのか実践してみたので、</p>
<p>紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_75/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/RFID_1-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/02/RFID_1-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/02/RFID_1-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/02/RFID_1-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_75/" class="blog-card-title-link">【VB.Net】EtherNetタイプのRFIDリーダと接続する～RFIDとは何か？～</a></div><div class="blog-card-excerpt">RFIDとは何かを簡単にざっくりと触れ、RFIDリーダをEtherNet経由で接続してみるといった事をVB.Netで出来るかどうか確認し、結果を記事にしています。今回RFIDリーダとしては、Omron製のV680Sシリーズを使用し、検証を行いました。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_75/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_75/" alt="" /></a></div><div class="blog-card-date">2022-02-23 12:20</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>三項演算子とは</h1>
<p>三項演算子は条件演算子とも呼ばれ、3つのオペランドを取る演算子になります。</p>
<p><strong>オペランド</strong> = <span class="marker-under">数式を構成する要素のうち、演算子じゃない方の要素を指します。</span></p>
<p>&nbsp;</p>
<p>下図のようなイメージになります。</p>
<figure id="attachment_mmd_4019" class="wp-block-image aligncenter"><img decoding="async" width="295" height="345" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>どこで使われるのか？</h2>
<p>If文の代用として使用されることがあります。</p>
<p>コードをスッキリと見せることもできるので便利な演算子になっています。</p>
<p>&nbsp;</p>
<h2>どうやって書くの？</h2>
<p>JavaScriptだと、以下の構文になります。</p>
<div class="sp-info">条件式(condition) ? 真(True)の処理 : 偽(False)の処理</div>
<p>&nbsp;</p>
<p>1行でIf文で記述される内容が収まっているのがわかります。簡素なコードにできますね。</p>
<p>&nbsp;</p>
<p>条件式に基づいて、</p>
<p>疑問符&#8221;?&#8221;とTrueの処理とFalseの処理の間にある&#8221;:&#8221;(コロン)がミソですね。</p>
<p>&nbsp;</p>
<p>読み解くと、条件式がTrueであればTrueの処理を</p>
<p>FalseであればFalseの処理をそれぞれ実行して返します。</p>
<p>&nbsp;</p>
<p>では、これをVBで書くにはどうしたらいいでしょう？</p>
<p>VBでは三項演算子は以下の構文になります。</p>
<p>&nbsp;</p>
<div class="sp-info">If( 条件式, Trueの処理, Falseの処理)</div>
<p>といった記述になり、JavaScriptのような形とは違います。</p>
<p>&nbsp;</p>
<p><span class="marker-under">Ifが含まれているのが特徴的</span>ですね。</p>
<p>完全にJavaScript唯一の三項演算子かといわれると若干違うかもしれませんね。</p>
<p>&nbsp;</p>
<p>それでもVBでは、この記述が三項演算子になるので</p>
<p>よかったら使ってみてください。</p>
<p>&nbsp;</p>
<p>通常のIf文を書くよりもコードを短縮できますね。</p>
<p>&nbsp;</p>
<h1>例題</h1>
<p>例として、偶数か奇数かを判定する処理を書いていきます。</p>
<p>&nbsp;</p>
<p>If文を使って書くと、
</p><pre class="urvanov-syntax-highlighter-plain-tag">Dim a As Integer = 8
If a Mod 2 = 0 Then
    Console.WriteLine("偶数です。")
Else
    Console.WriteLine("奇数です。")
End If</pre><p>
こうなりますね。</p>
<p>&nbsp;</p>
<p>では、三項演算子を用いた場合、どうなるでしょうか？</p>
<p>答えは、以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Dim a As Integer = 7
Console.WriteLine(If(a Mod 2 = 0, "偶数です。", "奇数です。"))</pre><p>
&nbsp;</p>
<p>コードがスッキリされているのがわかりますね。</p>
<p>三項演算子を用いることで、わずか1行で書けてしまうんですね。</p>
<p>便利な点、一方で可読性が悪くなりがちな印象も受けますね。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>VB.Netで三項演算子を書くにはどうしたらいいかについて、紹介をしていきました。</p>
<p>コードをスッキリさせたいときには活用してみるといいでしょう。</p>
<p>&nbsp;</p>
<p>慣れるまでは大変かもしれませんが、使いこなせるようになるといいですね！</p>
<p>プログラミングボキャブラリーを増やす、きっかけになれば嬉しいです。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<p>&nbsp;</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="4018"
					data-ulike-nonce="cd99752616"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_4018"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_76/">【VB.Net】三項演算子をVBでも実践してみる～新たな道へステップアップ～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4018</post-id>	</item>
		<item>
		<title>【VB.Net】EtherNetタイプのRFIDリーダと接続する～RFIDとは何か？～</title>
		<link>https://dreamparadaisu.com/visualbasic_75/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_75</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Wed, 23 Feb 2022 03:20:29 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[RFID]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3929</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 久々のVB.Net記事の更新です。 タイトル通り、以前にRFIDリーダを使う機会があったので RFIDとは何かから学んだことを紹介していきます。 &#160; EtherNet経由...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_75/">【VB.Net】EtherNetタイプのRFIDリーダと接続する～RFIDとは何か？～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>久々のVB.Net記事の更新です。</p>
<p>タイトル通り、以前にRFIDリーダを使う機会があったので</p>
<p>RFIDとは何かから学んだことを紹介していきます。</p>
<p>&nbsp;</p>
<p>EtherNet経由で接続されたRFIDリーダをVB.Netで制御し、</p>
<p>まずは接続するところからを記事にします。</p>
<p>読込みや書込みに関しては、また別の記事で紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回のVB.Net記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_74/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/edf1c455398ff215ed5f6b7dd1cb8e0b-1-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/10/edf1c455398ff215ed5f6b7dd1cb8e0b-1-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/10/edf1c455398ff215ed5f6b7dd1cb8e0b-1-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/10/edf1c455398ff215ed5f6b7dd1cb8e0b-1-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_74/" class="blog-card-title-link">【VB.Net】0 除算に関するエラーについてさらっと紹介～例外処理について学ぶ～</a></div><div class="blog-card-excerpt">VB.Netにおける除算エラーについて簡単に紹介していきます。除算のエラーをアプリケーションの実行中に発生させてしまい、強制的にアプリケーションが止められてしまって、どうしたらいいか悩んでる方の参考になれば嬉しいです。まずは簡単にエラーについて学んでみましょう。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_74/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_74/" alt="" /></a></div><div class="blog-card-date">2021-10-03 19:05</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>RFIDとは</h1>
<p>そもそもRFIDとは何か、</p>
<div class="sp-info">Radio Frequency IDentifier</div>
<p>の略で、調べてみると</p>
<blockquote><b>RFID</b>（<a title="英語" href="https://ja.wikipedia.org/wiki/%E8%8B%B1%E8%AA%9E">英</a>: <span lang="en"><b>r</b>adio <b>f</b>requency <b>id</b>entifier</span>）とは、<a class="mw-disambig" title="ID" href="https://ja.wikipedia.org/wiki/ID">ID情報</a>を埋め込んだRFタグから、<a class="mw-redirect" title="電磁界" href="https://ja.wikipedia.org/wiki/%E9%9B%BB%E7%A3%81%E7%95%8C">電磁界</a>や<a title="電波" href="https://ja.wikipedia.org/wiki/%E9%9B%BB%E6%B3%A2">電波</a>を用いた近距離（<a title="周波数" href="https://ja.wikipedia.org/wiki/%E5%91%A8%E6%B3%A2%E6%95%B0">周波数</a>帯によって数センチメートル～数メートル）の<a title="無線通信" href="https://ja.wikipedia.org/wiki/%E7%84%A1%E7%B7%9A%E9%80%9A%E4%BF%A1">無線通信</a>によって情報をやりとりするもの、および技術全般を指す。 従来のRFタグは、複数の電子素子が乗った回路基板で構成されていたが、近年、小さなワンチップの<a title="集積回路" href="https://ja.wikipedia.org/wiki/%E9%9B%86%E7%A9%8D%E5%9B%9E%E8%B7%AF">IC （集積回路）</a>で実現できるようになってきた。 これは<a title="ICタグ" href="https://ja.wikipedia.org/wiki/IC%E3%82%BF%E3%82%B0">ICタグ</a>と呼ばれ、そのサイズからゴマ粒チップと呼ばれることもある。 一般的にRFIDとはICタグ、その中でも特にパッシブタイプのICタグのみを指して用いられることが多い。
<p style="text-align: right"><a href="https://ja.wikipedia.org/wiki/RFID">出典: フリー百科事典『ウィキペディア（Wikipedia）』</a></p>
</blockquote>
<p>&nbsp;</p>
<p>簡単にかみ砕くと、電波によってデータのやり取りをする機器ですね。</p>
<ul>

<li>データを読込んだり書き込んだりするのがリーダと呼ばれる機器
⇒　RFIDリーダ</li>

<li>データが蓄積されている、されるのがタグと呼ばれる機器
⇒　RFIDタグ　IDタグ　って呼ばれています。</li>
</ul>
<p>になります。</p>
<p>&nbsp;</p>
<p>最近では、各業界で様々な活用をされていますね。</p>
<p>例えば、ユニクロがわかりやすいかもしれません。</p>
<p>&nbsp;</p>
<p>ユニクロの製品のだいたい(ほぼすべて？)には、このRFIDが使われています。</p>
<p>皆さんも経験したことがあるのではないでしょうか？</p>
<p>&nbsp;</p>
<p>ユニクロではカートに入れた商品をレジの横のカート置き場に置くことで</p>
<p>自動で購入金額を算出し、レジに表示してくれています。</p>
<p>&nbsp;</p>
<p>流れとしては、</p>
<ol>

<li>カート置き場にカートを置く</li>

<li>カート内のタグをRFIDで読み取る</li>

<li>タグに書込まれた情報から商品の価格を抽出</li>

<li>集計後レジへ表示</li>
</ol>
<p>といった流れになるのでしょうか。</p>
<p>&nbsp;</p>
<p>最近では、このようなカートを置くだけで会計ができる、セルフレジ方式の多くは</p>
<p>RFIDを活用しています。</p>
<p>※会計自体はお客さんが現金もしくは電子決済を選びます。</p>
<p>&nbsp;</p>
<p>食品分野ではなかなか難しいですが、近年では検証もされているようです。</p>
<p>※流通に関しては、RFIDが活用されています。店舗運用に関しては検証段階？</p>
<p><a href="https://www.meti.go.jp/press/2020/10/20201028005/20201028005.html">コンビニエンスストアにおける食品ロス削減に関する取組</a></p>
<p>&nbsp;</p>
<p>まだまだ、これからのRFID、今後が楽しみですね。</p>
<p>&nbsp;</p>
<h2>特徴</h2>
<p>以下のような特徴があります。</p>
<ul>

<li>非接触でIDの読み取りが可能</li>

<li>データの書き換えが可能</li>

<li>バーコードと違って汚れても読み取れる</li>

<li>電波で読み取るので遮蔽物の影響を受けにくい(電波が通れば)</li>
</ul>
<p>&nbsp;</p>
<h2>RFIDタグ</h2>
<p>タグにもいくつかのタイプがあります。</p>
<ul>

<li>パッシブタイプ</li>

<li>アクティブタイプ</li>

<li>セミアクティブタイプ</li>
</ul>
<p>&nbsp;</p>
<h3>パッシブタイプ</h3>
<p>IDタグの中に電池が搭載されていないタグに分類され、</p>
<p>ICカード、PasmoやSuica、ICOCAなどがパッシブタイプに該当します。</p>
<p>実はICカードもRFIDなんですね。</p>
<p>&nbsp;</p>
<p>読み取れる距離も近距離で、だいたい数十センチ程度になります。</p>
<p>&nbsp;</p>
<p>書込めるメモリの容量もタグによってさまざまで、</p>
<p>数十～数千バイトになります。</p>
<p>&nbsp;</p>
<p>パッシブタイプは、電池内蔵されていないことから</p>
<p>自身で電波を発することができないので、基本的には</p>
<p>RFIDリーダからのエネルギーで動作をします。</p>
<p>&nbsp;</p>
<p>寿命も一般的には、半永久的といわれています。</p>
<p>&nbsp;</p>
<h3>アクティブタイプ</h3>
<p>パッシブタイプとは違って、電池が内蔵されており、自身で電波を発することができます。</p>
<p>&nbsp;</p>
<p>読み取れる距離も長く、数10メートル以上で可能です。</p>
<p>&nbsp;</p>
<p>自動車のキーやスポーツ分野での活用がされています。</p>
<p>スポーツ分野だと、マラソンやタイムを計るときの機器として活用されるケースがあります。</p>
<p>&nbsp;</p>
<p>最近では落とし物防止用のキーホルダに内蔵されていることもありますね。</p>
<p>これを落としたくないモノに付けておいて、いざなくなったときでも</p>
<p>キーホルダの場所を検索することでどこにあるかすぐにわかりますね。</p>
<p>&nbsp;</p>
<p><a href="https://www.amazon.co.jp/MAMORIO-%E9%9B%BB%E6%B1%A0%E4%BA%A4%E6%8F%9B%E5%8F%AF%E8%83%BD%E7%89%88-%E4%B8%96%E7%95%8C%E6%9C%80%E5%B0%8F%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%AE%E7%B4%9B%E5%A4%B1%E9%98%B2%E6%AD%A2-%E9%8D%B5%E3%82%84%E8%B2%A1%E5%B8%83%E3%81%AE%E7%B4%9B%E5%A4%B1%E9%98%B2%E6%AD%A2-%E3%82%AD%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%B3%E3%83%80%E3%83%BC/dp/B091SXHV8B?keywords=%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0&amp;qid=1645578992&amp;sr=8-2-spons&amp;psc=1&amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyUzNPRU1TSVNONzVEJmVuY3J5cHRlZElkPUEwNzM5NDU5QzdEQlY3SjNYOE0yJmVuY3J5cHRlZEFkSWQ9QTEySFJUMEtKQjc1VUsmd2lkZ2V0TmFtZT1zcF9hdGYmYWN0aW9uPWNsaWNrUmVkaXJlY3QmZG9Ob3RMb2dDbGljaz10cnVl&amp;linkCode=li2&amp;tag=ryokutea08-22&amp;linkId=e2aa7ee70b7c1368d587706aa6c89e72&amp;language=ja_JP&amp;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" alt="" class="aligncenter" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B091SXHV8B&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=ryokutea08-22&amp;language=ja_JP" border="0" /></a></p>
<p>画像のようなモノになります。スマートタグって言われていますね。</p>
<p>&nbsp;</p>
<p>寿命はパッシブタイプと違って、電池が内蔵されていることから</p>
<p>数年程度と言えます、使用頻度によって変わってくるでしょう。</p>
<p>&nbsp;</p>
<h3>セミアクティブタイプ</h3>
<p>こちらはパッシブタイプとアクティブタイプの特徴を併せ持ったタグに分類されます。</p>
<p>&nbsp;</p>
<p>パッシブタイプより、読み取れる距離が長い</p>
<p>アクティブタイプより、電池の消耗が少ない</p>
<p>&nbsp;</p>
<p>といった特徴があり、両者の欠点を補ってくれるようなのがセミアクティブになりますね。</p>
<p>良い点を集めたRFIDですね。</p>
<p>&nbsp;</p>
<p>使用例としては、スポーツに関する事例が多く</p>
<ul>

<li>レースのタイム計測(スポーツ競技判定)
自転車やマラソン、駅伝</li>
</ul>
<p>スポーツ分野で目覚ましい活躍をされているようです。</p>
<p>&nbsp;</p>
<h1>今回使用したRFID</h1>
<p>以下の組み合わせのモノを使用しています。</p>

<table id="tablepress-66" class="tablepress tablepress-id-66">
<thead>
<tr class="row-1">
	<th class="column-1">No</th><th class="column-2">機器名</th><th class="column-3">メーカ名</th><th class="column-4">備考</th><th class="column-5">画像</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">1</td><td class="column-2">V680S(RFIDリーダ)</td><td class="column-3">Omron</td><td class="column-4">EtherNetタイプ</td><td class="column-5"><img loading="lazy" decoding="async" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/94361c79afecfa5b11a7039f7cc76263.png" alt="" width="261" height="282" class="aligncenter size-full wp-image-3982" /></td>
</tr>
<tr class="row-3">
	<td class="column-1">2</td><td class="column-2">V680S-D2KF67M(IDタグ)</td><td class="column-3">Omron</td><td class="column-4">メモリ容量:2000バイト<br />
質量：12g<br />
形状：40×40×5(mm)<br />
アクセス回数：1兆回</td><td class="column-5"><img loading="lazy" decoding="async" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/e03217c3d6dfbc45da8e7958d196cb49.jpg" alt="" width="258" height="258" class="aligncenter size-full wp-image-3981" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/02/e03217c3d6dfbc45da8e7958d196cb49.jpg 258w, https://dreamparadaisu.com/wp-content/uploads/2022/02/e03217c3d6dfbc45da8e7958d196cb49-150x150.jpg 150w, https://dreamparadaisu.com/wp-content/uploads/2022/02/e03217c3d6dfbc45da8e7958d196cb49-100x100.jpg 100w, https://dreamparadaisu.com/wp-content/uploads/2022/02/e03217c3d6dfbc45da8e7958d196cb49-120x120.jpg 120w" sizes="auto, (max-width: 258px) 100vw, 258px" /></td>
</tr>
</tbody>
</table>
<!-- #tablepress-66 from cache -->
<p>&nbsp;</p>
<h1>接続構成</h1>
<p>以下のような構成になります。</p>
<figure id="attachment_mmd_3984" class="wp-block-image aligncenter"><img decoding="async" width="931" height="519" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/6e475f7f3469d5637f178a1a92b07489.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h1>RFIDとの接続</h1>
<p>VB.Netで接続するには、System.Net.Socketsクラスを使います。</p>
<blockquote>ネットワークへのアクセスを厳密に制御する必要のある開発者のための、Windows ソケット (Winsock) インターフェイスのマネージド実装が用意されています。
<p style="text-align: right"><a href="https://docs.microsoft.com/ja-jp/dotnet/api/system.net.sockets?view=net-6.0">System.Net.Sockets 名前空間</a></p>
</blockquote>
<p>といったのがサポートされているクラスになります。</p>
<p>&nbsp;</p>
<p>使うには、まず変数として宣言をしておきます。</p>
<div class="sp-info">Private or Public 変数名 As System.Net.Sockets.TcpClient</div>
<div class="sp-info">Private or Public 変数名 As System.Net.Sockets.NetworkStream</div>
<p>この二つを最初に宣言します。</p>
<p>&nbsp;</p>
<p>TcpClientは、TCPネットワークサービス用のクライアント接続が提供されています。</p>
<div class="sp-info">TCP : Transmission Control Protocol</div>
<p>インターネットにおいて標準的に利用されているプロトコルです。</p>
<p>インターネットで使われているものだと認識してもらえればと思います。</p>
<p>&nbsp;</p>
<h2>ソケットを作成</h2>
<p>変数の宣言をしたら、ソケットを生成します。</p>
<p>以下の記述で生成ができます。(インスタンスの生成ともいいます。)</p>
<div class="sp-info">変数名 = New System.Net.Sockets.TcpClient</div>
<p>&nbsp;</p>
<p>接続先の情報も変数として準備しておきます。</p>
<div class="sp-info">Dim 変数名　As String = &#8220;接続する機器のIPアドレス&#8221;</div>
<div class="sp-info">Dim 変数名 As String = &#8220;接続する機器のポート&#8221;</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>TCP接続</h2>
<p>ソケットを生成し、接続する機器のパラメータ準備もできたので</p>
<p>実際に機器に対して、以下の記述で接続を試みます。</p>
<p>&nbsp;</p>
<div class="sp-info">TcpClient変数.Connect(&#8220;接続する機器のIPアドレス&#8221;, &#8220;接続する機器のポート&#8221;)</div>
<p>&nbsp;</p>
<p>NetworkStreamも取得しておきます。</p>
<p><span class="marker-under">通信が確立した後のデータのやり取り</span>で使います。</p>
<div class="sp-info">変数名 = TcpClient変数.GetStream()</div>
<p>&nbsp;</p>
<div>メモ</div>
<div><span class="marker-under"><strong>ストリーム(Stream)</strong> : 順々に流れてくるデータを指しています。</span></div>
<p>Connectを実行し、特に例外が発生していなければ通信ができています。</p>
<p>気になるようであれば、以下を実行し接続状態を取得します。</p>
<p>&nbsp;</p>
<div class="sp-info">TcpClient変数名.Connected</div>
<p>&nbsp;</p>
<div>戻り値が</div>
<ul>

<li>Trueなら接続されている</li>

<li>Falseなら接続されていない</li>
</ul>
<div>となります。</div>
<p>&nbsp;</p>
<div>最後にコードは以下になります。</div>
<div>
<pre class="urvanov-syntax-highlighter-plain-tag">#Region "変数宣言"
    Private mSoc As System.Net.Sockets.TcpClient
    Private mStm As System.Net.Sockets.NetworkStream
#End Region

#Region "メイン処理"
Private Sub main() 

    ' ソケット生成
    mSoc = New System.Net.Sockets.TcpClient

    ' パラメータ設定
    Dim ipOrHost As String = "192.168.1.200"
    Dim port As String = 502

    ' TCP/IP 接続
    mSoc.Connect(ipOrHost, port)
    mStm = mSoc.GetStream()

    ' 接続状態を確認
    If mSoc.Connected Then
        MessageBos.Show("接続成功")
    End If

End Sub
#End Region</pre>
 

</div>
<h1>まとめ</h1>
<p>RFIDとは何かから触れ、実際にRFIDリーダとVB.Netで</p>
<p>接続してみるところまでを紹介していきました。</p>
<div></div>
<p>接続に関しては、Socketクラスを使えば意外にもあっさりとできてしまいます。</p>
<p>接続の仕方で悩まれている方の参考になれば嬉しいです。</p>
<p>&nbsp;</p>
<p>次回以降で、読み込みや書き込みについても紹介できたらと思います。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<p>&nbsp;</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3929"
					data-ulike-nonce="10c981cf21"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3929"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_75/">【VB.Net】EtherNetタイプのRFIDリーダと接続する～RFIDとは何か？～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3929</post-id>	</item>
		<item>
		<title>【VB.Net】0 除算に関するエラーについてさらっと紹介～例外処理について学ぶ～</title>
		<link>https://dreamparadaisu.com/visualbasic_74/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_74</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Sun, 03 Oct 2021 10:05:45 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3112</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、除算エラーの中でも0除算エラーについてさらっと紹介していきます。 プログラムを組んでいて、数字を取り扱うエラーは多くあります。 &#160; その中でもまずは簡単に、0除算...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_74/">【VB.Net】0 除算に関するエラーについてさらっと紹介～例外処理について学ぶ～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、除算エラーの中でも0除算エラーについてさらっと紹介していきます。</p>
<p>プログラムを組んでいて、数字を取り扱うエラーは多くあります。</p>
<p>&nbsp;</p>
<p>その中でもまずは簡単に、0除算に関して、エラーのキャッチの仕方、</p>
<p>エラーが出てもアプリケーションの処理を止めない方法を簡単に伝授します。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら、</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_73/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/table_14-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/09/table_14-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/09/table_14-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/09/table_14-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_73/" class="blog-card-title-link">【VB.Net】TableLayoutPanelに動的に配置したコントロールのイベントの呼び出し方</a></div><div class="blog-card-excerpt">動的にコントロールの追加はできたけど、どうやったらイベントを呼び出すことができるの？またどうやって使ったらいいの？と悩まれていませんか？今回は、TableLayoutPanel上に動的に配置したコントロールのイベントを呼び出す方法について紹介します。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_73/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_73/" alt="" /></a></div><div class="blog-card-date">2021-09-19 07:46</div></div></div>
<p>&nbsp;</p>
<p style="text-align: center"><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0"></a>
<img loading="lazy" decoding="async" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0"></p>
<p>&nbsp;</p>
<h1>0除算エラー</h1>
<p>数値を除算する際に0で除算した時に発生するエラーのことを指します。</p>
<p>&nbsp;</p>
<p>例)</p>
<p>10 / 0 = ?</p>
<p>この時にエラーが発生します。</p>
<p>※プログラムやExcelで行おうとしたときに発生します。</p>
<p>&nbsp;</p>
<p>学生時代に算数で習ったときには、おそらく</p>
<p>10/ 0 の答えは、0であると習ったのではないでしょうか？</p>
<p>&nbsp;</p>
<p>これに関しては、一昔前に9 ÷ 0 = 0というキーワードで</p>
<p>ネット上で議論が巻き起こっていたみたいです。</p>
<p>気になる方は、<a href="https://www.rbbtoday.com/article/2012/11/28/98481.html">こちら</a></p>
<p>&nbsp;</p>
<p>結論からいうと、 10 / 0 = 0ではなく、計算ができないというのが、</p>
<p>一応の正解となるそうです。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_3116" class="wp-block-image aligncenter"><img decoding="async" width="640" height="412" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/651010_s.jpg" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>これに関しては、個人が何が正しいのかを取捨する必要があると思いますので、</p>
<p>個人がそれぞれの正解を頭の片隅に思っておけば、良いと思います。</p>
<p>&nbsp;</p>
<p>さて、話は脱線しましたが、</p>
<p>プログラムでは、10 / 0 の答えは除算エラーになります。</p>
<p>&nbsp;</p>
<h1>エラーをつかむ</h1>
<p>実際に除算エラーを起こしてみると、コードでは下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Dim a As Integer = 10
Dim b As Integer = 0
Dim result As Double

result = a / 0
Console.WriteLine(result)</pre><p>
&nbsp;</p>
<p>実行してみると……</p>
<p>&nbsp;</p>
<p>あれ？</p>
<figure id="attachment_mmd_3081" class="wp-block-image aligncenter"><img decoding="async" width="640" height="457" src="https://dreamparadaisu.com/wp-content/uploads/2020/09/4977438_s.jpg" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>お気づきになられたでしょうか？</p>
<p>&nbsp;</p>
<p>エラーが出ずに、すんなりと通ってしまいました。</p>
<p>実際にresultに代入された答えを確認してみると……</p>
<p>&nbsp;</p>
<p><strong><span class="red-under">Infinity……インフィニティ</span></strong></p>
<p>つまり<span style="font-size: 18px"><strong>∞</strong></span>という結果になってしまいます。</p>
<p>&nbsp;</p>
<p>エラーにならないじゃん?!</p>
<figure id="attachment_mmd_3114" class="wp-block-image aligncenter"><img decoding="async" width="640" height="427" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/4387900_s.jpg" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>これに関して、調べてみました。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HED1X+9ALMR6+4QGO+5Z6WX" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www26.a8.net/svt/bgt?aid=210622101562&amp;wid=001&amp;eno=01&amp;mid=s00000022092001004000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www16.a8.net/0.gif?a8mat=3HED1X+9ALMR6+4QGO+5Z6WX" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>VB.Netで0除算エラーを起こすには？</h1>
<p>&nbsp;</p>
<p>結論から言うと、エラーを起こすには、Integer型で分子と分母を宣言するのではなく、</p>
<p>Decimal型で分子と分母を宣言する必要があるみたいです。</p>
<p>&nbsp;</p>
<p>気を取り直して、調べた結果を参考にコードを書いてみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Dim a As Decimal = 10
Dim b As Decimal = 0 
Dim result As Double 

result = a / 0 
Console.WriteLine(result)</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<p>エラーが発生しました。</p>
<p>&nbsp;</p>
<p>内容としては、</p>
<div class="sp-info"><span style="font-size: 18px"><strong>System.DivideByZeroException: &#8216;0で除算しようとしました。&#8217;</strong></span></div>
<p>&nbsp;</p>
<p>というエラーが出て、0除算エラーが起きたのが確認できました。</p>
<p>&nbsp;</p>
<p>このままではここで処理が止まってしまい、これ以降</p>
<p>何もできなくなってしまいます。</p>
<p>&nbsp;</p>
<p>これをエラーをキャッチして、回避する方法を以降で触れていきます。</p>
<p>&nbsp;</p>
<h1>エラーをキャッチする</h1>
<p>&nbsp;</p>
<p>エラーの内容をキャッチするには、</p>
<p><strong><span class="red-under">Try~Catch~End Try</span></strong>という例外処理の書き方をコード上に組み込みます。</p>
<p>&nbsp;</p>
<p>書き方としては以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Try
    ' エラーが起きる処理をここに書く

Catch ex As エラーの種類を書く
    ' エラーが起きた後の処理を書く
End Try</pre><p>
&nbsp;</p>
<p><span class="marker-under" style="color: #000000"><strong>Tryブロック</strong></span>では、エラーが起きる処理を書きます。</p>
<p><span class="marker-under"><strong>Catchブロック</strong></span>では、エラーが起きた後の処理を書きます。</p>
<p>&nbsp;</p>
<p>この際に、Catch ex As エラーの種類の種類には、</p>
<p>Tryブロックの処理で起きうるであろうエラーの種類を書きます。</p>
<p>&nbsp;</p>
<p>エラーの種類がわからなければ、</p>
<div class="sp-info"><strong>Catch ex As <span style="color: #ff0000">Exception</span></strong></div>
<p>という風に書きます。</p>
<p>&nbsp;</p>
<h1>0除算エラーの場合</h1>
<p>&nbsp;</p>
<div class="sp-info"><strong>Catch ex As <span style="color: #ff0000">DivideByZeroException</span></strong></div>
<p>と書くことで、0除算エラーのみをキャッチすることができます。</p>
<p>&nbsp;</p>
<p>ただし、他のエラーの場合はキャッチすることができないので、</p>
<p>他のエラーをキャッチしたい場合は、Catchブロックを更に作ります。</p>
<p>&nbsp;</p>
<p>例えば、下のように
</p><pre class="urvanov-syntax-highlighter-plain-tag">Try 
    ' エラーが起きる処理をここに書く 
Catch ex As エラー①
    ' エラー①が起きた後の処理を書く 
Catch ex As エラー②
　　' エラー②が起きた後の処理を書く
End Try</pre><p>
&nbsp;</p>
<p>と、このような感じでエラーをキャッチして、エラー毎に何をさせたいか</p>
<p>後は処理を書いてあげれば、アプリケーションを途中で止めずに</p>
<p>処理を継続させることができます。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>0除算エラーをきっかけにエラーのキャッチの仕方を紹介していきました。</p>
<p>&nbsp;</p>
<p>エラーをキャッチすることで、エラー毎に行わせたい処理を</p>
<p>書けるので活用してみてください。</p>
<p>&nbsp;</p>
<p>エラーをキャッチするには</p>
<div class="sp-primary"><strong>Try ~ Catch ~ End Try</strong></div>
<p>これさえ覚えておけば、エラー(例外)に関する処理を組むことができます。</p>
<p>&nbsp;</p>
<p>プログラミングを学んでみたいなら、こちら</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HIMEG+G1IHKI+4PGA+C0B9U" rel="nofollow">全国50都市で開催したプログラミング講座がオンライン・無料開催【テックジム】</a></p>
<img loading="lazy" decoding="async" src="https://www15.a8.net/0.gif?a8mat=3HIMEG+G1IHKI+4PGA+C0B9U" alt="" width="1" height="1" border="0" />
<p>最後までお読みいただき、ありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3112"
					data-ulike-nonce="2f249ccf8a"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3112"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_74/">【VB.Net】0 除算に関するエラーについてさらっと紹介～例外処理について学ぶ～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3112</post-id>	</item>
		<item>
		<title>【VB.Net】TableLayoutPanelに動的に配置したコントロールのイベントの呼び出し方</title>
		<link>https://dreamparadaisu.com/visualbasic_73/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_73</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Sat, 18 Sep 2021 22:46:43 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3010</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、動的に配置したコントロールのイベントの呼び出し方 (ボタンを押した時にイベントを発生させるにはどうしたらいいか？) について、紹介していきます。 &#160; 前回、Tab...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_73/">【VB.Net】TableLayoutPanelに動的に配置したコントロールのイベントの呼び出し方</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、動的に配置したコントロールのイベントの呼び出し方</p>
<p>(ボタンを押した時にイベントを発生させるにはどうしたらいいか？)</p>
<p>について、紹介していきます。</p>
<p>&nbsp;</p>
<p>前回、TableLayoutPanel上に動的にコントロールを配置することはできたので、</p>
<p>今回はこれの続きとして、記事を書いていきます。</p>
<p>&nbsp;</p>
<p>前回の記事がこちらになります。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_72/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_11-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_11-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/08/table_11-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/08/table_11-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_72/" class="blog-card-title-link">【VB.Net】TableLayoutPanelを配置して、動的に画面をカスタマイズしてみた</a></div><div class="blog-card-excerpt">アプリケーション実行時に画面をカスタマイズしたくなるときはありませんか？WindowsフォームアプリケーションのフォームにTableLayoutPanelを配置した状態からTableLayoutPanel内に動的にコントロールを追加する方法を紹介しています。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_72/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_72/" alt="" /></a></div><div class="blog-card-date">2021-08-22 16:52</div></div></div>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1><span id="TableLayoutPanel">TableLayoutPanel</span></h1>
<p>以前にTableLayoutPanelについては下記の記事で紹介をしていました。</p>
<p>その時はTableLayoutPanelの使い方どまりでした。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_37/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_37/" class="blog-card-title-link">【VB.Net】TableLayoutPanelの使い方～画面レイアウトを工夫してみた～</a></div><div class="blog-card-excerpt">Windowsフォームアプリケーションの画面レイアウトでコンポーネントの配置が整わない、綺麗に配置できないといった悩みはありませんか？そんな時に使える、TableLayoutPanelについて例を交えて紹介しています。初学者の参考になれば。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_37/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_37/" alt="" /></a></div><div class="blog-card-date">2020-11-22 18:50</div></div></div>
<p>&nbsp;</p>
<h2><span id="i">フォーム画面の作成</span></h2>
<p>まず、最初に以下のフォーム画面を作成します。(※前回の記事で作成しています。)</p>
<figure id="attachment_mmd_2831" class="wp-block-image aligncenter"><img decoding="async" width="814" height="489" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>このフォームを使って、TableLayoutPanelのレイアウトなどを</p>
<p>動的に変更していきたいと思います。</p>
<p>&nbsp;</p>
<p>コントロールの配置については下記の表になります。</p>

<table id="tablepress-58" class="tablepress tablepress-id-58">
<thead>
<tr class="row-1">
	<th class="column-1">No</th><th class="column-2">コントロール</th><th class="column-3">名前</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">1</td><td class="column-2">TableLayoutPanel</td><td class="column-3">tlpMain</td>
</tr>
</tbody>
</table>
<!-- #tablepress-58 from cache -->
<p>&nbsp;</p>
<h2><span id="i-2">実行環境</span></h2>
<p>筆者の実行環境は、</p>
<ul>

<li>VisualStudio2019</li>

<li>Windows 10 64bit</li>

<li>.Net Framework 4.5.1</li>
</ul>
<p>になります。</p>
<p>※　Windows7 8 8.1でも動作はできますが、画面デザインの表示が変わるかもしれません。</p>
<p>&nbsp;</p>
<h1>TableLayoutPanelの設定</h1>
<p>今回は、以下の設定をTableLayoutPanelに行います。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' 列と行を5個追加
Dim colAndRowNum As Integer = 5
Me.tlpMain.RowCount = colAndRowNum
Me.tlpMain.ColumnCount = colAndRowNum

' 追加した行や列がわかりやすいように境界線のスタイルを設定
Me.tlpMain.BorderStyle = BorderStyle.FixedSingle
Me.tlpMain.CellBorderStyle = TableLayoutPanelCellBorderStyle.Inset

' 追加した列と行のサイズを変更
Me.tlpMain.ColumnStyles.Insert(0, New ColumnStyle(SizeType.AutoSize))
For col As Integer = 1 To Me.tlpMain.ColumnCount - 1
    Me.tlpMain.ColumnStyles.Insert(col, New ColumnStyle(SizeType.Percent, 50))
Next col
Me.tlpMain.ColumnStyles.Insert(Me.tlpMain.ColumnCount, New ColumnStyle(SizeType.AutoSize))

Me.tlpMain.RowStyles.Insert(0, New RowStyle(SizeType.AutoSize))
For row As Integer = 1 To Me.tlpMain.RowCount - 1
    Me.tlpMain.RowStyles.Insert(row, New RowStyle(SizeType.Percent, 50))
Next row
Me.tlpMain.RowStyles.Insert(Me.tlpMain.RowCount, New RowStyle(SizeType.AutoSize))

' TableLayoutPanelをフォームにドッキングする。
Me.tlpMain.Dock = DockStyle.Fill
Me.tlpMain.SetColumnSpan(btnTest, 2)</pre><p>
&nbsp;</p>
<h1><span id="TableLayoutPanel-4">TableLayoutPanelに動的にコントロールを追加</span></h1>
<p>&nbsp;</p>
<p>TableLayoutPanelにコントロールを追加するには、下記の記述で出来ました。</p>
<div class="sp-info">TableLayoutPanel.Controls.Add(追加したいコントロール、列番号、行番号)</div>
<div>追加するコントロールは<span class="red-under">事前に、変数としてインスタンスを生成しておく必要</span>があります。</div>
<p>&nbsp;</p>
<div>今回は、ボタンコントロールを以下の設定で動的に追加していきます。</div>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">' ボタンの設定
btnTest.Text = "押してください。"
btnTest.Font = New Font("メイリオ", 26)
btnTest.Dock = DockStyle.Fill
btnTest.TextAlign = ContentAlignment.MiddleCenter
Me.tlpMain.Controls.Add(btnTest, 2, 2)</pre><p>
&nbsp;</p>
<p>この状態で実行すると、下図の表示になります。</p>
<figure id="attachment_mmd_3012" class="wp-block-image aligncenter"><img decoding="async" width="799" height="479" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/table_12.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h1>ボタンコントロールをイベント変数として宣言</h1>
<p>前回はTableLayoutPanelにコントロールを追加する際は、</p>
<p>関数内にDim コントロール As ***として宣言をしていましたが、</p>
<p>イベントを発生させたい場合は、</p>
<p><span class="red-under">関数外のクラス内でグローバル変数として宣言する</span>必要があります。</p>
<p>&nbsp;</p>
<p>その際の記述として、以下のようにします。</p>
<div class="sp-info">WithEvents 変数名 As New オブジェクト(コントロール)</div>
<p>&nbsp;</p>
<div>例えば、今回のボタンオブジェクトを宣言すると、</div>
<div class="sp-info">WithEvents btnTest As New Button</div>
<div>こうすることで動的に追加したコントロールのイベントを発生させることができます。</div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HIPIV+LFMK2+4QYG+61Z81" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www20.a8.net/svt/bgt?aid=210824887036&amp;wid=001&amp;eno=01&amp;mid=s00000022156001017000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3HIPIV+LFMK2+4QYG+61Z81" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>ボタンコントロールのイベントを発生させる</h1>
<p>イベントを発生させるには、例えばボタンの場合は、押した時に動作させたいのであれば</p>
<p><span class="marker-under">Button.Click()イベントを関数として作成</span>します。</p>
<p>&nbsp;</p>
<p>作成方法は以下のようになります。</p>
<p>この方法は<span class="marker">静的に配置したコントロールをダブルクリックした際に、</span></p>
<p><span class="marker">自動生成されるイベントと同じ</span>になります。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">''' &lt;summary&gt;
    ''' ボタン押下時発動イベント
    ''' &lt;/summary&gt;
    ''' &lt;param name="sender"&gt;&lt;/param&gt;
    ''' &lt;param name="e"&gt;&lt;/param&gt;
    Private Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
        ' 押されたときにさせたい処理を追加
    End Sub</pre><p>
&nbsp;</p>
<p>今回は、押されたときに以下の処理を追加してみました。
</p><pre class="urvanov-syntax-highlighter-plain-tag">''' &lt;summary&gt;
    ''' ボタン押下時発動イベント
    ''' &lt;/summary&gt;
    ''' &lt;param name="sender"&gt;&lt;/param&gt;
    ''' &lt;param name="e"&gt;&lt;/param&gt;
    Private Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
        MessageBox.Show("Hello")
    End Sub</pre><p>
&nbsp;</p>
<p>実際に実行し、ボタンを押してみると下図のようになります。</p>
<figure id="attachment_mmd_3015" class="wp-block-image aligncenter"><img decoding="async" width="800" height="478" src="https://dreamparadaisu.com/wp-content/uploads/2021/09/table_13.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>このように、動的に配置したコントロールのイベントを発生させることができました。</p>
<p>&nbsp;</p>
<p>ボタン以外にもテキストボックスやコンボボックスでも同様の記述で行えます。</p>
<p>参考にアレンジしてみてはいかがでしょうか？</p>
<p>&nbsp;</p>
<p>お疲れ様でした。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>TableLayoutPanelに動的に追加したコントロールの</p>
<p>イベントの呼び出し方(発生させる方法)について紹介していきました。</p>
<p>&nbsp;</p>
<p>例えば、何らかの処理で画面が変更される際に動的な手法は使えます。</p>
<p>何かの商品のカテゴリを選択する際の分岐として画面を変更する際にも動的手法は使えます。</p>
<p>&nbsp;</p>
<p>初学者、悩まれている方の参考に少しでもなれば嬉しいです。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<p>&nbsp;</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3010"
					data-ulike-nonce="54cfa9ab4d"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3010"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_73/">【VB.Net】TableLayoutPanelに動的に配置したコントロールのイベントの呼び出し方</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3010</post-id>	</item>
		<item>
		<title>【VB.Net】TableLayoutPanelを配置して、動的に画面をカスタマイズしてみた</title>
		<link>https://dreamparadaisu.com/visualbasic_72/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_72</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Sun, 22 Aug 2021 07:52:54 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[応用]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2830</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、Windowsフォームアプリケーションのフォーム画面に 既に配置されたTableLayoutPanelの中に動的にコントロールを 追加し、画面をカスタマイズしていく方法を紹...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_72/">【VB.Net】TableLayoutPanelを配置して、動的に画面をカスタマイズしてみた</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、Windowsフォームアプリケーションのフォーム画面に</p>
<p>既に配置されたTableLayoutPanelの中に動的にコントロールを</p>
<p>追加し、画面をカスタマイズしていく方法を紹介していきます。</p>
<p>&nbsp;</p>
<p>あらかじめコントロールを配置するのではなく、プログラムの条件によって</p>
<p>画面を変更するアプリケーションが作れるようになります。</p>
<p>&nbsp;</p>
<p>ちなみに前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_71/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/pic_4-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/08/pic_4-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/08/pic_4-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/08/pic_4-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_71/" class="blog-card-title-link">【VB.Net】好きな場所にフォルダを作成するWindowsフォームアプリを作る</a></div><div class="blog-card-excerpt">Windowsフォームアプリケーションで好きな場所にフォルダを作成するアプリを簡単に作成してみたので紹介しています。VB.Netでフォルダ操作をする際の参考になれば嬉しいです。小さなことからコツコツと始めてみます。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_71/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_71/" alt="" /></a></div><div class="blog-card-date">2021-08-12 04:31</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HED1X+9ALMR6+4QGO+5Z6WX" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www26.a8.net/svt/bgt?aid=210622101562&amp;wid=001&amp;eno=01&amp;mid=s00000022092001004000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www16.a8.net/0.gif?a8mat=3HED1X+9ALMR6+4QGO+5Z6WX" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>TableLayoutPanel</h1>
<p>以前にTableLayoutPanelについては下記の記事で紹介をしていました。</p>
<p>その時はTableLayoutPanelの使い方どまりでした。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_37/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2020/11/table_layout_23-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_37/" class="blog-card-title-link">【VB.Net】TableLayoutPanelの使い方～画面レイアウトを工夫してみた～</a></div><div class="blog-card-excerpt">Windowsフォームアプリケーションの画面レイアウトでコンポーネントの配置が整わない、綺麗に配置できないといった悩みはありませんか？そんな時に使える、TableLayoutPanelについて例を交えて紹介しています。初学者の参考になれば。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_37/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_37/" alt="" /></a></div><div class="blog-card-date">2020-11-22 18:50</div></div></div>
<p>&nbsp;</p>
<p>今回はステップアップしたTableLayoutPanelの使い方になります。</p>
<p>&nbsp;</p>
<h2>フォーム画面の作成</h2>
<p>まず、最初に以下のフォーム画面を作成します。</p>
<figure id="attachment_mmd_2831" class="wp-block-image aligncenter"><img decoding="async" width="814" height="489" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>このフォームを使って、TableLayoutPanelのレイアウトなどを</p>
<p>動的に変更していきたいと思います。</p>
<p>&nbsp;</p>
<p>コントロールの配置については下記の表になります。</p>

<table id="tablepress-58-no-2" class="tablepress tablepress-id-58">
<thead>
<tr class="row-1">
	<th class="column-1">No</th><th class="column-2">コントロール</th><th class="column-3">名前</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">1</td><td class="column-2">TableLayoutPanel</td><td class="column-3">tlpMain</td>
</tr>
</tbody>
</table>
<!-- #tablepress-58-no-2 from cache -->
<h2>実行環境</h2>
<p>筆者の実行環境は、</p>
<ul>

<li>VisualStudio2019</li>

<li>Windows 10 64bit</li>

<li>.Net Framework 4.5.1</li>
</ul>
<p>になります。</p>
<p>※　Windows7 8 8.1でも動作はできますが、画面デザインの表示が変わるかもしれません。</p>
<p>&nbsp;</p>
<h1>TableLayoutPanelの列と行を動的に追加</h1>
<p>追加したTableLayoutPanelに動的に列や行を追加するには、下記のコードで行います。</p>
<p>&nbsp;</p>
<p>列を追加する場合</p>
<div class="sp-info">TableLayoutPanel.ColumnCount = 追加したい列数</div>
<p>&nbsp;</p>
<p>行を追加する場合</p>
<div class="sp-info">TableLayoutPanel.RowCount = 追加したい行数</div>
<p>&nbsp;</p>
<p>これを使って、試しに5個の列と行を追加していきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' 列と行を5個追加
Dim colAndRowNum As Integer = 5
Me.tlpMain.RowCount = colAndRowNum
Me.tlpMain.ColumnCount = colAndRowNum</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2837" class="wp-block-image aligncenter"><img decoding="async" width="798" height="479" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>うーん、よくわかりませんね、追加できたかどうか。。。</p>
<p>&nbsp;</p>
<p>これをわかりやすくするために、境界線の設定を行っていきます。</p>
<p>こちらも動的に行っていきます。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HE3NG+90H9GY+47FO+BXIYP" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www25.a8.net/svt/bgt?aid=210609916545&amp;wid=001&amp;eno=01&amp;mid=s00000019626002004000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3HE3NG+90H9GY+47FO+BXIYP" alt="" width="1" height="1" border="0" />
<h2>境界線の設定</h2>
<p>境界線の設定には2種類あり、</p>
<ul>

<li>TableLayoutPanelの境界線</li>

<li>TableLayoutPanelの各部屋(セル)の境界線</li>
</ul>
<p>の設定の2種類があります。</p>
<p>(これが主に使うであろう境界線の設定になります。)</p>
<p>&nbsp;</p>
<p>それぞれ</p>
<p>TableLayoutPanelの境界線</p>
<div class="sp-info">TableLayoutPanel.BorderStyle = BorderStyle.各設定したい境界線</div>
<p>設定したい境界線には3種類あります。</p>
<ul>

<li>BorderStyle.<span style="color: #ff6600">None </span> &#8216; 境界線なし</li>

<li>BorderStyle.<span style="color: #ff6600">FixedSingle </span> &#8216; 1重線の境界線</li>

<li>BorderStyle.<span style="color: #ff6600">Fixed3D </span> &#8216; 3Dの境界線</li>
</ul>
<p>デフォルトだと、Noneが割り当てられています。</p>
<p>&nbsp;</p>
<p>TableLayoutPanelの各部屋(セル)の境界線</p>
<div class="sp-info">TableLayoutPanel.CellBorderStyle =
TableLayoutPanelCellBorderStyle.各設定したい境界線</div>
<p>設定したい境界線には、7種類あります。</p>
<ul>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">None</span> &#8216; 境界線無し</li>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">Single</span> &#8216; 1重線の境界線</li>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">Inset</span> &#8216; 1重線のくぼんだ境界線</li>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">InsetDouble </span> &#8216; 2重線のくぼんだ境界線</li>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">Outset</span> &#8216; 1重線の浮出した境界線</li>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">OutsetDouble</span> &#8216; 2重線の浮出した境界線</li>

<li>TableLayoutPanelCellBorderStyle.<span style="color: #ff6600">OutsetPartial</span> &#8216; 浮出した部分を含む1重線の境界線</li>
</ul>
<p>先ほど追加した列と行数に対して、下記のように設定します。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' 追加した行や列がわかりやすいように境界線のスタイルを設定
Me.tlpMain.BorderStyle = BorderStyle.FixedSingle
Me.tlpMain.CellBorderStyle = TableLayoutPanelCellBorderStyle.Inset</pre><p>
&nbsp;</p>
<p>今回は、TableLayoutPanelのBorderStyleには1重線の境界線</p>
<p>TableLayoutPanelの各部屋の境界線には1重線のくぼんだ境界線を設定しています。</p>
<p>&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2838" class="wp-block-image aligncenter"><img decoding="async" width="800" height="482" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_3.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>わかりやすくはなりましたが、各部屋のサイズが微妙ですね。</p>
<p>&nbsp;</p>
<h2>TableLayoutPanelの各部屋のサイズの設定</h2>
<p>各部屋のサイズが微妙なので、こちらも動的に設定してみます。</p>
<p>サイズを設定するには、行と列にそれぞれ行う必要があります。</p>
<p>&nbsp;</p>
<p>列の場合</p>
<div class="sp-info">TableLayoutPanel.ColumnStyles.Insert(設定する列数,
New ColumnStyle(SizeType.設定するサイズのモード))</div>
<p>&nbsp;</p>
<p>行の場合</p>
<div class="sp-info">TableLayoutPanel.RowStyles.Insert(設定する行数,
New RowStyle(SizeType.設定するサイズのモード)</div>
<div></div>
<div>設定するサイズのモードには、3種類あります。</div>
<ul>

<li>SizeType.<span style="color: #ff6600">AutoSize </span> &#8216; 他の行や列と猟奇を共有するように自動的に設定</li>

<li>SizeType.<span style="color: #ff6600">Absolute </span> &#8216; 行または列のサイズは、正確なピクセル数に設定</li>

<li>SizeType.<span style="color: #ff6600">Percent </span> &#8216; 行または列のサイズは、親コンテナのパーセントとして設定</li>
</ul>
<p>&nbsp;</p>
<p>サイズモードの設定によって、<span class="marker">サイズの指定などがオプションとして付加できたりします</span>。</p>
<p>&nbsp;</p>
<p>例えば、SizeType.Percentにすると、</p>
<p><strong><span class="marker-under">New RowStyle(SizeType.Percent, width)</span></strong>となります。</p>
<p>widthにサイズを指定することができます。</p>
<p>&nbsp;</p>
<p>ここでは下記のようにコードを書いてみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' 追加した列と行のサイズを変更
For col As Integer = 0 To Me.tlpMain.ColumnCount
    Me.tlpMain.ColumnStyles.Insert(col, New ColumnStyle(SizeType.Percent, 50))
Next col

For row As Integer = 0 To Me.tlpMain.RowCount
    Me.tlpMain.RowStyles.Insert(row, New RowStyle(SizeType.Percent, 50))
Next row</pre><p>
それぞれ列と行ごとにサイズの設定をしています。</p>
<p>&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2841" class="wp-block-image aligncenter"><img decoding="async" width="797" height="475" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_4.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>綺麗になりました。</p>
<p>ちゃんと5行5列に区切ることができています。</p>
<p>&nbsp;</p>
<p>これを全体に表示するには、Dockプロパティを設定します。</p>
<p>こちらも動的に行っていきます。</p>
<h2>フォームへドッキング</h2>
<p>Dockプロパティを設定するには、</p>
<div class="sp-info">TableLayoutPanel.Dock = DockStyle.ドッキングモード</div>
<p>ドッキングモードには、6種類あります。</p>
<p>&nbsp;</p>
<ul>

<li><span style="color: #ff6600">None </span> &#8216; なし</li>

<li><span style="color: #ff6600">Top </span> &#8216; 格納する側のコントロールの上端にドッキング</li>

<li><span style="color: #ff6600">Bottom </span> &#8216; 格納する側のコントロールの下端にドッキング</li>

<li><span style="color: #ff6600">Left </span> &#8216; 格納する側のコントロールの左端にドッキング</li>

<li><span style="color: #ff6600">Right </span> &#8216; 格納する側のコントロールの右端にドッキング</li>

<li><span style="color: #ff6600">Fill </span> &#8216; 格納する側のコントロールの四辺にドッキング且つ適切なサイズに自動調整</li>
</ul>
<p>&nbsp;</p>
<p>今回はFillにして、フォーム全体にドッキングし、適切なサイズに自動で調整をさせます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' TableLayoutPanelをフォームにドッキングする。
Me.tlpMain.Dock = DockStyle.Fill</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2842" class="wp-block-image aligncenter"><img decoding="async" width="801" height="478" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_5.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>見やすくなりました。</p>
<p>&nbsp;</p>
<p>それでは、ここからいよいよコントロールを動的に追加していきます。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3BI0VE+4JQ84Y+0K+112G4H" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www23.a8.net/svt/bgt?aid=200715242275&amp;wid=001&amp;eno=01&amp;mid=s00000000002006226000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www19.a8.net/0.gif?a8mat=3BI0VE+4JQ84Y+0K+112G4H" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>TableLayoutPanelに動的にコントロールを追加</h1>
<p>よく使うであろうコントロールをここでは動的に追加していく方法を紹介します。</p>
<p>&nbsp;</p>
<p>TableLayoutPanelにコントロールを追加するには、</p>
<div class="sp-info">TableLayoutPanel.Controls.Add(追加したいコントロール、列番号、行番号)</div>
<div>追加するコントロールは<span class="red-under">事前に、変数としてインスタンスを生成しておく必要</span>があります。</div>
<h2>ラベル(Label)</h2>
<p>ラベルを追加するには、</p>
<div class="sp-info">Dim 変数名 As New Label</div>
<p>とし、</p>
<div class="sp-info">TableLayoutPanel.Controls.Add(作成した変数名, 列番号, 行番号)</div>
<p>となります。</p>
<p>&nbsp;</p>
<p>例として、2列目の1行目にボタンを追加します。</p>
<p>わかりやすいように、作成したラベルには&#8221;こんにちは&#8221;と表示させています。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' ラベルを2列目の1行目に配置
Dim lblControl As New Label
lblControl.Text = "こんにちは"
Me.tlpMain.Controls.Add(lblControl, 1, 0)</pre><p>
ここで<span class="red-under">行番号と列番号の始まりは1からではなく、0からになるので注意が必要</span>です。</p>
<p>&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2844" class="wp-block-image aligncenter"><img decoding="async" width="798" height="477" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_6.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>追加することができました。</p>
<p>&nbsp;</p>
<h2>ボタン(Button)</h2>
<p>ボタンを追加するには、</p>
<div class="sp-info">Dim 変数名 As New Button</div>
<p>として、インスタンス化しておく必要があります。</p>
<p>&nbsp;</p>
<p>これも例として、</p>
<p>2列目の2行目に追加してみます。</p>
<p>わかりやすいようにテキストには&#8221;押してみて&#8221;と表示させてみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' ボタンを2列目の2行目にを配置
Dim btnControl As New Button
btnControl.Text = "押してみて"
Me.tlpMain.Controls.Add(btnControl, 1, 1)</pre><p>
&nbsp;</p>
<p>実行すると</p>
<figure id="attachment_mmd_2845" class="wp-block-image aligncenter"><img decoding="async" width="800" height="478" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_7.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>テキストボックス(TextBox)</h2>
<p>テキストボックスを追加するには、</p>
<div class="sp-info">Dim 変数名 As New TextBox</div>
<p>&nbsp;</p>
<p>例として、</p>
<p>3列目の1行目に追加してみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' テキストボックスを3列目の1行目に配置
Dim tbxControl As New TextBox
Me.tlpMain.Controls.Add(tbxControl, 2, 0)</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2846" class="wp-block-image aligncenter"><img decoding="async" width="801" height="478" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_8.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>チェックボックス(CheckBox)</h2>
<p>チェックボックスを追加するには、</p>
<div class="sp-info">Dim 変数名 As New CheckBox</div>
<p>&nbsp;</p>
<p>例として、</p>
<p>3列目の4行目に追加してみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' チェックボックスを3列目の4行目に配置
Dim cbxControl As New CheckBox
cbxControl.Text = "チェックしてみて"
Me.tlpMain.Controls.Add(cbxControl, 2, 3)</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2847" class="wp-block-image aligncenter"><img decoding="async" width="801" height="480" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_9.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>ラジオボタン(RadioButton)</h2>
<p>ラジオボタンを追加するには、</p>
<div class="sp-info">Dim 変数名 As New RadioButton</div>
<p>&nbsp;</p>
<p>例として、</p>
<p>4列目の4行目に追加してみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' ラジオボタンを4列目の4行目に配置
Dim rbtControl As New RadioButton
rbtControl.Text = "Apple"
Me.tlpMain.Controls.Add(rbtControl, 3, 3)</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2848" class="wp-block-image aligncenter"><img decoding="async" width="801" height="480" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/table_10.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>このようにして各種コントロールを動的に追加することもできます。</p>
<p>&nbsp;</p>
<p>動的に追加したコントロールでイベントを発生させて処理を行いたい場合については、</p>
<p>次回以降の記事で触れていこうと思います。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>TableLayoutPanelに動的にコントロールを追加する方法について紹介しました。</p>
<p>プログラム実行中に画面をカスタマイズしたい、そんなときにおススメです。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/07 19:06時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2830"
					data-ulike-nonce="9ecc21b3c6"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2830"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_72/">【VB.Net】TableLayoutPanelを配置して、動的に画面をカスタマイズしてみた</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2830</post-id>	</item>
		<item>
		<title>【VB.Net】好きな場所にフォルダを作成するWindowsフォームアプリを作る</title>
		<link>https://dreamparadaisu.com/visualbasic_71/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_71</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Wed, 11 Aug 2021 19:31:56 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2754</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、自身のパソコンの好きな場所にフォルダを作成する Windowsフォームアプリを作ってみます。 &#160; 夏休みのちょっとした学習に読者の方も作っていただけたらと思います...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_71/">【VB.Net】好きな場所にフォルダを作成するWindowsフォームアプリを作る</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、自身のパソコンの好きな場所にフォルダを作成する</p>
<p>Windowsフォームアプリを作ってみます。</p>
<p>&nbsp;</p>
<p>夏休みのちょっとした学習に読者の方も作っていただけたらと思います。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<p>ちなみに前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_70/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_5-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_5-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_5-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_5-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_70/" class="blog-card-title-link">【VB.Net】バッチファイルに引数渡して起動させてみた～やればできる～</a></div><div class="blog-card-excerpt">VB.NetのWIndowsフォームアプリケーションから外部ファイルとしてバッチファイルに引数を渡して呼び出し実行をさせてみたので紹介します。外部ファイルを使えるようにすることで開発の幅も広がります。やればできるを糧に日々成長をしていく記事作成を心がけています。悩まれている方の参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_70/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_70/" alt="" /></a></div><div class="blog-card-date">2021-07-17 08:30</div></div></div>
<p>&nbsp;</p>
<h1><span id="i"><span id="i-2">準備編</span></span></h1>
<p>VisualStudio2019を使って、Windowsフォームアプリケーションを作成していきます。</p>
<p>最初の手順については、下記記事をご参照ください。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf">
<div class="blog-card-content">
<div class="blog-card-excerpt">https://dreamparadaisu.com/vb_aplication_1/</div>
</div>
</div>
<div></div>
<div></div>
<div>
<h2><span id="i-2"><span id="i-3">フォームの作成</span></span></h2>
以下のようなフォームを作成します。

<figure id="attachment_mmd_2781" class="wp-block-image aligncenter"><img decoding="async" width="680" height="406" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/pic_3.png" class="attachment-680x611 size-680x611" alt="" loading="lazy" align="center" /></figure>

</div>
<p>&nbsp;</p>
<p>①～③のコントロールについては以下の表のとおりです。</p>

<table id="tablepress-56" class="tablepress tablepress-id-56">
<thead>
<tr class="row-1">
	<th class="column-1">No</th><th class="column-2">コントロール</th><th class="column-3">名前</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">1</td><td class="column-2">Label</td><td class="column-3">Label1</td>
</tr>
<tr class="row-3">
	<td class="column-1">2</td><td class="column-2">TextBox</td><td class="column-3">TextBox1</td>
</tr>
<tr class="row-4">
	<td class="column-1">3</td><td class="column-2">Button</td><td class="column-3">Button1</td>
</tr>
</tbody>
</table>
<!-- #tablepress-56 from cache -->
<p>&nbsp;</p>
<p>各コントロールのフォントは、メイリオの18ptを設定しています。</p>
<p>&nbsp;</p>
<h2><span id="i-3"><span id="i-4">実行環境</span></span></h2>
<p>筆者の実行環境は、</p>
<ul>

<li>VisualStudio2019</li>

<li>Windows 10 64bit</li>

<li>.Net Framework 4.5.1</li>
</ul>
<p>になります。</p>
<p>※　Windows7 8 8.1でも動作はできますが、画面デザインの表示が変わるかもしれません。</p>
<p>&nbsp;</p>
<h2><span id="i-4"><span id="i-5">アプリケーションの目的</span></span></h2>
<p>TextBox1に絶対パスで好きな場所に作成したいフォルダ名を入力します。</p>
<p>Button1を押すことで、TextBox1に入力されたフォルダが作成できることを目的とします。</p>
<h2><span id="i-5"><span id="i-6">動作</span></span></h2>
<p>動作としては、</p>
<ul>

<li>Button1を押すことで、TextBox1に入力されたフォルダを作成。</li>
</ul>
<p>これらができることとします。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3BM8PU+FA4JQQ+3L4M+78MPT" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=200912034924&amp;wid=001&amp;eno=01&amp;mid=s00000016735001216000&amp;mc=1" alt="" width="728" height="90" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3BM8PU+FA4JQQ+3L4M+78MPT" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1><span id="i-6"><span id="i-7"><span id="i-5">プログラム編</span></span></span></h1>
<p>&nbsp;</p>
<h2>フォルダの作成</h2>
<p>フォルダの作成には、System.IO.Directoryクラスの</p>
<p>CreateDirectoryメソッドを使用します。</p>
<p>&nbsp;</p>
<p>使い方は以下にようになります。</p>
<div class="sp-info">System.IO.Directory.CreateDirectory(&#8220;作成したいフォルダの絶対パス&#8221;)</div>
<p>※絶対パスを指定しないと、カレントフォルダ上へフォルダが作成されます。</p>
<p>カレントフォルダとは、現在作業しているフォルダを指します。</p>
<p>&nbsp;</p>
<h2>フォルダ作成の前に……</h2>
<p>フォルダの作成の前に、TextBox1に入力値があるかどうか、チェックをさせます。</p>
<p>これは、以下の方法で行います。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">if Me.TextBox1.Text &lt;&gt; "" Then
    ' 処理
End If</pre><p>
If文を使って、条件によって処理を分岐させています。</p>
<p>&nbsp;</p>
<p>今回は、TextBox1に入力値がある場合、処理が実行されるようにします。</p>
<p>※  は否定を表す比較演算子になります。</p>
<p>&nbsp;</p>
<p>処理の中に、フォルダ作成のコードを記述していきます。</p>
<p>※フォルダ作成のコードは先ほどのを使います。</p>
<p>下記のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">'  テキストボックスが空白ならフォルダの作成をしない。
If Me.TextBox1.Text &lt;&gt; "" Then
    ' フォルダの作成
    System.IO.Directory.CreateDirectory(Me.TextBox1.Text)
End If</pre><p>
&nbsp;</p>
<h2>最終的なコード</h2>
<p>最終的には、ボタンが押されてからフォルダの作成をしたいので、</p>
<p>ボタンイベントの中でフォルダ作成のコードが処理できるようにします。</p>
<p>&nbsp;</p>
<p>ボタンイベントは、
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    ' 処理

End Sub</pre><p>
で表されます。</p>
<p>ちなみにフォームデザイン上で<span class="marker-under">ボタンをダブルクリックすると自動でコード生成</span>がされます。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2780" class="wp-block-image aligncenter"><img decoding="async" width="680" height="147" src="https://dreamparadaisu.com/wp-content/uploads/2021/08/pic_2.png" class="attachment-680x222 size-680x222" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>ボタンイベントの中に、フォルダ作成のコードを書くと以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '  テキストボックスが空白ならフォルダの作成をしない。
        If Me.TextBox1.Text &lt;&gt; "" Then
            ' フォルダの作成
            System.IO.Directory.CreateDirectory(Me.TextBox1.Text)
        End If
    End Sub</pre><p>
これが最終的なコードになります。</p>
<p>&nbsp;</p>
<p>後は細かくコメントなどを残すと、以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class testDirectory

    ''' &lt;summary&gt;
    ''' フォルダを作成するボタンを押したら
    ''' &lt;/summary&gt;
    ''' &lt;param name="sender"&gt;&lt;/param&gt;
    ''' &lt;param name="e"&gt;&lt;/param&gt;
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '  テキストボックスが空白ならフォルダの作成をしない。
        If Me.TextBox1.Text &lt;&gt; "" Then
            ' フォルダの作成
            System.IO.Directory.CreateDirectory(Me.TextBox1.Text)
        End If
    End Sub

End Class</pre><p>
&nbsp;</p>
<h1><span id="i-15">まとめ</span></h1>
<p>VB.Netでフォルダを作成する方法とこれを使った、</p>
<p>Windowsアプリケーションの作成を例に紹介していきました。</p>
<p>&nbsp;</p>
<p>フォルダ操作はWindowsを使われるユーザですと、</p>
<p>mkdirなどのコマンドで行われる場合が多いかもしれませんが、</p>
<p>VB.Netでも簡単に作ることができます。</p>
<p>&nbsp;</p>
<p>今回の例は、アプリケーションを作る際に自動でフォルダ生成する必要が出てきた際に</p>
<p>必要になってくるかと思います。</p>
<p>&nbsp;</p>
<p>皆様の参考になれば嬉しいです。</p>
<p>&nbsp;</p>
<p>まずは手を動かすことから始めてみましょう。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2754"
					data-ulike-nonce="4880f49674"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2754"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+1"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_71/">【VB.Net】好きな場所にフォルダを作成するWindowsフォームアプリを作る</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2754</post-id>	</item>
		<item>
		<title>【VB.Net】バッチファイルに引数渡して起動させてみた～やればできる～</title>
		<link>https://dreamparadaisu.com/visualbasic_70/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_70</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Fri, 16 Jul 2021 23:30:46 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[バッチ]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2675</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、前回の記事につづきバッチファイルをVB.Netから呼び出す過程で、 バッチファイルに引数を渡す方法について紹介します。 &#160; 前回の記事はこちら 【VB.Net】バ...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_70/">【VB.Net】バッチファイルに引数渡して起動させてみた～やればできる～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<h3>関連記事</h3><ol>
<li><a href="https://dreamparadaisu.com/study_udemy/" rel="bookmark" title="Udemyレビュー｜初心者から実務者まで学べる人気講座まとめ">Udemyレビュー｜初心者から実務者まで学べる人気講座まとめ</a></li>
<li><a href="https://dreamparadaisu.com/study_tech_jim/" rel="bookmark" title="【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説">【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説</a></li>
<li><a href="https://dreamparadaisu.com/digitane_review/" rel="bookmark" title="【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材">【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材</a></li>
<li><a href="https://dreamparadaisu.com/study_dmm/" rel="bookmark" title="DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得">DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得</a></li>
<li><a href="https://dreamparadaisu.com/com_ipconfig/" rel="bookmark" title="【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認">【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、前回の記事につづきバッチファイルをVB.Netから呼び出す過程で、</p>
<p>バッチファイルに引数を渡す方法について紹介します。</p>
<p>&nbsp;</p>
<p>前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_69/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_69/" class="blog-card-title-link">【VB.Net】バッチファイルをVBで起動させてみた～やればできる～</a></div><div class="blog-card-excerpt">VB.Netから外部ファイル、今回はバッチファイルの起動をしてみたので簡単に紹介しています。VB.Netでは処理できないことをバッチファイルで肩代わりさせたい、そんな時に使える方法です。1つの言語でやろうとせず、他の言語が得意なことは他の言語にやらせて効率よく開発をしていきましょう。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_69/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_69/" alt="" /></a></div><div class="blog-card-date">2021-07-16 13:51</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>バッチファイルに引数を渡して呼び出し実行</h1>
<p>&nbsp;</p>
<h2>ProcessStartInfoクラスの設定</h2>
<p>引数を渡すには、まずProcessStartInfoクラスのインスタンス化を行い</p>
<p>オブジェクトを生成します。</p>
<p>&nbsp;</p>
<div class="sp-info">Dim 変数名 As New ProcessStartInfo()</div>
<p>&nbsp;</p>
<p>例) 変数testInfoをProcessStartInfoクラスで宣言</p>
<p>Dim testInfo As New ProcessStartInfo()</p>
<p>&nbsp;</p>
<h2>引数を渡す設定</h2>
<p>ProcessStartInfoクラスの<span class="marker-under"><strong>Argumentsプロパティ</strong></span>を使って引数を渡す設定をします。</p>
<p>&nbsp;</p>
<div class="sp-info">ProcessStartInfo.Arguments = &#8220;バッチファイルに渡す引数&#8221;</div>
<p>&nbsp;</p>
<p>例) バッチファイルに引数として&#8221;Tom&#8221;を渡したい場合</p>
<p>testInfo.Arguments = &#8220;Tom&#8221;</p>
<p>とすることで、引数を渡す設定ができます。</p>
<p>&nbsp;</p>
<p>複数の引数を渡したい場合は、<strong><span class="red-under">半角スペースで引数として渡す値を区切る</span></strong>ことで</p>
<p>複数の引数を渡せます。</p>
<p>&nbsp;</p>
<p>例) バッチファイルに引数として&#8221;ベーコン&#8221;と&#8221;リンゴ&#8221;を渡したい場合</p>
<p>testInfo.Arguments = &#8220;ベーコン リンゴ&#8221;</p>
<p>&nbsp;</p>
<h2>バッチファイルを呼び出す</h2>
<p>今回呼び出すバッチには、こちらの記事で作成したバッチを使用します。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/windows_bat_00/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/05/windows_bat_arg_09-1-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/05/windows_bat_arg_09-1-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/05/windows_bat_arg_09-1-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/05/windows_bat_arg_09-1-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/windows_bat_00/" class="blog-card-title-link">【バッチファイル】Windows環境で実行時に引数を渡す方法～引数の受け渡し方～</a></div><div class="blog-card-excerpt">Windows環境でバッチファイルを実行する際に、引数を渡したいときはありませんか？そんな時に役立つ方法、引数を渡す方法を紹介しています。意外とつまづきポイントなのでメモとしても残してます。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/windows_bat_00/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/windows_bat_00/" alt="" /></a></div><div class="blog-card-date">2021-05-26 07:50</div></div></div>
<p>→　TestArgBat.bat</p>
<p>&nbsp;</p>
<p>実行するファイルを設定します。</p>
<p>testInfo.FileName = &#8220;C:\TestArgBat.bat&#8221;</p>
<p>&nbsp;</p>
<p>最後に上記で設定したtestInfoを<span class="marker-under"><strong>Process.Start()</strong></span>に渡してあげることで、</p>
<p>呼び出したいバッチファイルに引数を渡して実行することができます。</p>
<p>&nbsp;</p>
<h1>実例</h1>
<p>こちらの記事で作成したフォームを流用します。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_69/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_4-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_69/" class="blog-card-title-link">【VB.Net】バッチファイルをVBで起動させてみた～やればできる～</a></div><div class="blog-card-excerpt">VB.Netから外部ファイル、今回はバッチファイルの起動をしてみたので簡単に紹介しています。VB.Netでは処理できないことをバッチファイルで肩代わりさせたい、そんな時に使える方法です。1つの言語でやろうとせず、他の言語が得意なことは他の言語にやらせて効率よく開発をしていきましょう。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_69/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_69/" alt="" /></a></div><div class="blog-card-date">2021-07-16 13:51</div></div></div>
<p>&nbsp;</p>
<figure id="attachment_mmd_2670" class="wp-block-image aligncenter"><img decoding="async" width="809" height="484" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>ボタンが押されたらバッチファイルを実行できるようにします。</p>
<p>&nbsp;</p>
<p>まずは、引数を渡さないでバッチファイルを呼び出してみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class frmBat

    ''' &lt;summary&gt;
    ''' ボタンが押されたら
    ''' &lt;/summary&gt;
    ''' &lt;param name="sender"&gt;&lt;/param&gt;
    ''' &lt;param name="e"&gt;&lt;/param&gt;
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim testInfo As ProcessStartInfo = New ProcessStartInfo()
        testInfo.FileName = "C:\Users\ryoku\Desktop\StudyBat\TestArgBat.bat"

        System.Diagnostics.Process.Start(testInfo)
    End Sub

End Class</pre><p>
&nbsp;</p>
<p>これを実行すると、</p>
<figure id="attachment_mmd_2677" class="wp-block-image aligncenter"><img decoding="async" width="977" height="509" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_6.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>ボタンが押されたらバッチが起動し、上図のような状態になります。</p>
<p>&nbsp;</p>
<p>では、引数を渡して実行してみます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class frmBat

    ''' &lt;summary&gt;
    ''' ボタンが押されたら
    ''' &lt;/summary&gt;
    ''' &lt;param name="sender"&gt;&lt;/param&gt;
    ''' &lt;param name="e"&gt;&lt;/param&gt;
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim testInfo As ProcessStartInfo = New ProcessStartInfo()
        testInfo.FileName = "C:\Users\ryoku\Desktop\StudyBat\TestArgBat.bat"
        testInfo.Arguments = "ベーコン リンゴ"

        System.Diagnostics.Process.Start(testInfo)
    End Sub

End Class</pre><p>
&nbsp;</p>
<p>実行すると、</p>
<figure id="attachment_mmd_2678" class="wp-block-image aligncenter"><img decoding="async" width="975" height="511" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_7.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>引数として設定した項目が、それぞれ表示されていることがわかります。</p>
<p>&nbsp;</p>
<p>外部ファイルに引数を渡せることができれば、</p>
<p>何らかの処理途中に外部ファイルの呼び出しを行い</p>
<p>処理の肩代わりもさせられたりできるので使い道はありそうです。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>VB.Netから外部ファイルとしてバッチファイルに引数を渡して呼び出す方法を紹介しました。</p>
<p>&nbsp;</p>
<p>実際に、VB.Netでできない処理を外部ファイル上でさせたいときに、</p>
<p>どうしても引数を渡す必要があったので今回活用してみました。</p>
<p>&nbsp;</p>
<p>参考になれば嬉しいです。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>




		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2675"
					data-ulike-nonce="31612e681f"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2675"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_70/">【VB.Net】バッチファイルに引数渡して起動させてみた～やればできる～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<h3>関連記事</h3><ol>
<li><a href="https://dreamparadaisu.com/study_udemy/" rel="bookmark" title="Udemyレビュー｜初心者から実務者まで学べる人気講座まとめ">Udemyレビュー｜初心者から実務者まで学べる人気講座まとめ</a></li>
<li><a href="https://dreamparadaisu.com/study_tech_jim/" rel="bookmark" title="【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説">【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説</a></li>
<li><a href="https://dreamparadaisu.com/digitane_review/" rel="bookmark" title="【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材">【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材</a></li>
<li><a href="https://dreamparadaisu.com/study_dmm/" rel="bookmark" title="DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得">DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得</a></li>
<li><a href="https://dreamparadaisu.com/com_ipconfig/" rel="bookmark" title="【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認">【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認</a></li>
</ol>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2675</post-id>	</item>
		<item>
		<title>【VB.Net】バッチファイルをVBで起動させてみた～やればできる～</title>
		<link>https://dreamparadaisu.com/visualbasic_69/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_69</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Fri, 16 Jul 2021 04:51:09 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[バッチ]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=2666</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、VB.Netから外部ファイルとしてバッチファイルを 起動させる方法を紹介していきます。 &#160; VB.Netでは全てを賄うことはできないことが多々あるため、 どうせな...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_69/">【VB.Net】バッチファイルをVBで起動させてみた～やればできる～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<h3>関連記事</h3><ol>
<li><a href="https://dreamparadaisu.com/study_tech_jim/" rel="bookmark" title="【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説">【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説</a></li>
<li><a href="https://dreamparadaisu.com/digitane_review/" rel="bookmark" title="【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材">【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材</a></li>
<li><a href="https://dreamparadaisu.com/study_dmm/" rel="bookmark" title="DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得">DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得</a></li>
<li><a href="https://dreamparadaisu.com/com_ipconfig/" rel="bookmark" title="【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認">【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認</a></li>
<li><a href="https://dreamparadaisu.com/saving_powershell_series/" rel="bookmark" title="【保存版】PowerShell 入門シリーズ完全まとめ｜基本〜実務コマンド・自動化まで総合ガイド">【保存版】PowerShell 入門シリーズ完全まとめ｜基本〜実務コマンド・自動化まで総合ガイド</a></li>
</ol>
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、VB.Netから外部ファイルとしてバッチファイルを</p>
<p>起動させる方法を紹介していきます。</p>
<p>&nbsp;</p>
<p>VB.Netでは全てを賄うことはできないことが多々あるため、</p>
<p>どうせなら別のプログラミング言語で処理ファイルを作成し、</p>
<p>そいつらに肩代わりさせようと思ったのがきっかけです。</p>
<p>&nbsp;</p>
<p>ちなみに前回の記事はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_68/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/excel_interop_3-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/07/excel_interop_3-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/07/excel_interop_3-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/07/excel_interop_3-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_68/" class="blog-card-title-link">【VB.Net】Excelの拡張子を.xlsから.xlsxに変換してみた</a></div><div class="blog-card-excerpt">Excelの拡張子にはバージョンによっては、.xlsや.xlsxであったりと様々な形式があります。手動で操作をしている分にはエラーもなく問題はありませんが、プログラムに処理をさせる時は、拡張子によってうまくいかない、そんなことがあるかと思います。ここでは拡張子を変換し処理しやすい形に変える方法を紹介していきます。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_68/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_68/" alt="" /></a></div><div class="blog-card-date">2021-07-10 03:48</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3BO5NS+6GSIB6+50+4Z9TYP" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www21.a8.net/svt/bgt?aid=201001384391&amp;wid=001&amp;eno=01&amp;mid=s00000000018030111000&amp;mc=1" alt="" width="728" height="90" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www11.a8.net/0.gif?a8mat=3BO5NS+6GSIB6+50+4Z9TYP" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>バッチファイルの実行方法</h1>
<p>VB.Netから外部ファイルを呼び出すには、</p>
<p><span class="red-under"><strong>System.Diagnostics.ProcessStartInfoクラス</strong></span>を使用します。</p>
<p>&nbsp;</p>
<p>このクラスを使うと、引数やコンソールウィンドウの表示に関する設定も</p>
<p>わかりやすいので便利です。</p>
<p>&nbsp;</p>
<h2>使い方</h2>
<p>使うには、変数を用意しインスタンスを生成します。</p>
<p>&nbsp;</p>
<div class="sp-info">Dim 変数名 As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo()</div>
<p>とします。</p>
<p>&nbsp;</p>
<p>※本来は、System.Diagnosticsの部分は、インポートで宣言するので省略できますが、</p>
<p>わかりやすいように書いています。</p>
<p>&nbsp;</p>
<p>例) 変数名testInfoをProcessStartInfoでインスタンスを生成します。</p>
<p>Dim testInfo As New System.Diagnostics.ProcessStartInfo()</p>
<p>&nbsp;</p>
<h2>作成した変数の設定をカスタマイズ</h2>
<h3>バッチファイルの設定</h3>
<p>起動したいバッチファイルを設定するには</p>
<p>ProcessStartInfo.FileNameを設定します。</p>
<div class="sp-info">ProcessStartInfo(インスタンス化).FileName = &#8220;実行するバッチファイルの絶対パス&#8221;</div>
<p>※<span class="red-under">インスタンス化してある必要があります</span>。</p>
<p>&nbsp;</p>
<p>例)先ほど作成した変数testInfoに起動したいバッチファイルを渡す。</p>
<p>testInfo.FileName = &#8220;C:\test.bat&#8221;</p>
<p>&nbsp;</p>
<p>コンソールウィンドウを開かないようにするには</p>
<p>※プログラム実行中に呼び出したバッチファイルの画面が表示されないようにする設定</p>
<p>&nbsp;</p>
<div class="sp-info">ProcessStartInfo.CreateNoWindow = True</div>
<div class="sp-info">ProcessStartInfo.UseShellExecute = False</div>
<p>&nbsp;</p>
<p>と設定することでコンソールウィンドウを開かずに、</p>
<p>バッチファイルの呼び出し実行が可能になります。</p>
<p>&nbsp;</p>
<p>例) 変数testInfoをコンソールウィンドウが開かないようにする。</p>
<p>testInfo.CreateNoWindow = True</p>
<p>testInfo.UseShellExecute = False</p>
<p>&nbsp;</p>
<h2>バッチファイルを呼び出す</h2>
<p>外部からバッチファイルを呼び出すには、最後に</p>
<div class="sp-info">System.Diagnostics.Process.Start(&#8220;ProcessStartInfoで設定した変数&#8221;)</div>
<div>とすることで呼び出しが行えます。</div>
<div></div>
<div>例) 変数testInfoを呼び出す。</div>
<div>System.Diagnostics.Process.Start(testInfo)</div>
<p>&nbsp;</p>
<h1>実例</h1>
<p>実際に簡単にフォームを作って試してみます。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2670" class="wp-block-image aligncenter"><img decoding="async" width="809" height="484" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>※こんなのを作ってみました。</p>
<p>&nbsp;</p>
<p>ボタンが押されたら、バッチファイルが起動されるといったフォームになります。</p>
<p>&nbsp;</p>
<p>今回、呼び出したいバッチファイルは下記の記事で作成したバッチを使います。</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/windows_command_bat_00/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/05/notepad_title_bat-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/05/notepad_title_bat-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/05/notepad_title_bat-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/05/notepad_title_bat-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/windows_command_bat_00/" class="blog-card-title-link">【Windowsコマンド】はじめてのバッチ～バッチファイルの作り方紹介～</a></div><div class="blog-card-excerpt">Windowsコマンドとは何か？バッチとは何か？簡単なさわりの部分を紹介し、実際にバッチファイルの簡単な作り方を書いています。Windowsコマンドを使えるようになることで今までの作業の自動化や効率化に結び付けることができたらなと思っています。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/windows_command_bat_00/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/windows_command_bat_00/" alt="" /></a></div><div class="blog-card-date">2021-05-17 23:50</div></div></div>
<p>&nbsp;</p>
<p>このバッチは、単に&#8221;Hello World&#8221;と出力するファイルになります。</p>
<p>&nbsp;</p>
<p>ボタンが押されたら実行するコードは下記になります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class frmBat

    ''' &lt;summary&gt;
    ''' ボタンが押されたら
    ''' &lt;/summary&gt;
    ''' &lt;param name="sender"&gt;&lt;/param&gt;
    ''' &lt;param name="e"&gt;&lt;/param&gt;
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim testInfo As ProcessStartInfo = New ProcessStartInfo()
        testInfo.FileName = "C:\test.bat"
        'testInfo.CreateNoWindow = True
        'testInfo.UseShellExecute = False

        System.Diagnostics.Process.Start(testInfo)
    End Sub

End Class</pre><p>
※実行画面を表示したいので、コンソールウィンドウの設定はコメントアウトしています。</p>
<p>&nbsp;</p>
<h2>実行画面</h2>
<figure id="attachment_mmd_2671" class="wp-block-image aligncenter"><img decoding="async" width="793" height="477" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p style="text-align: center">プログラム起動時</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_2672" class="wp-block-image aligncenter"><img decoding="async" width="977" height="507" src="https://dreamparadaisu.com/wp-content/uploads/2021/07/outher_bat_3.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p style="text-align: center">ボタン押下後(test.bat呼び出し時)</p>
<p>&nbsp;</p>
<p>ボタンを押すと、バッチファイルを呼び出せることが確認できます。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>VB.Netから外部ファイルとして、バッチファイルを呼び出す方法を紹介しました。</p>
<p>この方法はバッチファイル以外でも活用できるので、ぜひ使ってみてください。</p>
<p>&nbsp;</p>
<p>最後までお読みいただきありがとうございます。</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>




		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="2666"
					data-ulike-nonce="2f1c6b901d"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_2666"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_69/">【VB.Net】バッチファイルをVBで起動させてみた～やればできる～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-template-list'>
<!-- YARPP List -->
<h3>関連記事</h3><ol>
<li><a href="https://dreamparadaisu.com/study_tech_jim/" rel="bookmark" title="【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説">【レビュー】テックジム教材一括購入プランのメリット・デメリット徹底解説</a></li>
<li><a href="https://dreamparadaisu.com/digitane_review/" rel="bookmark" title="【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材">【調査レビュー】デジタネ（旧D-SCHOOLオンライン）とは？小中学生が自宅で学べるプログラミング教材</a></li>
<li><a href="https://dreamparadaisu.com/study_dmm/" rel="bookmark" title="DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得">DMM WEBCAMP 学習コース徹底解説｜現役エンジニア指導とキャリア支援で未経験からITスキルを習得</a></li>
<li><a href="https://dreamparadaisu.com/com_ipconfig/" rel="bookmark" title="【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認">【Windowsコマンド入門】ipconfigの使い方｜IPアドレス・DNSを一瞬で確認</a></li>
<li><a href="https://dreamparadaisu.com/saving_powershell_series/" rel="bookmark" title="【保存版】PowerShell 入門シリーズ完全まとめ｜基本〜実務コマンド・自動化まで総合ガイド">【保存版】PowerShell 入門シリーズ完全まとめ｜基本〜実務コマンド・自動化まで総合ガイド</a></li>
</ol>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2666</post-id>	</item>
	</channel>
</rss>
