<?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>ダウンロード - プログラミングで遊ブログ</title>
	<atom:link href="https://lemon818.com/tag/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89/feed/" rel="self" type="application/rss+xml" />
	<link>https://lemon818.com</link>
	<description>現役システムエンジニアが趣味でプログラミングする自由気ままなブログ</description>
	<lastBuildDate>Wed, 29 Jul 2020 00:48:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>	<item>
		<title>Excelでゲームをつくろう！ ～将棋～（操作編）【Excel vba】</title>
		<link>https://lemon818.com/excel-syogi/</link>
		
		<dc:creator><![CDATA[Take]]></dc:creator>
		<pubDate>Thu, 31 Jan 2019 15:42:19 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[自作ゲーム]]></category>
		<category><![CDATA[pickup]]></category>
		<category><![CDATA[vba]]></category>
		<category><![CDATA[ゲーム]]></category>
		<category><![CDATA[ダウンロード]]></category>
		<category><![CDATA[将棋]]></category>
		<guid isPermaLink="false">https://lemon818.com/?p=3723</guid>

					<description><![CDATA[エクセルで「2人用将棋」作っちゃいました！！ &#160; &#160; 前回は Excel vba でオセロを作成しましたがそのときは１日でサクサク作れたため、調子にのって将棋をつくろうとしたら一週間もかかってしまいま…]]></description>
										<content:encoded><![CDATA[<p><strong><span style="color: #ff6600;">エクセルで「2人用将棋」作っちゃいました！！</span></strong></p>
<p>&nbsp;</p>
<p><img fetchpriority="high" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2019/02/syogi.gif" alt="" width="643" height="482" class="aligncenter wp-image-4480" /></p>
<p>&nbsp;</p>
<p>前回は <span>Excel vba で</span>オセロを作成しましたがそのときは１日でサクサク作れたため、調子にのって将棋をつくろうとしたら<span style="color: #ff0000;"><strong>一週間もかかってしまいました...</strong></span></p>
<p>&nbsp;</p>
<div class="sc_frame_wrap block blue">
<div class="sc_frame_title">苦労した点</div>
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid blue">
<ol>
<li>仕事で疲れすぎて、開発する気力と体力が持たない...</li>
<li>マウスクリックのイベント検知する方法がよくわからない...</li>
<li>駒の動きをすべて実装させるがものすごく大変...</li>
</ol>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<p>苦労した点はものすごくありますが、<strong>とにかく働きながらつくるのが大変でしたね</strong>。</p>
<p>帰るのが 9時、10時でそっから作るってこと本当に大変....</p>
<p>&nbsp;</p>
<p>まあそんな話どうでもいいので、「マウスクリックのイベント検知する方法」については<strong>知らないとどうしようもない</strong>ので、やり方について別記事にまとめようと思います。</p>
<p>※ クリック検知を行う方法については下記になります。ぜひ参考にしてください。</p>
<div class="sc_getpost"><a class="clearfix" href="https://lemon818.com/excel-clickevent/" ><div class="sc_getpost_thumb post-box-thumbnail__wrap"><img decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2018/10/5470d3ad4154f55e94757a88cf55ed08-150x150.png" width="150" height="150" alt="【Excel vba】マウスの左クリックのイベントを検知する簡単な方法"></div><div class="title">【Excel vba】マウスの左クリックのイベントを検知する簡単な方法</div><div class="date">2019.2.4</div><div class="substr">はじめに Excelで将棋のゲームをつくろうとしたときでした。 そういやどうやってマウスクリックを検知すればいいんやろう？ 私は仕事やブログでExcelを取り扱うことが多いですが、セルをクリックしたときにクリックしたことを検知しそこから処理を開始することがわかりませんでした。 いろいろ調べましたが、...</div></a></div>
<p>&nbsp;</p>
<p>今回はこのページでは作成した Excel 将棋ファイルについて、その操作方法についてご紹介します。</p>
<p>将棋の作成方法については、別記事でご紹介します（作成中といいつつあまり進んでないのでがんばります。。）</p>
<p>※ Excel 将棋ファイルについて下記からダウンロード可能です。</p>
<p>&nbsp;</p>
<div class="button frame block orange"><a href="https://lemon818.com/wp/wp-content/uploads/2019/02/excel-syogi_ver1.0.xlsm" class="midium">Excel 将棋ファイルをダウンロードする</a></div>
<p>&nbsp;</p>
<h2>操作方法</h2>
<p>ここでは、ダウンロードしたエクセルについて説明します。</p>
<div class="sc_frame_wrap blue">
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid blue">
<div class="sc_designlist ol square solid blue">
<ol>
<li>ゲーム開始と終了</li>
<li>駒の操作方法</li>
<li>勝敗について</li>
<li>先手後手について</li>
<li>王手について</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<h3>ゲームの開始と終了</h3>
<p>将棋を始める際は「ゲーム開始」ボタンを押下し、ゲームを終了する場合は「ゲーム終了」を押下します。</p>
<p>&nbsp;</p>
<p>また、「ゲーム開始」ボタンを押下するとセル番号 Q2の位置の表示が「ゲーム中」、「ゲーム開始」ボタンを押下すると「開始待ち」となります。</p>
<p>&nbsp;</p>
<p>つまり、この表示が「ゲーム中」の場合はゲームがプレイでき、「開始待ち」の場合はゲームがプレイできません。</p>
<p><img decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-2.png" alt="" width="507" height="291" class="aligncenter wp-image-3735" srcset="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-2.png 665w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-2-300x172.png 300w" sizes="(max-width: 507px) 100vw, 507px" /></p>
<p>&nbsp;</p>
<h3>駒の操作方法</h3>
<p>基本は<strong>マウス操作</strong>になります。</p>
<p>動かしたい駒をクリックすると選択セルが黄色に変化なり、移動できる駒の箇所が薄い黄色になります。</p>
<p>&nbsp;</p>
<p>そして移動できる駒の箇所にクリックすることで駒が移動できます。</p>
<p>また持ち駒の処理についても同様に持ち駒から置きたい駒が黄色になり、置ける箇所が薄い黄色になります。</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-4.png" alt="" width="986" height="365" class="aligncenter wp-image-3736" srcset="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-4.png 1241w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-4-300x111.png 300w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-4-768x284.png 768w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-4-1024x379.png 1024w" sizes="auto, (max-width: 986px) 100vw, 986px" /></p>
<p>&nbsp;</p>
<p>また今回「二歩」の処理を行っております。「二歩」とは同じ列も自分の「歩」の駒を２つ以上は置けないという将棋のルールですが、</p>
<p>元々自分の「歩」の駒がある列に持ち駒から「歩」を置こうとしても置けないようにしています。</p>
<p>具体的には、作成した Excel ファイルでは駒を置ける箇所が薄い黄色をしていますが、そこで「二歩」になるセルに色をつけないように設定しています。</p>
<p>&nbsp;</p>
<h3>勝敗について</h3>
<p>将棋の勝敗はルール上は「王」がとられた時点で終了ですが、</p>
<p>実際に将棋での勝敗が付くケースは、</p>
<p>相手が投了するか「王」が詰む（「王」がどこに動いても次に相手の駒にとられてしまう）状態で</p>
<p>勝敗が付く場合しかないです。</p>
<p>&nbsp;</p>
<p>私もかなり昔に将棋をやっていてアマチュア初段をとったことがありますが、「王」がとられて「負けました～」って言っている人は見たことがありません。</p>
<p>なので、本当は「王」が詰む状態で勝敗をつけたいところですが、今回は<strong>「王」をとった場合に勝敗が決まる</strong>ようにしています。</p>
<p>&nbsp;</p>
<h3>先手後手について</h3>
<p>先手後手についてですが、文字が反転していないほうが先手で反転しているほうが後手です。</p>
<p>後手から始めたいということは、このExcel ファイルでは今のところできません（機能追加予定。。）</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-3.png" alt="" width="666" height="517" class="aligncenter wp-image-3733" srcset="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-3.png 811w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-3-300x233.png 300w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-3-768x597.png 768w" sizes="auto, (max-width: 666px) 100vw, 666px" /></p>
<h3>王手について</h3>
<p>自分もしくは相手の「王」の駒が次で相手にとれますよ～という状態が王手ですが、</p>
<p>もし王手の状態になるとメッセージが表示されるようになっています。</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-5.png" alt="" width="815" height="473" class="aligncenter wp-image-3737" srcset="https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-5.png 1097w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-5-300x174.png 300w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-5-768x446.png 768w, https://lemon818.com/wp/wp-content/uploads/2019/01/excel-syogi-5-1024x595.png 1024w" sizes="auto, (max-width: 815px) 100vw, 815px" /></p>
<p>本来は王手なら「王」を動かさないといけないのですが、</p>
<p>今回の Excel ファイルでは<span style="color: #ff0000;"><strong>「王手」の状態でも「王」以外の駒も動けます。</strong></span></p>
<p>&nbsp;</p>
<p>なので、、まあメッセージだけなんですが、「王手」のときは「王」を動かすようにしてください。。</p>
<p>あと、「打ち歩詰め」という「王」が詰む（つまり「王」が動かない、どうやっても次に相手の駒にとられてしまう）場合に「歩」を打って詰ませると反則になるというルールがありますが、</p>
<p>それができていません（将棋の経験があるにもかかわらず完全に忘れていました。）ので</p>
<p>これについては、機能追加する予定です。</p>
<p>&nbsp;</p>
<h2>最後に</h2>
<p>いかがでしたでしょうか？</p>
<p>&nbsp;</p>
<p>ぜひ、Excel で将棋をやってみて将棋のおもしろさというか Excel ってなんでもできるなあと実感していただければと思います。</p>
<p>また似たようなやつで 「Excel でオセロをつくってみた」もありますので、そちらも<span style="color: #ff0000;"><strong>暇なら</strong></span>ぜひご参照ください。</p>
<div class="sc_getpost"><a class="clearfix" href="https://lemon818.com/vba_osero/" ><div class="sc_getpost_thumb post-box-thumbnail__wrap"><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2018/11/osero-150x150.png" width="150" height="150" alt="Excelでゲームをつくろう！ ～オセロ～（操作編）【Excel vba】"></div><div class="title">Excelでゲームをつくろう！ ～オセロ～（操作編）【Excel vba】</div><div class="date">2018.11.21</div><div class="substr">「Excel vba をつかってゲームを作ってみよう！」の第一弾「2人用オセロ」です。 「Excel でいろいろなゲームをつくってみたい」という思いで、仕事終わりにがんばって作成しました。 みなさまに...</div></a></div>
<p><span></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>エクセルでおみくじをしよう！【Excel Vba】</title>
		<link>https://lemon818.com/excel-omikuzi/</link>
		
		<dc:creator><![CDATA[Take]]></dc:creator>
		<pubDate>Fri, 28 Dec 2018 13:01:35 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[自作ゲーム]]></category>
		<category><![CDATA[vba]]></category>
		<category><![CDATA[おみくじ]]></category>
		<category><![CDATA[ダウンロード]]></category>
		<guid isPermaLink="false">https://lemon818.com/?p=3356</guid>

					<description><![CDATA[はじめに さてもうそろそろ新年を迎えますが、「正月に家を出たくない」「くじだけは引きたい」という悩みはありませんか？（おそらくないかもしれませんが。。） 今回はExcel Vba をつかって Excel さえあれば簡単に…]]></description>
										<content:encoded><![CDATA[<h2>はじめに</h2>
<p>さてもうそろそろ新年を迎えますが、「正月に家を出たくない」「くじだけは引きたい」という悩みはありませんか？（おそらくないかもしれませんが。。）</p>
<p>今回はExcel Vba をつかって Excel さえあれば簡単につくれるおみくじについて紹介します！</p>
<p>実際に作ってみた Excel マクロファイルは下記になります。</p>
<div class="voice clearfix left n_bottom">
<div class="button frame block green"><a href="https://lemon818.com/wp/wp-content/uploads/2019/01/omikuzi.xlsm" class="midium">Excel おみくじをダウンロードする！</a></div>
</div>
<h2>Excel おみくじの使い方</h2>
<p>ダウンロードするとわかると思いますが、「くじを引く」ボタンをクリックすると下の黒枠（B12:B18）に結果が表示されます。</p>
<p>注意点ですが<strong>シート名（おみくじ）を変更しないでください。</strong>変更すると正常に動作しなくなります。</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2018/12/0c685b5d2a0e4878a2725f8da76b3efc.png" alt="" width="846" height="400" class="aligncenter wp-image-3364" srcset="https://lemon818.com/wp/wp-content/uploads/2018/12/0c685b5d2a0e4878a2725f8da76b3efc.png 937w, https://lemon818.com/wp/wp-content/uploads/2018/12/0c685b5d2a0e4878a2725f8da76b3efc-300x142.png 300w, https://lemon818.com/wp/wp-content/uploads/2018/12/0c685b5d2a0e4878a2725f8da76b3efc-768x363.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></p>
<h2>Excel おみくじの作り方</h2>
<p>シート構成と VBA のソースコード（プログラミングの中身）について順にご紹介します。</p>
<h3>シート構成</h3>
<p>実はこのExcelファイルは２つのシートから構成されています。</p>
<div class="sc_designlist ol square solid blue">
<ol>
<li>「おみくじ」シート</li>
<li>「くじマスタ」シート（非表示）</li>
</ol>
</div>
<p>「くじマスタ」シートは非表示にしてありますので、確認したい場合はシート名のところを「右クリック」→「再表示」→ 「くじマスタ」を選択し「OK」を押してください。</p>
<h5>「おみくじ」シート</h5>
<p>おみくじを引くメインのシートです。注意点は結果が表示される<strong>セルの位置（B13:B18）は動かさないようにしてください</strong>（タイトルは別に変更してもOKです）。</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2018/12/f992e3bc9b69a27d16e37030650ff532.png" alt="" width="780" height="480" class="aligncenter wp-image-3363" srcset="https://lemon818.com/wp/wp-content/uploads/2018/12/f992e3bc9b69a27d16e37030650ff532.png 926w, https://lemon818.com/wp/wp-content/uploads/2018/12/f992e3bc9b69a27d16e37030650ff532-300x185.png 300w, https://lemon818.com/wp/wp-content/uploads/2018/12/f992e3bc9b69a27d16e37030650ff532-768x473.png 768w" sizes="auto, (max-width: 780px) 100vw, 780px" /></p>
<h5>「くじマスタ」シート</h5>
<p>くじの結果を登録しているシートです。</p>
<div class="sc_designlist ol square solid blue">
<ol>
<li>A列 : 番号 ← おみくじの番号です。わかりやすくつけているだけで動作上は不要ですが<strong>消さないようにしてください。</strong></li>
<li>B列 : おみくじ ← おみくじの結果です。下に新しく値を付け足しても問題なく動きますが、<strong>こちらも消さないでください。</strong></li>
</ol>
</div>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2018/12/862deca05cc936ed6377f2a68f5d3706.png" alt="" width="348" height="351" class="aligncenter size-full wp-image-3368" srcset="https://lemon818.com/wp/wp-content/uploads/2018/12/862deca05cc936ed6377f2a68f5d3706.png 348w, https://lemon818.com/wp/wp-content/uploads/2018/12/862deca05cc936ed6377f2a68f5d3706-150x150.png 150w, https://lemon818.com/wp/wp-content/uploads/2018/12/862deca05cc936ed6377f2a68f5d3706-297x300.png 297w" sizes="auto, (max-width: 348px) 100vw, 348px" /></p>
<h3>動作概要</h3>
<p>動作概要ですが、下記のようになります。</p>
<div class="sc_designlist ol square solid blue">
<ol>
<li> 0 ~ 5 のランダム値 result を取得する</li>
<li>「くじマスタ」シートのB列2行目以降の値を動的配列 omikuzi に格納する</li>
<li>配列 omikuzi(result)の値を取得し、「おみくじ」シートに値を出力する</li>
</ol>
<p>順に説明します。</p>
<p>（１） 0 ~ 5 のランダム値として「3」を取得した場合、 変数 result に 「3」 を代入します。</p>
<p>（２）「くじマスタ」シートのB列2行目以降の値（大吉、吉、中吉、小吉、凶、大凶）を配列 omikuzi に格納します。つまり、配列 omikuzi の中身は以下のようになっています。</p>
<div class="sc_designlist li fa_angle_o blue">
<ul>
<li>omikuzi(0) = 大吉</li>
<li>omikuzi(1) = 吉</li>
<li>omikuzi(2) = 中吉</li>
<li>omikuzi(3) = 小吉</li>
<li>omikuzi(4) = 凶</li>
<li>omikuzi(5) = 大凶</li>
</ul>
</div>
<p>（３）result を 配列 omikuzi のインデックスにし、その値を「おみくじ」シートに値を出力します。たとえば result = 3 の場合、result をインデックスとするため omikuzi(3) = 小吉となります。</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2018/12/bb56c1c2af122824c2bcfa63be0eed4d.png" alt="" width="613" height="300" class="aligncenter wp-image-3373" srcset="https://lemon818.com/wp/wp-content/uploads/2018/12/bb56c1c2af122824c2bcfa63be0eed4d.png 662w, https://lemon818.com/wp/wp-content/uploads/2018/12/bb56c1c2af122824c2bcfa63be0eed4d-300x147.png 300w" sizes="auto, (max-width: 613px) 100vw, 613px" /></p>
</div>
<h5>ソースコード</h5>
<pre class="crayon-plain-tag">Const MASTERSHEET As String = "くじマスタ"
Const OUTPUTSHEET As String = "おみくじ"
Const OUTPUTCELL As String = "B12"

Sub おみくじ()
 
    Dim result As Integer: result = Int(Rnd * 6)
    Dim omikuzi() As String: ReDim omikuzi(0)
     
    For i = 2 To getMaxRow(MASTERSHEET, "A")
        omikuzi(UBound(omikuzi)) = Worksheets(MASTERSHEET).Cells(i, 2).Value
        ReDim Preserve omikuzi(UBound(omikuzi) + 1)
    Next i
    ReDim Preserve omikuzi(UBound(omikuzi) - 1)
    
    
    Worksheets(OUTPUTSHEET).Range(OUTPUTCELL).Value = omikuzi(result)
    
End Sub

Function getMaxRow(sheetName As String, row As String)

    getMaxRow = Worksheets(sheetName).Range(row &amp; "65536").End(xlUp).row

End Function</pre>
<div class="voice clearfix left n_bottom">
<h2>最後に</h2>
<p>いかがでしょうか？</p>
<p>&nbsp;</p>
<p>これで<span class="sc_marker" style="background: linear-gradient(transparent 50%, #ffff66 50%);">いつでもどこでも年中くじが無料で引き放題</span>ですね！！ぜひ新年の変わり目にいっぱつ運試しに引いてみてはいかがでしょうか？</p>
<p>&nbsp;</p>
<div class="voice clearfix left n_bottom">
<div class="button frame block green"><a href="https://lemon818.com/wp/wp-content/uploads/2019/01/omikuzi.xlsm" class="midium">Excel おみくじをダウンロードする！</a></div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
