<?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>プログラミング アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/category/programming/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Fri, 15 Nov 2024 08:56:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>プログラミング アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/category/programming/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【PowerShell】PDFを1ページずつ分ける方法【簡単】</title>
		<link>https://nyanblog2222.com/windows/5271/</link>
					<comments>https://nyanblog2222.com/windows/5271/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 27 Aug 2023 12:54:31 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Web全般]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[iTextSharp]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[分割]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=5271</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4.png 800w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4-768x401.png 768w" sizes="(max-width: 800px) 100vw, 800px" />PDFを好きに分割したいなぁ…。と考えることがあり今回はPowerShellとiTextSharpを使用して作ってみました。 ちなみにオンラインツールでAdobeやilovePDFでPDFカットというのがあるようですね！ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/5271/">【PowerShell】PDFを1ページずつ分ける方法【簡単】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4.png 800w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_4-768x401.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />
<p>PDFを好きに分割したいなぁ…。と考えることがあり<br>今回はPowerShellとiTextSharpを使用して作ってみました。</p>



<p>ちなみにオンラインツールで<a href="https://www.adobe.com/jp/acrobat/online/split-pdf.html" class="broken_link">Adobe</a>や<a href="https://www.ilovepdf.com/ja/split_pdf">ilovePDFでPDFカット</a>というのがあるようですね！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">コードを紹介する前に</a></li><li><a href="#toc2" tabindex="0">フォルダ構成</a></li><li><a href="#toc3" tabindex="0">iTextSharpの準備</a></li><li><a href="#toc4" tabindex="0">コード</a></li><li><a href="#toc5" tabindex="0">実行</a><ol><li><a href="#toc6" tabindex="0">実行コマンド</a></li><li><a href="#toc7" tabindex="0">フォルダ</a></li></ol></li><li><a href="#toc8" tabindex="0">補足</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">コードを紹介する前に</span></h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>itextsharpはライセンスが複雑になってきたそうで、取り扱いに注意する必要があるみたいです。<br>pdfsharpというのもあるみたいですね！</p>
</div></div>



<p><a href="https://qiita.com/toshi71/items/bc05d6e15edd645c8f46">iTextSharpのライセンスについてはこちらを参考にしました。</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>今回は作ってみただけなのでこのままコードを紹介します！</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">フォルダ構成</span></h2>



<p>フォルダ構成はこちらです。</p>



<p><span class="marker-under">注意点：事前にnewフォルダに同じPDFファイルがある場合は上書きされます。</span></p>



<pre class="wp-block-code python"><code>■どこかのフォルダ
┣■new　… 無くても処理中に生成されます
┣・itextsharp.dll
┣・pdf_split.ps1
┗・分割したいPDFファイル</code></pre>



<h2 class="wp-block-heading"><span id="toc3">iTextSharpの準備</span></h2>



<p>こちらのページからバージョンを選択します。<br>ページ下部の<span class="bold-red">「+ Show more」をクリック</span>するとさらにバージョンが出てきます。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-detail">

<a rel="noopener" href="https://www.nuget.org/stats/packages/iTextSharp?groupby=Version" title="
        NuGet Gallery
        | Package Downloads for iTextSharp
    " class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.nuget.org%2Fstats%2Fpackages%2FiTextSharp%3Fgroupby%3DVersion?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">
        NuGet Gallery
        | Package Downloads for iTextSharp
    </div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.nuget.org/stats/packages/iTextSharp?groupby=Version" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.nuget.org</div></div></div></div></a>
</div>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="972" height="446" src="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_3.png" alt="" class="wp-image-5287" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_3.png 972w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_3-300x138.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_3-768x352.png 768w" sizes="auto, (max-width: 972px) 100vw, 972px" /></figure>



<p><span class="bold-red">「Download package」</span>からインストールしてください。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1013" height="607" src="https://nyanblog2222.com/wp-content/uploads/2023/08/image.png" alt="" class="wp-image-5283" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/image.png 1013w, https://nyanblog2222.com/wp-content/uploads/2023/08/image-300x180.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/image-768x460.png 768w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></figure>



<p>ファイルが<span class="bold-red">「itextsharp.???.nupkg」</span>でダウンロードされますが、<span class="marker-under">zipファイルなので解凍してください</span>。</p>



<p>出来ない場合はitextsharp.???<span class="bold-red">.nupkg</span>をitextsharp.???<span class="bold-red">.zip</span>に名前を変更すると右クリックでも解凍できると思います。<br>※ ???はバージョンです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="814" height="254" src="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_2.png" alt="" class="wp-image-5286" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_2.png 814w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_2-300x94.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/20230827_2-768x240.png 768w" sizes="auto, (max-width: 814px) 100vw, 814px" /></figure>



<p>「itextsharp.???\lib\<span class="bold-red">itextsharp.dll</span>」ファイルを使用するので、<br>powershellのファイルが置いてある場所にコピーしてください。</p>



<pre class="wp-block-code python"><code>■どこかのフォルダ
┣■new　… 無くても処理中に生成されます
┣・<span class="bold-red">itextsharp.dll</span>
┣・pdf_split.ps1
┗・分割したいPDFファイル</code></pre>



<p>■：フォルダ<br>・：ファイル</p>



<h2 class="wp-block-heading"><span id="toc4">コード</span></h2>



<p>以下がpdf_split.ps1のコードになります。<br>解説はコメントに記載しました。</p>



<p>※ <span class="bold-red">$args</span>というのは引数が入った配列で$args[0]は第1引数になります。<br>この後実行する際に出てきます。</p>



<pre class="wp-block-code python"><code># 現在のディレクトリを取得
$currentDir = Get-Location
Set-Location $currentDir

# itextsharp.dllのロード
# 絶対パスを記載してください。
&#91;System.Reflection.Assembly]::LoadFrom("C:\？？？\itextsharp.dll");

# 分割PDFの生成先フォルダパス
if(-! (Test-Path "./new")) {
    New-Item new -ItemType Directory
}
$destFolderPath = Join-Path $currentDir "new"

# inputのPDFパスを設定し、readerを生成
$srcPath = $args&#91;0]
$pdfReader = New-Object iTextSharp.text.pdf.PdfReader($srcPath)

# ファイル名（拡張子なし）
$fileName = &#91;System.IO.Path]::GetFileNameWithoutExtension($srcPath)

# ページ数取得し、ページ単位でfor文を回す
$pages = $pdfReader.NumberOfPages
for($page = 1; $page -le $pages; $page++) {

    # 出力する分割PDFのファイルパスを設定
    $destPath = Join-Path $destFolderPath ($fileName + "_" + $page + ".pdf")

    # ファイル生成に必要なオブジェクトを生成
    $fileStream = New-Object System.IO.FileStream($destPath, &#91;System.IO.FileMode]::Create)
    $document = New-Object iTextSharp.text.Document($pdfReader.GetPageSize($page))
    $pdfWriter = &#91;iTextSharp.text.pdf.PdfWriter]::GetInstance($document, $fileStream)

    # PDFファイルをオープンし、新規ページを作成
    $document.Open()
    $document.NewPage() | Out-Null

    # ページを読み込み、先ほど作成した新規ページに読み込んだページを書き込みます。
    $readPage = $pdfWriter.GetImportedPage($pdfReader, $page)
    $pdfWriter.DirectContent.AddTemplate($readPage, 0, 0)

    # reader以外のオブジェクトをクローズ
    $document.Close()
    $fileStream.Close()
    $pdfWriter.Close()
}
# 全てのページの処理が完了後readerをクローズ
$pdfReader.Close()
</code></pre>



<h2 class="wp-block-heading"><span id="toc5">実行</span></h2>



<p>Windows Powershellを起動します。</p>



<h3 class="wp-block-heading"><span id="toc6">実行コマンド</span></h3>



<p>cdコマンドでカレントディレクトリを変更</p>



<pre class="wp-block-code python"><code>cd ps1ファイルがあるディレクトリ</code></pre>



<p>pdfファイルの絶対パスを引数にpdf_split.ps1を実行</p>



<pre class="wp-block-code python"><code>./pdf_split.ps1 "pdfファイルの絶対パス"</code></pre>



<p>これでnewフォルダに分割pdfができあがります！</p>



<h3 class="wp-block-heading"><span id="toc7">フォルダ</span></h3>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="853" height="285" src="https://nyanblog2222.com/wp-content/uploads/2023/08/4.png" alt="" class="wp-image-5305" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/4.png 853w, https://nyanblog2222.com/wp-content/uploads/2023/08/4-300x100.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/4-768x257.png 768w" sizes="auto, (max-width: 853px) 100vw, 853px" /><figcaption class="wp-element-caption">実行後</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="853" height="257" src="https://nyanblog2222.com/wp-content/uploads/2023/08/3.png" alt="" class="wp-image-5304" srcset="https://nyanblog2222.com/wp-content/uploads/2023/08/3.png 853w, https://nyanblog2222.com/wp-content/uploads/2023/08/3-300x90.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/08/3-768x231.png 768w" sizes="auto, (max-width: 853px) 100vw, 853px" /><figcaption class="wp-element-caption">newフォルダの中身</figcaption></figure>



<p></p>



<h2 class="wp-block-heading"><span id="toc8">補足</span></h2>



<p>.Netがないと動かないかもしれませんので、その場合はインストールをお願いします。</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/5271/">【PowerShell】PDFを1ページずつ分ける方法【簡単】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/5271/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【簡単】DockerでPHPとMySQLの環境構築【コンテナ仮想化】</title>
		<link>https://nyanblog2222.com/programming/cmd/5184/</link>
					<comments>https://nyanblog2222.com/programming/cmd/5184/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 26 Mar 2023 09:28:33 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[環境構築]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=5184</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2.png 1280w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />目次 DockerとはDockerをインストールファイル構成ファイル作成docker-compose.yml ファイルコンテナ[php]：Dockerfile コンテナ[mysql]：Dockerfile index.p [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/5184/">【簡単】DockerでPHPとMySQLの環境構築【コンテナ仮想化】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2.png 1280w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_2-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Dockerとは</a></li><li><a href="#toc2" tabindex="0">Dockerをインストール</a></li><li><a href="#toc3" tabindex="0">ファイル構成</a></li><li><a href="#toc4" tabindex="0">ファイル作成</a><ol><li><a href="#toc5" tabindex="0">docker-compose.yml ファイル</a></li><li><a href="#toc6" tabindex="0">コンテナ[php]：Dockerfile </a></li><li><a href="#toc7" tabindex="0">コンテナ[mysql]：Dockerfile </a></li><li><a href="#toc8" tabindex="0">index.php ファイル</a></li></ol></li><li><a href="#toc9" tabindex="0">動作確認</a><ol><li><a href="#toc10" tabindex="0">localhostに接続</a></li><li><a href="#toc11" tabindex="0">コンテナ内に入ってphp実行確認</a></li><li><a href="#toc12" tabindex="0">MySQL接続、SQL実行</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Dockerとは</span></h2>



<p>Dockerは<span class="bold-red">コンテナ仮想化</span>を使ったアプリケーションを開発・配置・実行するためのオープンプラットフォームです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box">
<p>簡単に利点をいうと、<br>・環境構築ファイルを共有することで<span class="marker-under">簡単に同じ環境を提供可能</span><br>・<span class="marker-under">環境の流用や変更が簡単</span><br>・<span class="marker-under">軽量で高速</span>に起動、停止が可能</p>
</div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>詳しいことが知りたい方は色々調べてみてください♪<br>（気が向けば別記事で書きます）</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">Dockerをインストール</span></h2>



<p>Dockerをインストールします。<br>以下のリンクからダウンロードしてインストールを行ってください。</p>



<p><a rel="noopener" href="https://www.docker.com/get-started/" target="_blank">Dockerのダウンロードはこちらから</a></p>



<p>コマンドプロンプトやVSCodeのターミナルなどで<br><span class="marker-under">バージョン確認のコマンドを実行</span>し、インストールされていることを確認できます。</p>



<p>■コマンド &#8211; バージョン確認<br><code>docker -v</code></p>



<p>■コマンド結果<br>このようにバージョンが出てきたらOKです。</p>



<pre class="wp-block-code plaintext"><code>&gt; docker -v 
Docker version 20.10.13, build a224086</code></pre>



<h2 class="wp-block-heading"><span id="toc3">ファイル構成</span></h2>



<p>今回は以下のファイル構成で環境構築しています。<br>慣れたら自分の好きなファイル構成にしていただいて構いません。</p>



<p>□：ディレクトリ名<br>・：ファイル名</p>



<pre class="wp-block-code plaintext"><code>□app
├□docker
││
│├□mysql
││├□data
││└・Dockerfile
││
│└□php
│  └・Dockerfile
│
├□html
│└・index.php
│
└・docker-compose.yml</code></pre>



<p>※1 mysql\dataディレクトリの中身は空で作成してください。</p>



<h2 class="wp-block-heading"><span id="toc4">ファイル作成</span></h2>



<p>各ファイルの内容を載せています。</p>



<h3 class="wp-block-heading"><span id="toc5">docker-compose.yml ファイル</span></h3>



<pre class="wp-block-code plaintext"><code>version: '3'
services:
  php:
    build:
      context: ./docker/php
      dockerfile: Dockerfile
    volumes:
      - ./src:/var/www/html
    ports:
      - 8080:80
    depends_on:
      - db

  db:
    build:
      context: ./docker/mysql
      dockerfile: Dockerfile
    volumes:
      - ./docker/mysql/data:/var/lib/mysql
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=pass
      - MYSQL_DATABASE=app
      - MYSQL_USER=user
      - MYSQL_PASSWORD=root
</code></pre>



<p>ぱっと見分かる箇所は説明抜いてます。</p>



<p>volumes:<br>　右側：ローカル上のディレクトリパス（docker-compose.ymlからの相対パス）<br>　左側：永続化したいサーバーフォルダ</p>



<p>build:<br>　context：build実行パス<br>　dockerfile：Dockerファイル名</p>



<p>depends_on:<br>　db：dbコンテナを先に起動</p>



<h3 class="wp-block-heading"><span id="toc6">コンテナ[php]：Dockerfile </span></h3>



<pre class="wp-block-code plaintext"><code>FROM php:8.0-apache

RUN apt-get update &amp;&amp; apt-get install -y libonig-dev &amp;&amp; \
    docker-php-ext-install pdo_mysql mysqli
</code></pre>



<h3 class="wp-block-heading"><span id="toc7">コンテナ[mysql]：Dockerfile </span></h3>



<pre class="wp-block-code plaintext"><code>FROM mysql:8.0.20</code></pre>



<h3 class="wp-block-heading"><span id="toc8">index.php ファイル</span></h3>



<pre class="wp-block-code php"><code>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;環境構築&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;p&gt;&lt;?php print ("Hello World!");?&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>



<p>localhostに接続して表示する内容を記載しています。</p>



<h2 class="wp-block-heading"><span id="toc9">動作確認</span></h2>



<h3 class="wp-block-heading"><span id="toc10">localhostに接続</span></h3>



<p>■コマンド &#8211; コンテナ起動<br>（-d）はバックグラウンドで実行</p>



<p><code>docker compose up -d</code></p>



<p>■ローカル環境にアクセス<br><code>http://localhost:8080</code></p>



<p><span class="marker-under">「Hello World!」</span>と画面に表示</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="232" height="137" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230325.png" alt="" class="wp-image-5248"/><figcaption class="wp-element-caption"><code>http://localhost:8080</code>に接続</figcaption></figure>



<p>■コンテナ名を変更したとき<br>変更前のコンテナが残っているので、一度削除しておく<br>※ 削除せずにコンテナ起動すると警告が出る</p>



<p><code>docker compose down --remove-orphans</code></p>



<h3 class="wp-block-heading"><span id="toc11">コンテナ内に入ってphp実行確認</span></h3>



<p>phpコンテナに入ってphpファイルを実行確認する場合</p>



<p>■phpコンテナに入る<br><code>docker compose exec php bash</code></p>



<p>■phpファイル実行<br><code>php index.php</code></p>



<p>ファイルを実行します。<br>[index.php]ファイルの中身を<br>[echo Hello World!]だけにした方が分かりやすいかもしれません。</p>



<p>■bash終了<br><code>exit</code></p>



<h3 class="wp-block-heading"><span id="toc12">MySQL接続、SQL実行</span></h3>



<p>■MySQLコンテナでMySQL接続<br><code>docker compose exec db mysql -u root -ppass</code></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p><span class="marker-under">db[コンテナ名]<br>pass[MYSQL_ROOT_PASSWORD]</span><br>は[docker-compose.yml]で設定した値です。</p>
</div></div>



<pre class="wp-block-code php"><code>&gt; docker compose exec db mysql -u root -ppass
Welcome to the MySQL monitor.  Commands end with ; or \g.
・・・
mysql&gt;</code></pre>



<p>上記のように<br><code>mysql&gt;</code>とSQLが入力できる状態であればOKです。</p>



<p><code>SHOW DATABASES;</code><br>などSQL文を実行して試してみてください。</p>



<p>これで環境構築は完了です。</p>



<p>これから色々試してみる予定なので、<br>phpのiniファイルを追加したりcnfファイルを追加した<br>よかったら参考にしてみてください。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>いやぁ…。色々はまりました。<br>はまった点を記載すべきなのですが、開発環境も異なるため解決方法も異なる可能性が高く一つ一つネットで調べるのが速いと思います。</p>
</div></div>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/5184/">【簡単】DockerでPHPとMySQLの環境構築【コンテナ仮想化】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/5184/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Visual Studio Codeのインストールや日本語化設定</title>
		<link>https://nyanblog2222.com/programming/javascript/5187/</link>
					<comments>https://nyanblog2222.com/programming/javascript/5187/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 25 Mar 2023 15:12:41 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[VSCode]]></category>
		<category><![CDATA[環境構築]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=5187</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1.png 1280w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />本記事ではVisual Studio Codeの環境構築を行います。 目次 Visual Studio Code（VSCode）とはVisual Studio CodeのインストールVisual Studio Codeに [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/5187/">Visual Studio Codeのインストールや日本語化設定</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1.png 1280w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>本記事ではVisual Studio Codeの環境構築を行います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Visual Studio Code（VSCode）とは</a></li><li><a href="#toc2" tabindex="0">Visual Studio Codeのインストール</a></li><li><a href="#toc3" tabindex="0">Visual Studio Codeに拡張機能をインストール</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Visual Studio Code（VSCode）とは</span></h2>



<p><span class="marker-under">Visual Studio Code</span>はMicrosoftが開発している<br>Windows、Linux、macOS、webで<span class="bold-red">無料で提供</span>されているソースコードエディタです。</p>



<p>調べるときに良く<span class="marker-under">VSCode</span>とも出てきます。</p>



<p><span class="bold-red">最大の特徴</span>は<span class="marker-under">拡張機能が豊富</span>にあり、<br>・英語・中国語・<span class="marker-under">日本語表示</span><br>・各開発言語の開発効率を向上させる機能（ソースコード入力補助等）<br>様々あるため、現在最も多く利用されているエディタといわれています。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>なにより<span class="marker-under">多くの機能が無料で使える</span>！<br>これに尽きます。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">Visual Studio Codeのインストール</span></h2>



<p>さっそくVisual Studio Codeをインストールしていきます。<br>まずは<a rel="noopener" href="https://code.visualstudio.com/" target="_blank">Visual Studio Codeのページ</a>から<span class="bold-red">赤枠</span>をクリックし、ファイルをダウンロードします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="596" height="374" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code-Code-Editing-Redefined-Google-Chrome_2020-5-12_22-39-14_No-00.png" alt="VSCode　ダウンロード" class="wp-image-459" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code-Code-Editing-Redefined-Google-Chrome_2020-5-12_22-39-14_No-00.png 596w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code-Code-Editing-Redefined-Google-Chrome_2020-5-12_22-39-14_No-00-300x188.png 300w" sizes="auto, (max-width: 596px) 100vw, 596px" /></figure>



<p><span class="bold-red">ダウンロードしたファイル「VSCodeUserSetup-x64-[ver名].exe」</span>をダブルクリックし<br>インストールを開始します。</p>



<p>セットアップ画面が開いたら<br><span class="bold-red">「同意する」</span>にチェックをつけて、<span class="bold-red">「次へ」</span>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/dab39e13a9447a6af6677a51575cfbac-4.png" alt="VSCode セットアップ" class="wp-image-464" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/dab39e13a9447a6af6677a51575cfbac-4.png 539w, https://nyanblog2222.com/wp-content/uploads/2020/05/dab39e13a9447a6af6677a51575cfbac-4-300x238.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>



<p>インストール先を指定します。<br>特に変更する必要がなければそのまま<span class="bold-red">「次へ」</span>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/722d363e728379067c00b01a068530a0.png" alt="VSCode セットアップ" class="wp-image-465" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/722d363e728379067c00b01a068530a0.png 539w, https://nyanblog2222.com/wp-content/uploads/2020/05/722d363e728379067c00b01a068530a0-300x238.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>



<p>スタートメニューにショートカットを作成します。<br>特にこだわりがなければ、このまま<span class="bold-red">「次へ」</span>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/67c57268ebc9d8c32aaea6c8e913c9a2.png" alt="VSCode セットアップ" class="wp-image-466" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/67c57268ebc9d8c32aaea6c8e913c9a2.png 539w, https://nyanblog2222.com/wp-content/uploads/2020/05/67c57268ebc9d8c32aaea6c8e913c9a2-300x238.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>



<p>ここでは、インストール時の追加要素を選択することができます。</p>



<p>今回は変更していませんが、おすすめは以下の3つです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box">
<p>・エクスプローラーのファイル　コンテキストメニューに[Code で開く]アクションを追加する<br>・エクスプローラーのディレクトリ　コンテキストメニューに[Code で開く]アクションを追加する<br>・<span class="bold-red">PATHへの追加</span></p>
</div>



<p>他のサイトでよくインストール作業の内容に関して、環境変数に設定する内容が記載されていますが、ここで<span class="bold-red">PATHへの追加</span>にチェックを入れておくと自分で作業する必要が無くなります。<br>そのため、チェックをつけた状態で<span class="bold-red">「次へ」</span>をクリックしましょう。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/0182d5ad9156e01eb0f854096ccca089-1.png" alt="VSCode セットアップ" class="wp-image-473" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/0182d5ad9156e01eb0f854096ccca089-1.png 539w, https://nyanblog2222.com/wp-content/uploads/2020/05/0182d5ad9156e01eb0f854096ccca089-1-300x238.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>



<p>インストールの確認前画面です。<br>内容に問題なければ<span class="bold-red">「インストール」</span>をクリックしてください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/98bfa2948a2cf57531107bf79c2b4c77.png" alt="VSCode セットアップ" class="wp-image-469" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/98bfa2948a2cf57531107bf79c2b4c77.png 539w, https://nyanblog2222.com/wp-content/uploads/2020/05/98bfa2948a2cf57531107bf79c2b4c77-300x238.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>



<p>インストールが完了したら<span class="bold-red">「完了」</span>をクリックし、セットアップ画面を閉じてください。<br>これでVisual Studio Codeのインストールが完了です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="539" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/1da942a1b0f32f831099a98ad72c5fb1.png" alt="VSCode セットアップ" class="wp-image-471" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/1da942a1b0f32f831099a98ad72c5fb1.png 539w, https://nyanblog2222.com/wp-content/uploads/2020/05/1da942a1b0f32f831099a98ad72c5fb1-300x238.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">Visual Studio Codeに拡張機能をインストール</span></h2>



<p>拡張機能でインストールする方法を紹介します。<br>まず使うであろう<span class="bold-red">「日本語化」</span>の拡張機能をインストールします。</p>



<p>Visual Studio Codeを開きます。</p>



<p>左側のアクティビティバーにある、<span class="bold-red">赤枠「拡張機能」</span>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="619" height="464" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-47_No-00-min.png" alt="Visual Studio Code" class="wp-image-475" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-47_No-00-min.png 619w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-47_No-00-min-300x225.png 300w" sizes="auto, (max-width: 619px) 100vw, 619px" /></figure>



<p>「Marketplace」に<span class="bold-red">「Japanese」</span>と入力してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="620" height="183" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-5.png" alt="" class="wp-image-485" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-5.png 620w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-5-300x89.png 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /></figure>



<p><span class="bold-red">「Japanese Language Pack for Visual Studio Code」</span><br>のインストールを行ってください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="620" height="177" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-4.png" alt="" class="wp-image-484" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-4.png 620w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-4-300x86.png 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /></figure>



<p>locale.jsonで日本語に設定します。<br><span class="bold-red">「Ctrl」+「Shift」+「P」</span>でコマンドパレットを起動します。</p>



<p>「configure」と入力すると予測変換が出てくるので<br><span class="bold-red">「Configure Display Language」</span>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="617" height="179" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-8_No-00-min.png" alt="Visual Studio Code　日本語" class="wp-image-483" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-8_No-00-min.png 617w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-8_No-00-min-300x87.png 300w" sizes="auto, (max-width: 617px) 100vw, 617px" /></figure>



<p><span class="bold-red">「ja」</span>(japanese)をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="617" height="180" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-11_No-00-min.png" alt="Visual Studio Code　日本語" class="wp-image-486" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-11_No-00-min.png 617w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-11_No-00-min-300x88.png 300w" sizes="auto, (max-width: 617px) 100vw, 617px" /></figure>



<p>再起動するか確認するメッセージボックスが出ますので、<span class="bold-red">「Restart」</span>をクリックしてください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="567" height="205" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-11_8-59-22_No-00.png" alt="Visual Studio Code　再起動" class="wp-image-488" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-11_8-59-22_No-00.png 567w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-11_8-59-22_No-00-300x108.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure>



<p>これで日本語化の完了です。</p>



<p></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/5187/">Visual Studio Codeのインストールや日本語化設定</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/5187/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者】JavaScriptでTODOリスト作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/5090/</link>
					<comments>https://nyanblog2222.com/programming/5090/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 09 Mar 2023 15:31:35 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[TODOリスト]]></category>
		<category><![CDATA[サンプル]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=5090</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308-300x157.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308-768x401.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />JavaScriptでTODOリストを作成しました。 シンプルでサンプル・解説ありなので、初心者のJavaScriptの勉強用に良かったら作成してみてください♪ 目次 はじめに実装内容（フロー）HTMLCSSJavaSc [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/5090/">【初心者】JavaScriptでTODOリスト作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308-300x157.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308-768x401.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />
<p>JavaScriptでTODOリストを作成しました。</p>



<p>シンプルでサンプル・解説ありなので、初心者のJavaScriptの勉強用に良かったら作成してみてください♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">実装内容（フロー）</a></li><li><a href="#toc3" tabindex="0">HTML</a></li><li><a href="#toc4" tabindex="0">CSS</a></li><li><a href="#toc5" tabindex="0">JavaScript</a><ol><li><a href="#toc6" tabindex="0">コード</a></li><li><a href="#toc7" tabindex="0">解説</a><ol><li><a href="#toc8" tabindex="0">・グローバル変数の定義・ページ読み込み後、変数にHTML要素を設定</a></li><li><a href="#toc9" tabindex="0">・タスク追加</a><ol><li><a href="#toc10" tabindex="0">・完了ボタンクリック</a></li><li><a href="#toc11" tabindex="0">・削除ボタンクリック</a></li></ol></li><li><a href="#toc12" tabindex="0">・チェックしたタスクを一括削除：deleteTask()</a></li><li><a href="#toc13" tabindex="0">・タスク内にあるボタンを作成：createTaskButton(class_name, name)</a></li></ol></li></ol></li><li><a href="#toc14" tabindex="0">デモ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>まずはTODOリストの機能を考えます。<br>今回は以下の機能を持たせて実装しました。</p>



<p>簡単な機能しか実装していませんが、好みに応じてカスタマイズしてみてください。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ul class="wp-block-list">
<li>タスクを追加、完了、削除</li>



<li>タスクをまとめて削除する</li>
</ul>
</div>



<p>作成のイメージ図がこちらです。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308.png" alt="" class="wp-image-5101" width="687" height="470" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308.png 687w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308-300x205.png 300w" sizes="auto, (max-width: 687px) 100vw, 687px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">実装内容（フロー）</span></h2>



<p>次に箇条書きで処理フローを記述します。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ol class="wp-block-list">
<li>変数を設定</li>



<li>タスク追加ボタン押下時：
<ol class="wp-block-list">
<li>タスク名の入力値チェック</li>



<li>タスクに必要な要素を追加する</li>
</ol>
</li>



<li>チェックしたタスクを一括削除ボタン押下時：
<ol class="wp-block-list">
<li>チェックしたタスクをを削除する</li>
</ol>
</li>



<li>完了ボタン押下時： 
<ol class="wp-block-list">
<li>ボタンを押下したタスクを完了</li>
</ol>
</li>



<li>削除ボタン押下時： 
<ol class="wp-block-list">
<li>ボタンを押下したタスクを削除</li>
</ol>
</li>
</ol>
</div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>シンプルな機能だけ持たせています。<br>改善点は色々思い当たりますが、完了状態→タスク未完了状態に戻したりがありますね。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc3">HTML</span></h2>



<p>まずはHTMLを作成していきます。<br>作成しているのは、大きく以下の3つです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ol class="wp-block-list">
<li>タイトル（TODOリスト）</li>



<li>タスク名登録・タスク複数削除</li>



<li>タスク一覧（完了・削除ボタン）</li>
</ol>
</div>



<pre class="wp-block-code html"><code>&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;h1 id="header"&gt;TODOリスト&lt;/h1&gt;
    &lt;div id="input-wrap"&gt;
      &lt;input id="task-name" type="text" placeholder="タスク名を入力してください" /&gt;
      &lt;button onclick="addTask()"&gt;タスクを追加&lt;/button&gt;
      &lt;button class="deleteTask-button" onclick="deleteTask()"&gt;チェックしたタスクを削除&lt;/button&gt;
    &lt;/div&gt;
    &lt;div id="main-wrap"&gt;
      &lt;form name="task_form"&gt;
        &lt;ul id="todo-list"&gt;&lt;/ul&gt;
      &lt;/form&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<p>「タスクを追加」ボタンにクリックイベント&#8221;<span class="marker-under">addTask()</span>&#8220;<br>「チェックしたタスクを削除」ボタンにクリックイベント&#8221;<span class="marker-under">deleteTask()</span>&#8220;</p>



<p>を設定しています。</p>



<h2 class="wp-block-heading"><span id="toc4">CSS</span></h2>



<p>次にCSSでスタイルを決定します。<br>この辺りは好きなようにカスタマイズをしていただいて良いと思います！<br>※ 先にreset.cssを読み込んでからスタイルを設定していますので、注意してください。</p>



<p>特に記載するところはありませんが、<br>61行目「line-through」、87行目「disabled」はJavaScriptで「完了」ボタン押下時のイベントで使用するため、設定してください。</p>



<pre class="wp-block-code css"><code>@charset "utf-8";

/*全体*/
.wrapper{
  max-width: 600px;
  margin: 0 auto;
  color: #666;
}
#header {
  text-align: center;
  font-size: 24px;
  width: 100%;
  margin: 1.5rem 0;
}
#main-wrap {
  margin-bottom: 1.5rem;
}

/* 入力 */
#input-wrap {
  margin: 0 auto;
  width: 80%;
}
#input-wrap input{
  width: 40%;
  height: 24px;
  margin-right: 1rem;
}

/* リスト */
#main-wrap {
  text-align: center;
  margin: 0 auto;
  width: 70%;
  min-height: 120px;
  border: 1px solid #aaa;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  padding: 0.8rem 2rem;
}

#main-wrap ul {
  padding-inline-start: 0
}

#main-wrap li {
  text-align: left;
  list-style-type: none;
  border-bottom: 1px dashed #aaa;
  padding: 0.8rem 0;
  display: flex;
  line-height: 32px;
}

#main-wrap p {
  width: 60%;
}
#main-wrap p.line-through {
  text-decoration: line-through;
}

/*ボタン*/
button{
  height: 32px;

  cursor: pointer;
  background: #B78D4A;
  color: #fff;
  border: 1px solid #B78D4A;
  border-radius: 4px;
  font-size: 1rem;
  padding: 0.2rem 1.5rem;
  margin-bottom: 0.5rem;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}

button:hover{
  background-color: #D4BB92;
  border-color: #D4BB92;
}
button.disabled {
  background-color: #D4BB92;
  border-color: #D4BB92;
  cursor: not-allowed;
  pointer-events: none;
}

button.deleteTask-button {
  margin-bottom: 1.5rem;
}

.end-button, .delete-button {
  margin-bottom: 0;
  padding: 0.2rem 1rem;
}

.end-button {
  margin-right: 0.4rem;
}

</code></pre>



<h2 class="wp-block-heading"><span id="toc5">JavaScript</span></h2>



<p>JavaScriptのコードと解説をしていきます。</p>



<h3 class="wp-block-heading"><span id="toc6">コード</span></h3>



<p>次項で詳しく解説していますが、コメントでも多少記述しています。<br>コピペも可能です！</p>



<pre class="wp-block-code javascript"><code>var todoList;
window.onload = function () {
  todoList = document.getElementById('todo-list');
}

// タスク追加
function addTask() {
  var taskName = document.getElementById('task-name');

  // タスク名の入力がなければ処理を終了
  if(taskName.value.Trim() == "") return;

  // liに要素を追加
  var li = document.createElement('li');

  // liにinputを追加
  var input = document.createElement('input');
  input.setAttribute('type', 'checkbox');
  input.setAttribute('name', 'task');
  li.appendChild(input);

  // liにpを追加
  var p = document.createElement('p');
  p.innerHTML = taskName.value;
  li.appendChild(p);

  // liにbuttonを追加
  var endButton = createTaskButton('end-button', '完了');
  li.appendChild(endButton);

  // liにbuttonを追加
  var deleteButton = createTaskButton('delete-button', '削除');
  li.appendChild(deleteButton);

  // ulにliを追加
  todoList.appendChild(li);

  taskName.value = "";

  // イベント処理
  // 完了ボタンクリック
  endButton.addEventListener('click', function(e){
    e.preventDefault();
    this.setAttribute('class', 'end-button disabled');
    this.previousElementSibling.setAttribute('class', 'line-through');
  });
  // 削除ボタンクリック
  deleteButton.addEventListener('click', function(e){
    e.preventDefault();
    todoList.removeChild(this.closest('li'));
  });
}

// チェックしたタスクを一括削除
function deleteTask() {
  var inputList = document.task_form.task;
  for(var i=inputList.length-1;i&gt;=0;i--) {
    if(inputList&#91;i].checked){
      todoList.removeChild(inputList&#91;i].closest('li'));
    }
  }
}

// タスク内にあるボタンを作成
function createTaskButton(className, name) {
  var btn = document.createElement('button');
  btn.setAttribute('class', className);
  btn.innerHTML = name;
  return btn;
}</code></pre>



<h3 class="wp-block-heading"><span id="toc7">解説</span></h3>



<p>先述したコードに対して細かく解説していきます！</p>



<h4 class="wp-block-heading"><span id="toc8">・グローバル変数の定義・ページ読み込み後、変数にHTML要素を設定</span></h4>



<pre class="wp-block-code javascript"><code>var todoList;
window.onload = function () {
  todoList = document.getElementById('todo-list');
}</code></pre>



<p>ページ読み込み後に<span class="marker-under">&lt;ul&gt;のid&#8217;todo-list&#8217;を取得し、変数todoListに設定</span>しています。</p>



<h4 class="wp-block-heading"><span id="toc9">・タスク追加</span></h4>



<pre class="wp-block-code javascript"><code>function addTask() {
  var taskName = document.getElementById('task-name');

  // タスク名の入力がなければ処理を終了
  if(taskName.value.Trim() == "") return;

  // liに要素を追加
  var li = document.createElement('li');

  // liにinputを追加
  var input = document.createElement('input');
  input.setAttribute('type', 'checkbox');
  input.setAttribute('name', 'task');
  li.appendChild(input);

  // liにpを追加
  var p = document.createElement('p');
  p.innerHTML = taskName.value;
  li.appendChild(p);

  // liにbuttonを追加
  var endButton = createTaskButton('end-button', '完了');
  li.appendChild(endButton);

  // liにbuttonを追加
  var deleteButton = createTaskButton('delete-button', '削除');
  li.appendChild(deleteButton);

  // ulにliを追加
  todoList.appendChild(li);

  taskName.value = "";

  // イベント処理
  // のちほど説明のため省略
}</code></pre>



<p>「タスクを追加」ボタン押下時のイベントを実装します。</p>



<pre class="wp-block-code javascript"><code>var taskName = document.getElementById('task-name');</code></pre>



<p>タスク名を入力する<span class="marker-under">&lt;input&gt;のid&#8217;task-name&#8217;を取得し、変数taskNameに設定</span>しています。</p>



<pre class="wp-block-code javascript"><code>// タスク名の入力がなければ処理を終了
if(taskName.value.Trim() == "") return;
</code></pre>



<p>タスク名の入力値が空であれば処理を終了する。<br><span class="marker-under">Trim()は入力値の前後の空白を除きます</span>。</p>



<pre class="wp-block-code javascript"><code>// liに要素を追加
var li = document.createElement('li');

// liにinputを追加
var input = document.createElement('input');
input.setAttribute('type', 'checkbox');
input.setAttribute('name', 'task');
li.appendChild(input);

// liにpを追加
var p = document.createElement('p');
p.innerHTML = taskName.value;
li.appendChild(p);

// liにbuttonを追加
var endButton = createTaskButton('end-button', '完了');
li.appendChild(endButton);

// liにbuttonを追加
var deleteButton = createTaskButton('delete-button', '削除');
li.appendChild(deleteButton);
</code></pre>



<p>&lt;li&gt;の要素を作成します。&lt;li&gt;の中には以下の要素を作ります。</p>



<p>・チェックボックス<br>・タスク名<br>・完了ボタン<br>・削除ボタン</p>



<pre class="wp-block-code javascript"><code>// ulにliを追加
todoList.appendChild(li);
</code></pre>



<p>作成した&lt;li&gt;を&lt;ul&gt;に追加します。</p>



<pre class="wp-block-code javascript"><code>taskName.value = "";</code></pre>



<p>入力欄をリセットするため、空文字（&#8221;&#8221;）を設定します。</p>



<h5 class="wp-block-heading"><span id="toc10">・完了ボタンクリック</span></h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="692" height="437" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_2.png" alt="" class="wp-image-5131" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_2.png 692w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_2-300x189.png 300w" sizes="auto, (max-width: 692px) 100vw, 692px" /></figure>



<pre class="wp-block-code javascript"><code>endButton.addEventListener('click', function(e){
  e.preventDefault();
  this.setAttribute('class', 'end-button disabled');
  this.previousElementSibling.setAttribute('class', 'line-through');
});</code></pre>



<p>各タスクの「完了」ボタンを実装します。</p>



<pre class="wp-block-code javascript"><code>e.preventDefault();</code></pre>



<p>こちらの関数はイベントのデフォルト動作をキャンセルします。</p>



<pre class="wp-block-code javascript"><code>this.setAttribute('class', 'end-button disabled');</code></pre>



<p>end_button[完了ボタン]にclass属性&#8217;end-button <span class="marker-under">disabled</span>&#8216;を設定します。<br>disabledクラスはボタンを非活性するスタイルを設定します。</p>



<p><span class="marker-under">thisはendButton</span>を指します。</p>



<pre class="wp-block-code javascript"><code>this.previousElementSibling.setAttribute('class', 'line-through');</code></pre>



<p>タスク名&lt;p&gt;に取消線のクラス<span class="marker-under">&#8216;line-through&#8217;</span>を設定します。</p>



<p><span class="marker-under">previousElementSibling</span><span class="marker-under">：</span><span class="marker-under">一つ前の要素</span>。endButton[完了ボタン]の一つ前の要素&lt;p&gt;を指します。</p>



<h5 class="wp-block-heading"><span id="toc11">・削除ボタンクリック</span></h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="690" height="456" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_4.png" alt="" class="wp-image-5149" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_4.png 690w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_4-300x198.png 300w" sizes="auto, (max-width: 690px) 100vw, 690px" /></figure>



<pre class="wp-block-code javascript"><code>deleteButton.addEventListener('click', function(e){
  e.preventDefault();
  todoList.removeChild(this.closest('li'));
});</code></pre>



<p>各タスクの「削除」ボタンを実装します。<br>※ e.preventDefault();は先ほど出てきたので省略</p>



<pre class="wp-block-code javascript"><code>todo_list.removeChild(this.closest('li'));</code></pre>



<p>タスクを削除します。</p>



<p><span class="marker-under">removeChild()</span>：&lt;ul&gt;（todoList）の子要素を削除します。<br><span class="marker-under">this.closest(&#8216;li&#8217;)</span>：クリックしたボタンthis(deleteButton)の直近に存在する親要素、もしくは要素自身を返します。</p>



<h4 class="wp-block-heading"><span id="toc12">・チェックしたタスクを一括削除：deleteTask()</span></h4>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="434" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_3-1024x434.png" alt="" class="wp-image-5140" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_3-1024x434.png 1024w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_3-300x127.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_3-768x326.png 768w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230308_3.png 1382w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<pre class="wp-block-code javascript"><code>function deleteTask() {
  var inputList = document.task_form.task;
  for(var i=inputList.length-1;i&gt;=0;i--) {
    if(inputList&#91;i].checked){
      todoList.removeChild(inputList&#91;i].closest('li'));
    }
  }
}</code></pre>



<p><span class="marker-under">「チェックしたタスクを削除」ボタン押下時に呼ばれる関数</span>&#8220;deleteTask()&#8221;を作成します。<br>チェックしたタスクを一度に削除する処理を行います。</p>



<pre class="wp-block-code javascript"><code>var inputList = document.task_form.task;</code></pre>



<p>&lt;form name=&#8221;task_form&#8221;&gt;の中の&lt;input name=&#8221;task&#8221;&gt;を一覧で取得して変数inputListに設定しています。</p>



<p>&#8220;task_form&#8221;と&#8221;task&#8221;はname属性で指定した値です。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>htmlファイルと見比べながら確認すると分かりやすいです。</p>
</div></div>



<pre class="wp-block-code javascript"><code>// ①
for(var i=inputList.length-1;i&gt;=0;i--) {
  // ②
  if(inputList&#91;i].checked){
    // ③
    todo_list.removeChild(inputList&#91;i].closest('li'));
  }
}</code></pre>



<p>チェックしたタスク&lt;li&gt;を削除していきます。</p>



<p>①for文でinputListを後ろから一つずつ&lt;input&gt;を回し<br>②if文でチェックボックスでチェックしているか確認<br>※ チェックされているときはcheckedがtrue<br>③trueであればリスト（todoList）からliを削除<br>※ removeChildは「削除ボタンクリック」で開設済み</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p><span class="marker-under">①で後ろからfor文を回している理由</span>は、回しながらliを削除しているので<br>添字が変わってしまうことにより、チェックしているタスクが全て削除されなくなるというのを防いでいます。<br>※ ★このあたりは文章だと分かりずらいので、今後時間があれば図にするかもしれません…。</p>
</div></div>



<h4 class="wp-block-heading"><span id="toc13">・タスク内にあるボタンを作成：createTaskButton(class_name, name)</span></h4>



<pre class="wp-block-code javascript"><code>function createTaskButton(className, name) {
  var btn = document.createElement('button');
  btn.setAttribute('class', className);
  btn.innerHTML = name;
  return btn;
}</code></pre>



<p><span class="marker-under">タスクの「完了」「削除」ボタンを作成する関数</span>です。</p>



<pre class="wp-block-code javascript"><code>var btn = document.createElement('button');</code></pre>



<p>&lt;botton&gt;の要素を作成します。</p>



<pre class="wp-block-code javascript"><code>btn.setAttribute('class', className);
btn.innerHTML = name;</code></pre>



<p>ボタンに属性classを設定、innerHTMLにボタンに表示する内容を設定します。</p>



<p>最後にボタン（要素）を返します。</p>



<h2 class="wp-block-heading"><span id="toc14">デモ</span></h2>



<p><a href="https://nyanblog2222.com/demo/todolist1/" target="_blank">こちらがデモページ</a>になります。</p>



<p>良かったら試してみてください♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/5090/">【初心者】JavaScriptでTODOリスト作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/5090/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JS】jQueryでloadが効かない場合の対処法</title>
		<link>https://nyanblog2222.com/programming/5050/</link>
					<comments>https://nyanblog2222.com/programming/5050/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 02 Jan 2023 14:21:21 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[on]]></category>
		<category><![CDATA[unload]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=5050</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2023/01/20230102.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/01/20230102.png 800w, https://nyanblog2222.com/wp-content/uploads/2023/01/20230102-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/01/20230102-768x401.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />今更な内容にはなりますが…。 jQueryでは2から3にバージョンが上がった際、load関数が廃止されたためon関数を使用して対処するようになりました。 …が、それでも上手くできない…。となったときの備忘録です。まずは、 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/5050/">【JS】jQueryでloadが効かない場合の対処法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2023/01/20230102.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2023/01/20230102.png 800w, https://nyanblog2222.com/wp-content/uploads/2023/01/20230102-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2023/01/20230102-768x401.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />
<p>今更な内容にはなりますが…。</p>



<p>jQueryでは2から3にバージョンが上がった際、<span class="marker-under">load関数が廃止されたためon関数を使用</span>して対処するようになりました。</p>



<p>…が、それでも上手くできない…。となったときの備忘録です。<br>まずは、load関数からon関数に書き換える方法と、他、注意事項を載せています。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">on関数に書き換え</a></li><li><a href="#toc2" tabindex="0">注意事項</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">on関数に書き換え</span></h2>



<p>イベント関連の処理clickイベント同様に、各関数（load、unload、error）での書き方は使用できなくなり、on関数での記述になりました。</p>



<p>■2.Xの書き方</p>



<pre class="wp-block-code javascript"><code>$(window).load(function() {
  // ・・・処理
});

$(window).unload(function() {
  // ・・・処理
});

$(window).error(function() {
  // ・・・処理
});</code></pre>



<p>■3.Xの書き方</p>



<pre class="wp-block-code javascript"><code>$(window).on('load', function() {
  // ・・・処理
});

$(window).on('unload', function() {
  // ・・・処理
});

$(window).on('error', function() {
  // ・・・処理
});</code></pre>



<h2 class="wp-block-heading"><span id="toc2">注意事項</span></h2>



<p>注意事項ですが、<span class="marker-under-red">load処理</span>を行う際に以下のように <strong><span class="marker-under">$(function () {});</span></strong> で囲ってしまうとエラーが起こってしまうので注意してください。&nbsp;</p>



<p><strong><span class="marker-under">$(function () {});</span></strong> は $(document).ready(function() {}); と同じ処理で、ready処理はload処理とは実行するタイミングが異なるため、エラーになってしまいます。</p>



<p>■書き方</p>



<pre class="wp-block-code javascript"><code>$(function () {
  // ・・・処理1
});

$(window).on('load', function() {
  // ・・・処理2
});</code></pre>



<p>■エラー</p>



<pre class="wp-block-code javascript"><code>$(function () {
  // ・・・処理1

  $(window).on('load', function() {
    // ・・・処理2
  });
});</code></pre>



<p>★readとloadの違いの記事を書くかもしれません。</p>



<p></p>



<p></p>



<p></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/5050/">【JS】jQueryでloadが効かない場合の対処法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/5050/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者】JavaScriptでストップウォッチの作り方</title>
		<link>https://nyanblog2222.com/programming/4829/</link>
					<comments>https://nyanblog2222.com/programming/4829/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 09 Sep 2022 06:31:39 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4829</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/65.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/65.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/65-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/65-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/65-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はJavaScriptでストップウォッチを作成しました。シンプルでサンプル・解説ありなので、初心者のJavaScriptの勉強用に良かったら作成してみてください♪ 目次 はじめに実装内容（フロー）HTMLCSSJav [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/4829/">【初心者】JavaScriptでストップウォッチの作り方</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/65.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/65.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/65-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/65-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/65-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はJavaScriptでストップウォッチを作成しました。<br>シンプルでサンプル・解説ありなので、初心者のJavaScriptの勉強用に良かったら作成してみてください♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">実装内容（フロー）</a></li><li><a href="#toc3" tabindex="0">HTML</a></li><li><a href="#toc4" tabindex="0">CSS</a></li><li><a href="#toc5" tabindex="0">JavaScript</a><ol><li><a href="#toc6" tabindex="0">コード</a></li><li><a href="#toc7" tabindex="0">解説</a><ol><li><a href="#toc8" tabindex="0">・グローバル変数の定義</a></li><li><a href="#toc9" tabindex="0">・ページ読み込み後、変数にHTML要素を設定</a></li><li><a href="#toc10" tabindex="0">・スタートボタン押下時に呼ばれる関数：start()</a></li><li><a href="#toc11" tabindex="0">・ストップボタン押下時に呼ばれる関数：stop()</a></li><li><a href="#toc12" tabindex="0">・リセットボタン押下時に呼ばれる関数：reset()</a></li><li><a href="#toc13" tabindex="0">・時間を計測する関数（再帰関数）：measureTime()</a></li></ol></li></ol></li><li><a href="#toc14" tabindex="0">デモ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>まずはストップウォッチの機能を考えます。<br>今回は以下の機能を持たせて実装しました。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ul class="wp-block-list"><li>時間を計測する</li><li>ボタン：スタート、ストップ、リセット<br>※ 各ボタンを押すと各ボタンの有効・無効を判定</li><li>一度ストップしてから再度スタートすると継続して時間を計測</li><li>リセットを押すと&#8221;00:00.000&#8243;表示となりリセットされる</li></ul>
</div>



<p>実際に作成したイメージ図がこちらです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="509" height="249" src="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-09-0001.png" alt="" class="wp-image-4835" srcset="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-09-0001.png 509w, https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-09-0001-300x147.png 300w" sizes="auto, (max-width: 509px) 100vw, 509px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">実装内容（フロー）</span></h2>



<p>次に箇条書きで処理フローを記述します。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ol class="wp-block-list"><li>ボタンやタイマーの各要素を変数に設定</li><li>スタートボタン押下時：<ol><li>時間を計測して表示</li><li>スタートボタンを無効</li><li>ストップ、リセットボタンを有効 </li></ol></li><li>ストップボタン押下時：<ol><li>時間計測をストップし、停止時間を保持</li><li>停止時間を保持</li><li>スタート、リセットボタンを有効</li><li>ストップボタンを無効</li></ol></li><li>リセットボタン押下時：<ol><li>時間計測をストップし、時間計測に使用する変数や表示時間を初期化</li><li>スタートボタンを有効</li><li>ストップ、リセットボタンを無効</li></ol></li></ol>
</div>



<p>この流れで実際にコーディングを進めていきます。</p>



<h2 class="wp-block-heading"><span id="toc3">HTML</span></h2>



<p>まずはHTMLを作成していきます。<br>作成しているのは、以下の2つです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ol class="wp-block-list"><li>計測時間の表示</li><li>スタート・ストップ・リセットボタン</li></ol>
</div>



<pre class="wp-block-code html"><code>&lt;body&gt;
  &lt;div class="wrapper"&gt;

    &lt;!-- 計測時間を表示 --&gt;
    &lt;div id="time"&gt;00:00.000&lt;/div&gt;
    &lt;div&gt;

      &lt;!-- スタート・ストップ・リセットボタン --&gt;
      &lt;button id="start" onclick="start()"&gt;Start&lt;/button&gt;
      &lt;button id="stop" onclick="stop()" disabled&gt;Stop&lt;/button&gt;
      &lt;button id="reset" onclick="reset()" disabled&gt;Reset&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">CSS</span></h2>



<p>次にCSSでスタイルを決定します。<br>この辺りは好きなようにカスタマイズをしていただいて良いと思います！</p>



<p>特に記載するところはありませんが、<br>強いて言えばボタンは有効時、hoverすると色変化、カーソル変化。無効時は色変化のスタイルを設定しています。</p>



<pre class="wp-block-code css"><code>@charset "utf-8";

/*全体*/
.wrapper{
    font-family: arial, sans-serif;
	max-width: 600px;
	margin: 0 auto;
	color: #666;
	text-align: center;
}

/* 時間表示 */
#time{
    font-size: 60px;
    margin: 20px 0;
}

/*ボタン*/
button {
    padding: 20px 0;
    font-size: 30px;
    display: inline-block;
    padding: .8rem 1.6rem;
    border: none;
    color: #FFF;
    background-color: #B78D4A;
    border-radius: 15px;
}
button:hover {
    cursor: pointer;
    background-color: #D4BB92;
}
button:disabled {
    cursor: default;
    background-color: #D4BB92;
}
</code></pre>



<h2 class="wp-block-heading"><span id="toc5">JavaScript</span></h2>



<p>JavaScriptのコードと解説をしていきます。</p>



<h3 class="wp-block-heading"><span id="toc6">コード</span></h3>



<p>次項で詳しく解説していますが、コメントでも多少記述しています。<br>コピペも可能です！</p>



<pre class="wp-block-code javascript"><code>var startButton;    // startボタン
var stopButton;     // stopボタン
var resetButton;    // resetボタン
var showTime;       // 表示時間

var timer;              // setinterval, clearTimeoutで使用
var startTime;          // 開始時間
var elapsedTime = 0;    // 経過時間
var holdTime = 0;       // 一時停止用に時間を保持

window.onload = function () {
    startButton = document.getElementById("start");
    stopButton = document.getElementById("stop");
    resetButton = document.getElementById("reset");
    showTime = document.getElementById("time");
}

// スタートボタン押下時
function start(){
    // 開始時間を現在の時刻に設定
    startTime = Date.now();

    // 時間計測
    measureTime();

    startButton.disabled = true;
    stopButton.disabled = false;
    resetButton.disabled = false;
}

// ストップボタン押下時
function stop(){
    // タイマー停止
    clearInterval(timer);

    // 停止時間を保持
    holdTime += Date.now() - startTime;

    startButton.disabled = false;
    stopButton.disabled = true;
    resetButton.disabled = false;
}

// リセットボタン押下時
function reset(){
    // タイマー停止
    clearInterval(timer);

    // 変数、表示を初期化
    elapsedTime = 0;
    holdTime = 0;
    showTime.textContent = "00:00.000";

    startButton.disabled = false;
    stopButton.disabled = true;
    resetButton.disabled = true;
}

// 時間を計測（再帰関数）
function measureTime() {
    // タイマーを設定
    timer = setTimeout(function () {
        // 経過時間を設定し、画面へ表示
        elapsedTime = Date.now() - startTime + holdTime;
        showTime.textContent = new Date(elapsedTime).toISOString().slice(14, 23);
        
        // 関数を呼び出し、時間計測を継続する
        measureTime();
    }, 10);
}</code></pre>



<h3 class="wp-block-heading"><span id="toc7">解説</span></h3>



<p>先述したコードに対して細かく解説していきます！</p>



<h4 class="wp-block-heading"><span id="toc8">・グローバル変数の定義</span></h4>



<pre class="wp-block-code javascript"><code>var startButton;    // startボタン
var stopButton;     // stopボタン
var resetButton;    // resetボタン
var showTime;       // 表示時間

var timer;              // setinterval, clearTimeoutで使用
var startTime;          // 開始時間
var elapsedTime = 0;    // 経過時間
var holdTime = 0;       // 一時停止用に時間を保持</code></pre>



<p>コメントでそれぞれ記載していますが、使用する変数を宣言します。</p>



<p>1～4行がボタン、計測時間の表示でこの後HTMLの要素を設定します。<br>5～9行が時間の計測に使用する変数です。</p>



<h4 class="wp-block-heading"><span id="toc9">・ページ読み込み後、変数にHTML要素を設定</span></h4>



<pre class="wp-block-code javascript"><code>window.onload = function () {
  startButton = document.getElementById("start");
  stopButton = document.getElementById("stop");
  resetButton = document.getElementById("reset");
  showTime = document.getElementById("time");
}</code></pre>



<p>ページ読み込み後、ボタンや計測時間の表示のidを指定して各変数にHTML要素を設定します。</p>



<h4 class="wp-block-heading"><span id="toc10">・スタートボタン押下時に呼ばれる関数：start()</span></h4>



<pre class="wp-block-code javascript"><code>// スタートボタン押下時
function start(){
    // 開始時間を現在の時刻に設定
    startTime = Date.now();

    // 時間計測
    measureTime();

    startButton.disabled = true;
    stopButton.disabled = false;
    resetButton.disabled = false;
}</code></pre>



<p>スタートボタン押下時に呼ばれる関数です。</p>



<p><span class="marker-under">startTime = Date.now();</span><br>時間計測に使用する[開始時間]を変数に設定します。</p>



<p><span class="marker-under">measureTime();</span><br>次に時間計測を行う関数を呼び出します。<br>時間計測に関しては関数の説明で詳しく説明します。</p>



<p>最後にスタートボタンを無効、ストップ、リセットボタンを有効にします。</p>



<h4 class="wp-block-heading"><span id="toc11">・ストップボタン押下時に呼ばれる関数：stop()</span></h4>



<pre class="wp-block-code javascript"><code>// ストップボタン押下時
function stop(){
    // タイマー停止
    clearInterval(timer);

    // 停止時間を保持
    holdTime += Date.now() - startTime;

    startButton.disabled = false;
    stopButton.disabled = true;
    resetButton.disabled = false;
}</code></pre>



<p>ストップボタン押下時に呼ばれる関数です。</p>



<p><span class="marker-under">clearInterval(timer);</span><br>時間計測に使用しているタイマーを停止します。</p>



<p><span class="marker-under">holdTime += Date.now() &#8211; startTime;</span><br>一度ストップを押下して再度スタートボタンを押下した際、続きから時間を計測するため、停止時間を保持します。</p>



<p>最後にスタート、リセットボタンを有効、ストップボタンを無効にします。</p>



<h4 class="wp-block-heading"><span id="toc12">・リセットボタン押下時に呼ばれる関数：reset()</span></h4>



<pre class="wp-block-code javascript"><code>// リセットボタン押下時
function reset(){
    // タイマー停止
    clearInterval(timer);

    // 変数、表示を初期化
    elapsedTime = 0;
    holdTime = 0;
    showTime.textContent = "00:00.000";

    startButton.disabled = false;
    stopButton.disabled = true;
    resetButton.disabled = true;
}</code></pre>



<p>ストップボタン押下時に呼ばれる関数です。</p>



<p><span class="marker-under">clearInterval(timer);</span><br>時間計測に使用しているタイマーを停止します。</p>



<p><span class="marker-under">elapsedTime = 0;</span><br><span class="marker-under">holdTime = 0;</span><br><span class="marker-under">showTime.textContent = &#8220;00:00.000&#8221;;</span><br>時間計測に使用する変数や表示時間を初期化します。</p>



<p>最後にスタートボタンを有効、ストップ、リセットボタンを無効にします。</p>



<h4 class="wp-block-heading"><span id="toc13">・時間を計測する関数（再帰関数）：measureTime()</span></h4>



<pre class="wp-block-code javascript"><code>// 時間を計測（再帰関数）
function measureTime() {
    // タイマーを設定
    timer = setTimeout(function () {
        // 経過時間を設定し、画面へ表示
        elapsedTime = Date.now() - startTime + holdTime;
        showTime.textContent = new Date(elapsedTime).toISOString().slice(14, 23);
        
        // 関数を呼び出し、時間計測を継続する
        measureTime();
    }, 10);
}</code></pre>



<p>時間を計測する関数です。</p>



<p>4～11行目まででタイマーを設定します。</p>



<p><span class="marker-under">elapsedTime = Date.now() &#8211; startTime + holdTime;</span><br>計測時間を計算します。<br>[現在の時刻] &#8211; [開始時間] + [保持している時間]で導き出されます。<br>startTimeはスタートボタン押下時、holdTimeはストップボタンを押下時に設定しています。</p>



<p><span class="marker-under">showTime.textContent = new Date(elapsedTime).toISOString().slice(14, 23);</span><br>計算した計測時間を表示します。</p>



<p><span class="bold-red">toISOString()</span>：ISO形式の文字列で常にYYYY-MM-DDTHH:mm:ss.sssZ形式を返します。</p>



<p><span class="bold-red">slice(14, 23)</span>：先頭を0として14～23文字目までを取得しているので、<br>[YYYY-MM-DDTHH:<span class="marker-under-red"><span class="bold-red">mm:ss.sss</span></span>Z]の赤線（赤文字）がshowTime.textContentに渡されます。</p>



<p><span class="marker-under">measureTime();</span><br><span class="marker-under-red">処理中に自身を呼び出します</span>。<br>これでストップボタンが押されるまで時間計測が行われます。</p>



<h2 class="wp-block-heading"><span id="toc14">デモ</span></h2>



<p><a href="https://nyanblog2222.com/demo/stopwatch/" target="_blank">こちらがデモページ</a>になります。</p>



<p>良かったら試してみてください♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/4829/">【初心者】JavaScriptでストップウォッチの作り方</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/4829/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者】JavaScriptでおみくじの作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/4764/</link>
					<comments>https://nyanblog2222.com/programming/javascript/4764/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 06 Sep 2022 14:43:10 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ramdom]]></category>
		<category><![CDATA[おみくじ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4764</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はJavaScriptでおみくじを作成しました。三段階で作成してみましたので、初心者の方が勉強するのにおすすめですよ♪ 段階としては三段階で作成していきます。 目次 ボタンを押しておみくじを表示ソースコード解説おみく [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4764/">【初心者】JavaScriptでおみくじの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はJavaScriptでおみくじを作成しました。<br>三段階で作成してみましたので、初心者の方が勉強するのにおすすめですよ♪</p>



<p>段階としては三段階で作成していきます。</p>



<ul class="wp-block-list">
<li>ボタンを押しておみくじを表示する</li>



<li>おみくじの結果の確率を設定する</li>



<li>ボタンを押しておみくじルーレットを表示する<br>おみくじは画像で表示する</li>
</ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ボタンを押しておみくじを表示</a><ol><li><a href="#toc2" tabindex="0">ソースコード</a></li><li><a href="#toc3" tabindex="0">解説</a></li></ol></li><li><a href="#toc4" tabindex="0">おみくじの結果の確率を設定</a><ol><li><a href="#toc5" tabindex="0">ソースコード</a></li><li><a href="#toc6" tabindex="0">解説</a></li></ol></li><li><a href="#toc7" tabindex="0">ボタンを押しておみくじルーレットを表示</a><ol><li><a href="#toc8" tabindex="0">ソースコード</a><ol><li><a href="#toc9" tabindex="0">HTML</a></li><li><a href="#toc10" tabindex="0">JavaScript</a></li></ol></li><li><a href="#toc11" tabindex="0">解説</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ボタンを押しておみくじを表示</span></h2>



<p>まずは一番簡単なコードで作成していきます。</p>



<p><a href="https://nyanblog2222.com/demo/omikuji1/" target="_blank">こちらがデモページ</a>になります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="415" height="445" src="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232523.png" alt="" class="wp-image-4791" srcset="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232523.png 415w, https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232523-280x300.png 280w" sizes="auto, (max-width: 415px) 100vw, 415px" /></figure>



<h3 class="wp-block-heading"><span id="toc2">ソースコード</span></h3>



<p>こちらがソースコードです。</p>



<pre class="wp-block-code html"><code>&lt;script&gt;
  window.onload = function () {
    // おみくじ
    // この順番が良い順番らしい（吉と中吉が逆になることも）
    const list = &#91;"大吉","吉","中吉","小吉","末吉","凶","大凶"];

    document.getElementById("button").onclick = function () {
      var random = Math.floor(Math.random() * list.length);
      document.getElementById("result").textContent = list&#91;random];
    }
  }
&lt;/script&gt;

&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;p&gt;おみくじ&lt;br&gt;ボタンをクリックしてください。&lt;/p&gt;
    &lt;div class="wrapper-button"&gt;
      &lt;button id="button" class="button"&gt;おみくじを引く&lt;/button&gt;
    &lt;/div&gt;
    &lt;p id="result"&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc3">解説</span></h3>



<p><span class="marker-under">HTML</span></p>



<ul class="wp-block-list">
<li>17～19行目　ボタン：押すことでおみくじが引く</li>



<li>20行目　pタグ：おみくじの結果を表示</li>
</ul>



<p><span class="marker-under">JavaScript</span></p>



<ul class="wp-block-list">
<li>5行目　おみくじの結果をリストに設定</li>



<li>7～10行目　ボタンのクリックイベント</li>



<li>8行目　random関数を利用して0～リストの数までのランダムの数を作成<br>　　　  floor関数で小数を切り捨てて整数にする</li>



<li>9行目　8行目で作成した数字を使っておみくじ結果リストにアクセスし、id=&#8221;result&#8221;に設定</li>
</ul>



<h2 class="wp-block-heading"><span id="toc4">おみくじの結果の確率を設定</span></h2>



<p>続いて、おみくじの結果の確率を設定して出やすさを変えていきます。</p>



<p><a href="https://nyanblog2222.com/demo/omikuji2/" target="_blank">こちらがデモページ</a>になります。</p>



<h3 class="wp-block-heading"><span id="toc5">ソースコード</span></h3>



<p>こちらがソースコードです。</p>



<pre class="wp-block-code html"><code>&lt;script&gt;
  window.onload = function () {
    const list = {
      "大吉" : 10,
      "吉" : 15,
      "中吉" : 20,
      "小吉" : 25,
      "末吉" :15,
      "凶" : 10,
      "大凶" : 5,
    };

    document.getElementById("button").onclick = function () {
      var random = Math.floor(Math.random() * 100);
      var rate = 0;
      for(var data in list){
        rate += list&#91;data];
        if(random &lt;= rate){
          document.getElementById("result").textContent = data;
          return;
        }
      }
    }
  }
&lt;/script&gt;

&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;p&gt;おみくじ&lt;br&gt;ボタンをクリックしてください。&lt;/p&gt;
    &lt;div class="wrapper-button"&gt;
      &lt;button id="button" class="button"&gt;おみくじを引く&lt;/button&gt;
    &lt;/div&gt;
    &lt;p id="result"&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc6">解説</span></h3>



<p>HTMLは変更なしのため、解説は割愛します。</p>



<p><span class="marker-under">JavaScript</span></p>



<ul class="wp-block-list">
<li>3～11行目　おみくじの結果を<span class="marker-under">連想配列</span>に設定<br>　　　 valueを数字にして確率を設定（数字が大きい方が出やすい）<br>　　　 ※ <span class="marker-under">全ての項目のvalueの和が100</span>になるように</li>



<li>13～23行目　ボタンのクリックイベント</li>



<li>14行目　random関数を利用して<span class="marker-under">0～100の数</span>までのランダムの数を作成<br>　　　　 floor関数で小数を切り捨てて整数にする</li>



<li>15～21行目　<span class="marker-under">14行目でランダムに設定した値を使い、for文で連想配列を回しながら14行目で取得した値の結果</span>をid=&#8221;result&#8221;に設定</li>
</ul>



<h2 class="wp-block-heading"><span id="toc7">ボタンを押しておみくじルーレットを表示</span></h2>



<p>最後にボタンを「START」「STOP」に変更しておみくじルーレットを作成します。<br>また、おみくじの結果は画像にしました。</p>



<p><a href="https://nyanblog2222.com/demo/omikuji3/" target="_blank">こちらがデモページ</a>になります。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232524.png" alt="" class="wp-image-4792" width="230" height="451" srcset="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232524.png 306w, https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232524-153x300.png 153w" sizes="auto, (max-width: 230px) 100vw, 230px" /><figcaption class="wp-element-caption">表示画面</figcaption></figure>



<h3 class="wp-block-heading"><span id="toc8">ソースコード</span></h3>



<p>こちらがソースコードです。</p>



<h4 class="wp-block-heading"><span id="toc9">HTML</span></h4>



<pre class="wp-block-code html"><code>&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;p&gt;おみくじ&lt;br&gt;ボタンをクリックしてください。&lt;/p&gt;
    &lt;div class="wrapper-button"&gt;
      &lt;button id="button" class="button"&gt;START&lt;/button&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;img id="img" src="img/muji.png" alt=""&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h4 class="wp-block-heading"><span id="toc10">JavaScript</span></h4>



<pre class="wp-block-code html"><code>window.onload = function () {

  const list = {
    "daikichi":10,
    "kichi":15,
    "chuukichi":20,
    "syoukichi":25,
    "suekichi":15,
    "kyou":10,
    "daikyou":5,
  };

  var timer;
  // START・STOPボタンクリックのイベント
  document.getElementById("button").onclick = function () {
    // START
    if (this.textContent == "START") {
      // ボタンのテキストを"STOP"に変更
      this.textContent = "STOP";

      // ルーレットタイマーを設定
      timer = setInterval(function () {
        var random = Math.floor(Math.random() * Object.keys(list).length);
        document.getElementById("img").src = "img/" + Object.keys(list)&#91;random] + ".png";
      }, 10);
    // STOP
    } else {
      // ボタンのテキストを"START"に変更
      this.textContent = "START";

      var rate = 0;
      var random = Math.floor(Math.random() * 100);
      for(var data in list){
        rate += list&#91;data];
        if(random &lt;= rate){
          document.getElementById("img").src = "img/" + data + ".png";

          // ルーレットタイマーを停止
          clearInterval(timer);
          return;
        }
      }
    }
  };
};</code></pre>



<h3 class="wp-block-heading"><span id="toc11">解説</span></h3>



<p><span class="marker-under">HTML</span></p>



<ul class="wp-block-list">
<li>4～6行目　ボタン：押すことでおみくじが引く</li>



<li>7～9行目　pタグ：おみくじの結果を表示</li>
</ul>



<p><span class="marker-under">JavaScript</span></p>



<ul class="wp-block-list">
<li>3～11行目　おみくじの結果を<span class="marker-under">連想配列</span>に設定</li>



<li>15～行目　ボタンのクリックイベント</li>



<li>16～24行目　<span class="marker-under">START表示時</span>にクリックしたときの処理<br>・19行目　ボタン表示を[STOP]に変更<br>・22～25行目　タイマーを設定（ルーレットを作ります）<br>・23行目　randomにランダムに値を設定（0～連想配列の数）<br>・24行目　23行目の値を使って画像を設定</li>



<li>26～43行目　<span class="marker-under">STOP表示時</span>にクリックしたときの処理<br>・29行目　ボタン表示を[START]に変更<br>・31～42行目　[おみくじの結果の確率を設定]のおみくじの設定を流用<br>・39行目　タイマー解除</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>上記で簡単に解説していますが、</p>



<p>START表示の処理は[ボタンを押しておみくじを表示]、</p>



<p>STOP表示の処理は[おみくじの結果の確率を設定]の実装を流用しています！</p>
</div></div>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4764/">【初心者】JavaScriptでおみくじの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/4764/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【サンプル】JavaScriptのコードまとめリンク集</title>
		<link>https://nyanblog2222.com/programming/4717/</link>
					<comments>https://nyanblog2222.com/programming/4717/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 01 Sep 2022 12:18:37 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[サンプル]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4717</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/85.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/85.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />本記事では当ブログで上げているJavaScript記事のまとめリンク集になります。 目次でカテゴリ分けをしているので、気になる内容がありましたら目次から飛んでみてください♪ 目次 文法JavaScript サンプルVue [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/4717/">【サンプル】JavaScriptのコードまとめリンク集</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/85.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/85.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>本記事では当ブログで上げてい<span class="marker-under">るJavaScript記事のまとめリンク集</span>になります。</p>



<p>目次でカテゴリ分けをしているので、気になる内容がありましたら目次から飛んでみてください♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">文法</a></li><li><a href="#toc2" tabindex="0">JavaScript サンプル</a></li><li><a href="#toc3" tabindex="0">Vue.js サンプル</a></li><li><a href="#toc4" tabindex="0">Canvas</a></li><li><a href="#toc5" tabindex="0">JSON</a></li><li><a href="#toc6" tabindex="0">アニメーション サンプル</a></li><li><a href="#toc7" tabindex="0">IE対応</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">文法</span></h2>



<p>基本的な文法やJavaScriptで用意されている関数などの解説の記事です。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/1378/" target="_blank">【var let const】変数、型の違い</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1132/" target="_blank">＜input type=”file”＞で読み込んだ画像を表示</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1102/" target="_blank">＜input type=”file”＞ファイルを選択するボタンの画像やスタイルを設定する方法</a></li><li><a href="https://nyanblog2222.com/programming/javascript/775/" target="_blank">【console.log】デバッグ中に値を確認</a></li><li><a href="https://nyanblog2222.com/programming/javascript/822/" target="_blank">【フォーマット文字列】console.logでデバッグ</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1627/" target="_blank">【then/resolve/reject】Promiseの使い方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/984/" target="_blank">非同期処理と処理の順番について</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1620/" target="_blank">遅延実行でイベントを発生させる方法</a></li></ul>



<h2 class="wp-block-heading"><span id="toc2">JavaScript サンプル</span></h2>



<p>JavaScriptを使用したサンプルの一覧です。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/2749/" target="_blank">カレンダー作成</a></li><li><a href="https://nyanblog2222.com/programming/javascript/4496/" target="_blank">電卓の作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/4764/" target="_blank">おみくじの作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/2835/" target="_blank">祝日対応のカレンダー作成</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1194/" target="_blank">ビンゴマシンの作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1016/" target="_blank">ビンゴカードの作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1200/" target="_blank">カウントダウンタイマーの作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1382/" target="_blank">アナログ時計の作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/4829/" target="_blank">ストップウォッチの作り方</a></li></ul>



<h2 class="wp-block-heading"><span id="toc3">Vue.js サンプル</span></h2>



<p>Vueの基本からVueを使用したサンプルの一覧です。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/4571/" target="_blank">vue.jsで電卓の作り方</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1638/" target="_blank">Vue.jsの基本（1）</a></li></ul>



<h2 class="wp-block-heading"><span id="toc4">Canvas</span></h2>



<p>2Dの図形を描画するのに用いられるcanvasの使い方の一覧です。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/699/" target="_blank">Canvasとは</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1506/" target="_blank">Canvasで複数の画像を1つのimgタグで順番に出力</a></li></ul>



<h2 class="wp-block-heading"><span id="toc5">JSON</span></h2>



<p>さまざまなデータの集まりであるJSONの扱い方の一覧です。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/1566/" target="_blank">【ajax/getJSON】JQueryでのJSON読み込み方法</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1526/" target="_blank">JSONデータの参照・追加（更新）・削除</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1514/" target="_blank">JSONとは？JS相互変換について(stringify/parse)</a></li><li><a href="https://nyanblog2222.com/programming/javascript/4739/" target="_blank">JavaScriptのオブジェクトからJSONデータに変換</a></li><li><a href="https://nyanblog2222.com/programming/javascript/4723/" target="_blank">JSONデータをJavaScriptのオブジェクトに変換</a></li></ul>



<h2 class="wp-block-heading"><span id="toc6">アニメーション サンプル</span></h2>



<p>JavaScriptでCSSやプラグインを操作した、動きのあるサンプルの一覧です。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/1630/" target="_blank">スクロール中にヘッダーを固定する方法</a></li><li><a href="https://nyanblog2222.com/programming/javascript/1233/" target="_blank">文字をカーブ状に配置するプラグイン</a></li><li><a href="https://nyanblog2222.com/programming/javascript/32/" target="_blank">コピペでできるドロップダウンメニュー</a></li><li><a href="https://nyanblog2222.com/programming/javascript/73/" target="_blank">スムーススクロールでふわっとページ移動</a></li><li><a href="https://nyanblog2222.com/programming/javascript/345/" target="_blank">水面の動きを表現したプラグインの使い方</a></li></ul>



<h2 class="wp-block-heading"><span id="toc7">IE対応</span></h2>



<p>IE対応の一覧です。<br>※ 使うことはないかもしれませんが…。</p>



<ul class="wp-block-list"><li><a href="https://nyanblog2222.com/programming/javascript/965/" target="_blank">【object-fit-images】object-fit,object-positionのIE対応</a></li></ul>



<p></p>



<p></p>



<p></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/4717/">【サンプル】JavaScriptのコードまとめリンク集</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/4717/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【サンプル】JavaScriptのオブジェクトからJSONデータに変換【JSON.stringify()】</title>
		<link>https://nyanblog2222.com/programming/javascript/4739/</link>
					<comments>https://nyanblog2222.com/programming/javascript/4739/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 31 Aug 2022 12:35:10 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[stringify]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4739</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/88_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/88_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/88_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/88_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />JavaScriptのオブジェクトからJSON文字列のデータに変換するには、JSON.stringify()関数を使用します。 本記事では基本的な使い方から、第2引数・第3引数の使用方法も含めてご紹介していきます！ 目次 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4739/">【サンプル】JavaScriptのオブジェクトからJSONデータに変換【JSON.stringify()】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/88_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/88_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/88_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/88_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>JavaScriptのオブジェクトからJSON文字列のデータに変換するには、<span class="marker-under">JSON.stringify()</span>関数を使用します。</p>



<p>本記事では基本的な使い方から、第2引数・第3引数の使用方法も含めてご紹介していきます！</p>



<div class="wp-block-sbd-checkpoint-block is-style-sbd-checkpoint-pink"><p class="sbd-checkpoint-title">この記事のポイント</p><div class="sbd-checkpoint-content sbd-inner-block-init"><p>・<span class="marker-under">JSON.<span class="marker-under">stringify</span>()</span>を使用してJavaScript→JSONデータのオブジェクトに変換<br>・第2・3引数は任意だが、<span class="marker-under">指定することでさまざまな設定が可能</span></div></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">構文</a></li><li><a href="#toc2" tabindex="0">使い方</a><ol><li><a href="#toc3" tabindex="0">JSONの文字列データに変換</a></li><li><a href="#toc4" tabindex="0">関数、または配列を指定して置き換え処理を実行</a></li><li><a href="#toc5" tabindex="0">関数、または配列を指定して置き換え処理を実行</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">構文</span></h2>



<pre class="wp-block-code javascript"><code>JSON.stringify(value&#91;, replacer&#91;, space]])</code></pre>



<p>第1引数：JSONの文字列データに変換するオブジェクト<br>第2引数：関数か配列を指定してJSONの置き換えを行う<br>第3引数：可読性を上げるため、JSONデータの項目の前にスペース等を設定可</p>



<h2 class="wp-block-heading"><span id="toc2">使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc3">JSONの文字列データに変換</span></h3>



<p>まずは第1引数だけ指定して、JavaScriptのオブジェクトをJSONデータに変換します。<br>オブジェクトでなくとも、値だけ引数を渡してもJSONデータに変換可能です。</p>



<pre class="wp-block-code javascript"><code>// '{"a":10,"b":20,"c":30}'
console.log(JSON.stringify({a:10, b:20, c:30}));

// 1項目目と2項目目は異なる型
// '&#91;true,"true"]'
console.log(JSON.stringify(&#91;new Boolean(true), new String('true')]));

// 値だけ
// "5"
console.log(JSON.stringify(5));</code></pre>



<p>実行結果</p>



<p>以下のようにそれぞれJSONの文字列データとして出力されます。</p>



<pre class="wp-block-code plaintext"><code>'{"a":10,"b":20,"c":30}'
'&#91;true,"true"]'
"5"</code></pre>



<h3 class="wp-block-heading"><span id="toc4">関数、または配列を指定して置き換え処理を実行</span></h3>



<p>第2引数は関数か配列を指定できます。</p>



<p>・keyとvalueの引数を持つ関数を指定することで<span class="marker-under">値を置き換えしたり、除外する</span>ことができます。</p>



<p>・配列を指定すると、<span class="marker-under">配列に指定されたkeyのみ含めた</span>JSON文字列のみ値を返します。</p>



<pre class="wp-block-code javascript"><code>function replacer(key, value){
  if(typeof value ==="string"){
      return undefined;
  }
  if(key === "c"){
      return value * 2;
  }
  return value;
}

// '{"a":10,"c":60}'
console.log(JSON.stringify({a:10, b:"test", c:30}, replacer));

// '{"b":"test","c":30}'
console.log(JSON.stringify({a:10, b:"test", c:30}, &#91;"b", "c"]));</code></pre>



<p>実行結果</p>



<p>1行目では<span class="marker-under">「key:b」が除外</span>され、<span class="marker-under">「key:c」のvalueが2倍</span>になっています。<br>2行目では<span class="marker-under">「key:a」が除外</span>されていることが分かりますね！</p>



<pre class="wp-block-code plaintext"><code>'{"a":10,"c":30}'
'{"b":"test","c":30}'</code></pre>



<h3 class="wp-block-heading"><span id="toc5">関数、または配列を指定して置き換え処理を実行</span></h3>



<p>第3引数を指定することで<span class="marker-under">JSONデータを成形する際のスペースや文字を入れる</span>ことができます。<br>※ 指定することで強制的に改行が入るので改行コードは不要になります。</p>



<p>ただし、このスペースや文字列は<span class="marker-under">10文字までしか設定できない</span>ため、文字列を10文字以上設定した場合は<span class="marker-under">先頭から10文字分設定</span>されます。</p>



<pre class="wp-block-code javascript"><code>console.log(JSON.stringify({a:10, b:20, c:30},undefined,5));

// 11で設定しているが、スペースは10個までしか反映されない
console.log(JSON.stringify({a:10, b:20, c:30},undefined,11));

console.log(JSON.stringify({a:10, b:20, c:30},undefined,"\t"));

// 11文字設定しているが、10文字までしか反映されない
console.log(JSON.stringify({a:10, b:20, c:30},undefined,"12345678901"));</code></pre>



<p>実行結果</p>



<pre class="wp-block-code plaintext"><code>'{
     "a": 10,
     "b": 20,
     "c": 30
}'
'{
          "a": 10,
          "b": 20,
          "c": 30
}'
'{
	"a": 10,
	"b": 20,
	"c": 30
}'
'{
1234567890"a": 10,
1234567890"b": 20,
1234567890"c": 30
}'</code></pre>



<p></p>



<p></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4739/">【サンプル】JavaScriptのオブジェクトからJSONデータに変換【JSON.stringify()】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/4739/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【サンプル】JSONデータをJavaScriptのオブジェクトに変換【JSON.parse()】</title>
		<link>https://nyanblog2222.com/programming/javascript/4723/</link>
					<comments>https://nyanblog2222.com/programming/javascript/4723/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 27 Aug 2022 13:34:41 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[parse]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4723</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/84.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/84.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/84-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/84-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/84-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />JSON文字列のデータからJavaScriptのオブジェクトに変換するには、JSON.parse()関数を使用します。 本記事では基本的な使い方から、第二引数の使用方法も含めてご紹介していきます！ 目次 構文使い方JSO [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4723/">【サンプル】JSONデータをJavaScriptのオブジェクトに変換【JSON.parse()】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/84.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/84.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/84-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/84-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/84-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>JSON文字列のデータからJavaScriptのオブジェクトに変換するには、<span class="marker-under">JSON.parse()</span>関数を使用します。</p>



<p>本記事では基本的な使い方から、第二引数の使用方法も含めてご紹介していきます！</p>



<div class="wp-block-sbd-checkpoint-block is-style-sbd-checkpoint-pink"><p class="sbd-checkpoint-title">この記事のポイント</p><div class="sbd-checkpoint-content sbd-inner-block-init"><p>・<span class="marker-under">JSON.parse()</span>を使用してJSONデータ→JavaScriptのオブジェクトに変換<br>・第2引数は任意だが、<span class="marker-under">オブジェクトを返す前に実行する処理</span>を設定が可能</div></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">構文</a></li><li><a href="#toc2" tabindex="0">使い方</a><ol><li><a href="#toc3" tabindex="0">JSONデータをJavaScriptのオブジェクトに変換</a></li><li><a href="#toc4" tabindex="0">JSONデータからオブジェクトを返す前に処理を実行</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">構文</span></h2>



<pre class="wp-block-code javascript"><code>JSON.parse(text&#91;, reviver])</code></pre>



<p>第1引数：JSONデータ形式の文字列<br>第2引数：値を返す前に実行する関数（コールバック関数）</p>



<p>第2引数に関数を指定することで、事前にJSONデータに処理を行った状態でオブジェクトにすることができます。</p>



<h2 class="wp-block-heading"><span id="toc2">使い方</span></h2>



<p>JSONデータは文字列（string）型なので、JavaScriptで扱いやすいようにJSON.parse()関数でObjectに変換してから使用します。</p>



<h3 class="wp-block-heading"><span id="toc3">JSONデータをJavaScriptのオブジェクトに変換</span></h3>



<p>まずは第1引数だけ指定してJavaScriptのオブジェクトに変換します。</p>



<pre class="wp-block-code javascript"><code>const data = '{"a":10, "b":20, "c":30 }';
const obj = JSON.parse(data);

// {a:10, b:20, c:30}
console.log(obj); 

// 20
console.log(obj.b);
</code></pre>



<p>実行結果</p>



<p>1行目はオブジェクト形式のデータが表示されます。</p>



<pre class="wp-block-code plaintext"><code>{a:10, b:20, c:30}
20</code></pre>



<h3 class="wp-block-heading"><span id="toc4">JSONデータからオブジェクトを返す前に処理を実行</span></h3>



<p>次に第2引数を指定します。<br>keyとvalueの引数を持つ関数を設定し、関数の戻り値が新しくvalueに設定されます。</p>



<p>ここでの例ではkey=&#8221;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;、valueは10, 20, 30になり、<br>keyが&#8221;b&#8221;の場合のみ、valueを2倍にして返す関数を設定します。</p>



<pre class="wp-block-code javascript"><code>const data = '{"a":10, "b":20, "c":30 }';
const obj = JSON.parse(data, function(key, value){
  if(key==="b"){
      return value * 2;
  }
  return value;
});

console.log(obj); </code></pre>



<p>実行結果でオブジェクトのbに40が設定されていることが確認できます。</p>



<pre class="wp-block-code plaintext"><code>{a:10, b:40, c:30}</code></pre>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4723/">【サンプル】JSONデータをJavaScriptのオブジェクトに変換【JSON.parse()】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/4723/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel VBA】初心者でも簡単にマクロを作る方法</title>
		<link>https://nyanblog2222.com/office/4621/</link>
					<comments>https://nyanblog2222.com/office/4621/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 10 Jul 2022 02:49:57 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4621</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/54.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/54.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、OfficeのExcel VBAで初心者でも簡単にマクロを作成する方法を紹介します。 もちろんプログラミング要素が０とは言いませんが、ほとんど知識なしでもできてしまう方法ですので、良かったらご参考にしてくださいね [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4621/">【Excel VBA】初心者でも簡単にマクロを作る方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/54.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/54.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、OfficeのExcel VBAで<span class="marker-under">初心者でも簡単に</span>マクロを作成する方法を紹介します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-2 sbs-stn sbp-r sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/themes/cocoon-master/images/woman.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Excelのマクロ（VBA）を使ったことがないし、当然プログラミングもしたことがない……<br>かといって１から勉強を始めるのもハードルが高いなぁ</p>
</div></div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>「マクロの記録」機能で作成したコードを利用すれば、初心者でも簡単にマクロを作成できますよ♪</p>
</div></div>



<p>もちろんプログラミング要素が０とは言いませんが、<br><span class="marker-under">ほとんど知識なしでもできてしまう</span>方法ですので、良かったらご参考にしてくださいね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-22" checked><label class="toc-title" for="toc-checkbox-22">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">元となるExcelを作成</a></li><li><a href="#toc2" tabindex="0">Excelをマクロ形式にする＆開発タブを追加する</a></li><li><a href="#toc3" tabindex="0">「マクロの記録」機能でベースコードを作成</a></li><li><a href="#toc4" tabindex="0">コードを適宜修正</a></li><li><a href="#toc5" tabindex="0">（必要であれば）マクロ実行のためのボタン等を作成する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">元となるExcelを作成</span></h2>



<p>まずはマクロを付与する元となるExcelを作成しましょう。</p>



<p>例えば、<span class="marker-under">「健康診断の日程」を社員の人数分印刷するケース</span>です。</p>



<p>以下のように、<br>まずVLOOKUP関数を利用して「印刷No」を変更するだけで内容を変えられるようにします。<br>（VLOOKUP関数の使い方については以下を参照してください♪）</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/office/4673/" title="【EXCEL】VLOOKUPの使い方（1と0の違い、#N/Aエラー等）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/55-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/55-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/55-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/55-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/55-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【EXCEL】VLOOKUPの使い方（1と0の違い、#N/Aエラー等）</div><div class="blogcard-snippet internal-blogcard-snippet">ExcelのVLOOKUP関数について、基本的な使い方として第4引数が「0/FALSE（完全一致）」の場合や「1/TRUE（近似値）」の場合、「#N/A」エラーのIFERROR関数を使った対処方法、使用時の注意事項などサンプルを交えて紹介します♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.07.18</div></div></div></div></a>
</div></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="482" src="https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b.png" alt="" class="wp-image-4624" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b-300x181.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b-768x463.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="482" src="https://nyanblog2222.com/wp-content/uploads/2022/07/3b54d6136af5b8c5ec451659008bb006.png" alt="" class="wp-image-4625" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/3b54d6136af5b8c5ec451659008bb006.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/3b54d6136af5b8c5ec451659008bb006-300x181.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/3b54d6136af5b8c5ec451659008bb006-768x463.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>さて、ここで一つ一つ「印刷No」に値を入れて印刷するを繰り返すのも面倒なので、<br><span class="marker-under">From～ToのNoの人へ一括して通知文を印刷したい！</span>とします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="482" src="https://nyanblog2222.com/wp-content/uploads/2022/07/f2d755ca5afeec10b4cae835d1bfc842.png" alt="" class="wp-image-4632" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/f2d755ca5afeec10b4cae835d1bfc842.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/f2d755ca5afeec10b4cae835d1bfc842-300x181.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/f2d755ca5afeec10b4cae835d1bfc842-768x463.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>ここで登場するのが<span class="marker-under">処理を自動化させるマクロ</span>です。次項から作成方法を説明していきます。</p>



<h2 class="wp-block-heading"><span id="toc2">Excelをマクロ形式にする＆開発タブを追加する</span></h2>



<p>前準備としてExcelをマクロ形式にしましょう。</p>



<p>名前を付けて保存する際に、「Excelマクロ有効ブック」を選択して保存します。<br>こうすることで、ファイルの拡張子が「<span class="marker-under">.xlsm</span>」となり、マクロを保存できるようになります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="531" src="https://nyanblog2222.com/wp-content/uploads/2022/07/d7eee8a115ec61a02ba55877f0190392-1.png" alt="" class="wp-image-4631" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/d7eee8a115ec61a02ba55877f0190392-1.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/d7eee8a115ec61a02ba55877f0190392-1-300x199.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/d7eee8a115ec61a02ba55877f0190392-1-768x510.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>次に、もしExcel上部に「開発タブ」が出ていなければ設定してあげましょう。<br><span class="marker-under">「開発タブ」からマクロの設定ができます</span>。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="185" src="https://nyanblog2222.com/wp-content/uploads/2022/07/eaa8a498444c6a26b01ab47fb7d4101f-1024x185.png" alt="" class="wp-image-4628" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/eaa8a498444c6a26b01ab47fb7d4101f-1024x185.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/07/eaa8a498444c6a26b01ab47fb7d4101f-300x54.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/eaa8a498444c6a26b01ab47fb7d4101f-768x139.png 768w, https://nyanblog2222.com/wp-content/uploads/2022/07/eaa8a498444c6a26b01ab47fb7d4101f.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="208" height="560" src="https://nyanblog2222.com/wp-content/uploads/2022/07/9cb32e5a5f0690e63034fc6137faa214.png" alt="" class="wp-image-4626" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/9cb32e5a5f0690e63034fc6137faa214.png 208w, https://nyanblog2222.com/wp-content/uploads/2022/07/9cb32e5a5f0690e63034fc6137faa214-111x300.png 111w" sizes="auto, (max-width: 208px) 100vw, 208px" /></figure>



<p>「開発」にチェックを入れるとタブが現れます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="742" src="https://nyanblog2222.com/wp-content/uploads/2022/07/3bec5d9f8c1b2bf38df5f52d97116d7d-1024x742.png" alt="" class="wp-image-4627" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/3bec5d9f8c1b2bf38df5f52d97116d7d-1024x742.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/07/3bec5d9f8c1b2bf38df5f52d97116d7d-300x217.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/3bec5d9f8c1b2bf38df5f52d97116d7d-768x557.png 768w, https://nyanblog2222.com/wp-content/uploads/2022/07/3bec5d9f8c1b2bf38df5f52d97116d7d.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">「マクロの記録」機能でベースコードを作成</span></h2>



<p>前項までで事前準備もできたため、早速マクロを作成していきましょう。</p>



<p>ただ、いきなりVBAのコードエディタを開き、１からコードを作成……、<br>なんてことをしてしまうと一気に難易度が高くなってしまうため、<br>今回はマクロの元となるベースコードを作成するため、Excelの「マクロの記録」という機能を使用します。</p>



<p><span class="marker-under">「マクロの記録」とは、その名の通りExcelの操作を記録する機能です。</span></p>



<p>やり方は以下の通り、まず「マクロの記録」をクリックします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="677" height="256" src="https://nyanblog2222.com/wp-content/uploads/2022/07/a09f36ed0fea6b266dc36f4a11b2e21b.png" alt="" class="wp-image-4633" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/a09f36ed0fea6b266dc36f4a11b2e21b.png 677w, https://nyanblog2222.com/wp-content/uploads/2022/07/a09f36ed0fea6b266dc36f4a11b2e21b-300x113.png 300w" sizes="auto, (max-width: 677px) 100vw, 677px" /></figure>



<p>適当にマクロ名を付けて保存します。<br>（プログラミング言語はアルファベットが基本なので、アルファベットで「動詞＋名詞」のような処理内容がわかる名前がおすすめです）</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="410" height="327" src="https://nyanblog2222.com/wp-content/uploads/2022/07/6ea49a6f4dd34c5e7aab10021536e5f3.png" alt="" class="wp-image-4635" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/6ea49a6f4dd34c5e7aab10021536e5f3.png 410w, https://nyanblog2222.com/wp-content/uploads/2022/07/6ea49a6f4dd34c5e7aab10021536e5f3-300x239.png 300w" sizes="auto, (max-width: 410px) 100vw, 410px" /></figure>



<p>「OK」を押すと記録が始まるので、記録したい処理を手作業で行います。</p>



<p>今回のケースだと、以下を記録してみましょう。<br><span class="marker-under">１．G2の値を変える<br>２．印刷する</span></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="482" src="https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b.png" alt="" class="wp-image-4624" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b-300x181.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/69e322f1d4cf1591233b4a2ac148bf4b-768x463.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>終わったら、記録終了します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="646" height="201" src="https://nyanblog2222.com/wp-content/uploads/2022/07/a35b6070bcceb2e6013ebb75771b809a.png" alt="" class="wp-image-4636" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/a35b6070bcceb2e6013ebb75771b809a.png 646w, https://nyanblog2222.com/wp-content/uploads/2022/07/a35b6070bcceb2e6013ebb75771b809a-300x93.png 300w" sizes="auto, (max-width: 646px) 100vw, 646px" /></figure>



<p>これで記録できました！<br>マクロボタンをおして、編集を押すと……。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="677" height="256" src="https://nyanblog2222.com/wp-content/uploads/2022/07/35ace0c09ad7e6536ab63259734abcce.png" alt="" class="wp-image-4637" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/35ace0c09ad7e6536ab63259734abcce.png 677w, https://nyanblog2222.com/wp-content/uploads/2022/07/35ace0c09ad7e6536ab63259734abcce-300x113.png 300w" sizes="auto, (max-width: 677px) 100vw, 677px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="520" height="415" src="https://nyanblog2222.com/wp-content/uploads/2022/07/9c305a14ef71c3e6d2b4fc055a291933.png" alt="" class="wp-image-4638" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/9c305a14ef71c3e6d2b4fc055a291933.png 520w, https://nyanblog2222.com/wp-content/uploads/2022/07/9c305a14ef71c3e6d2b4fc055a291933-300x239.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /></figure>



<p>このように、マクロのベースとなるコードができましたね♪</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="308" src="https://nyanblog2222.com/wp-content/uploads/2022/07/648a3305233876d3267a00b01c1642a0-1.png" alt="" class="wp-image-4634" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/648a3305233876d3267a00b01c1642a0-1.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/648a3305233876d3267a00b01c1642a0-1-300x116.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/648a3305233876d3267a00b01c1642a0-1-768x296.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>コードを見て、<br><span class="bold-red">・G2を選ぶ<br>・値（2）を入れる<br>・エンターを押したためG3が選ばれる<br>・印刷する</span></p>



<p>という処理内容になっていることがなんとなく分かれば、マクロ作成は難しくありません！<br>分からなくても、いくつかやっているとなんとなく分かってきますのでご安心を。</p>



<p>また、もし、<span class="marker-under">同じ作業をするだけなら次項のコードの修正は不要</span>なので飛ばしてくださいね♪</p>



<h2 class="wp-block-heading"><span id="toc4">コードを適宜修正</span></h2>



<p>前項にてベースコードができましたので、以下のとおり適宜修正していきます。</p>



<p>・G2を選ぶ　→　<span class="marker-under">必要</span><br>・値（2）を入れる　→　<span class="marker-under">値にFromToの内容を反映させれるようにする</span><br>・エンターを押したためG3が選ばれる　→　<span class="marker-under-red">G3を選ぶ必要はないため不要</span><br>・印刷する　→　<span class="marker-under">必要</span><br><span class="marker-under"><span class="bold-red">◎上記をFromToの間だけ繰り返す！</span></span></p>



<p>ここでややこしいプログラミングの知識は一つだけで、<span class="marker-under">「繰り返す」</span>ということです。</p>



<p>繰り返すには<span class="marker-under">「For～Next」</span>というコードを使います。<br>このコードは、マクロを作るうえではとても重要なもので、<br>逆にこれだけ覚えていたら、簡易なマクロであればなんとなくの雰囲気だけで作れちゃったりします。</p>



<pre class="wp-block-code basic"><code>For start To end
     処理
Next</code></pre>



<p>上記の通りstartからendまで、処理を繰り返します。<br>startの値は一度繰り返すごとに1ずつ増えていき、startの値は処理内で使用することができます。</p>



<p>では、実際に作ってみたコードがこちらです。</p>



<pre class="wp-block-code basic"><code>Sub PrintFromTo()
　→　マクロ名（関数）
'
' PrintFromTo Macro
'
    Range("G2").Select　→　G2を選ぶ
    
    For i = Range("G5").Value To Range("H5").Value
　　→　iという変数（入れ物）に入れたG5の値からH5の値まで繰り返す
        ActiveCell.FormulaR1C1 = i　→　選んだG2へiの値を入れる
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False　→　印刷する
    Next　→　iの値を1プラスしてForに戻る

End Sub　→　マクロを終了する
</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="322" src="https://nyanblog2222.com/wp-content/uploads/2022/07/51dc45b84de97685dbfb9176035b2bbd-1.png" alt="" class="wp-image-4640" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/51dc45b84de97685dbfb9176035b2bbd-1.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/51dc45b84de97685dbfb9176035b2bbd-1-300x121.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/51dc45b84de97685dbfb9176035b2bbd-1-768x309.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>これでコーディングは終了です。初めてでもなんとなく理解できたら幸いです。</p>



<p>できたらコードエディタを右上の×で閉じて、マクロを実行してみましょう。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="520" height="415" src="https://nyanblog2222.com/wp-content/uploads/2022/07/814b1d1afbc47066017eec59861efe1a.png" alt="" class="wp-image-4644" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/814b1d1afbc47066017eec59861efe1a.png 520w, https://nyanblog2222.com/wp-content/uploads/2022/07/814b1d1afbc47066017eec59861efe1a-300x239.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /></figure>



<p>想定通り、繰り返し印刷できていたら成功です！</p>



<h2 class="wp-block-heading"><span id="toc5">（必要であれば）マクロ実行のためのボタン等を作成する</span></h2>



<p>前項のとおりマクロができましたが、毎回マクロの画面を開いて実行と押すのも非効率なので、<br>必要であればボタン等装飾してみるのもおすすめです。</p>



<p>今回は、<span class="marker-under">ボタンを押すと設定したマクロが実行</span><span class="marker-under">できる</span>ようにしてみましょう。</p>



<p>まず、図形から丸みを帯びた四角のボタンを作成します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="497" height="261" src="https://nyanblog2222.com/wp-content/uploads/2022/07/bd4d3e7e9141968ca22596f44e41e27f.png" alt="" class="wp-image-4641" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/bd4d3e7e9141968ca22596f44e41e27f.png 497w, https://nyanblog2222.com/wp-content/uploads/2022/07/bd4d3e7e9141968ca22596f44e41e27f-300x158.png 300w" sizes="auto, (max-width: 497px) 100vw, 497px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="448" src="https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2.png" alt="" class="wp-image-4642" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2.png 800w, https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2-300x168.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2-768x430.png 768w, https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/07/eea1bf3b61aabeee12caf59721aabfb2-376x212.png 376w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>次にボタンを右クリックし、「マクロの登録」を押すと、<br>以下のように登録画面が出てきますので、作成したマクロを選択しましょう。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="516" height="415" src="https://nyanblog2222.com/wp-content/uploads/2022/07/77698daa3bb73a776966e35694b4ab42.png" alt="" class="wp-image-4643" srcset="https://nyanblog2222.com/wp-content/uploads/2022/07/77698daa3bb73a776966e35694b4ab42.png 516w, https://nyanblog2222.com/wp-content/uploads/2022/07/77698daa3bb73a776966e35694b4ab42-300x241.png 300w" sizes="auto, (max-width: 516px) 100vw, 516px" /></figure>



<p>これで<span class="marker-under">マクロボタンの作成についても完了</span>です。</p>



<p>どうでしょう、わりと簡単だったなと思っていただけると嬉しいです。<br>少し難しいと思っても数回やってみると、<br>「ふ～ん、こんな感じか」と慣れてくると思いますので、是非チャレンジしてみてくださいね！</p>



<p>以上です。<br>今回の記事が何かの参考になれば幸いです。ありがとうございました♪</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4621/">【Excel VBA】初心者でも簡単にマクロを作る方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/4621/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者】簡単！vue.jsで電卓の作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/4571/</link>
					<comments>https://nyanblog2222.com/programming/javascript/4571/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 10 Mar 2022 12:40:12 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[vue.js]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[初心者向け]]></category>
		<category><![CDATA[計算機]]></category>
		<category><![CDATA[電卓]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4571</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />前回はJavaScriptで電卓を作成しました。今回は前回作成した電卓を元にvue.jsに書き換えしてみましょう。 前回の記事はこちらから！ 目次 はじめに電卓の機能HTMLvue.jsの設定 → CDNでの設定電卓の各 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4571/">【初心者】簡単！vue.jsで電卓の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>前回はJavaScriptで電卓を作成しました。<br>今回は前回作成した電卓を元にvue.jsに書き換えしてみましょう。</p>



<p>前回の記事はこちらから！</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://nyanblog2222.com/programming/javascript/4496/" title="【初心者】簡単！JavaScriptで電卓の作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/61-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者】簡単！JavaScriptで電卓の作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JSで四則演算や小数点の計算ができる簡易的な電卓を作成。持たせる機能から作り方の考え方までHTML,CSSソースやデモページ付きで解説しているので、プログラミングの勉強や参考に！デモページあり。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.03.06</div></div></div></div></a>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-popular">

<a href="https://nyanblog2222.com/programming/javascript/2749/" title="【初心者向け】JavaScriptでカレンダー作成【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】JavaScriptでカレンダー作成【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）でカレンダーをライブラリなしで作り方を紹介。前月、次月を含めた1週間表示や日付の値を取得する方法をHTML,CSSソースやデモページ付きで解説！プログラミング初心者の方へ勉強や参考に！</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.01.07</div></div></div></div></a>
</div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-24" checked><label class="toc-title" for="toc-checkbox-24">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a><ol><li><a href="#toc2" tabindex="0">電卓の機能</a></li></ol></li><li><a href="#toc3" tabindex="0">HTML</a><ol><li><a href="#toc4" tabindex="0">vue.jsの設定 → CDNでの設定</a></li><li><a href="#toc5" tabindex="0">電卓の各ボタンをv-forで自動作成</a></li><li><a href="#toc6" tabindex="0">クリックイベント書き換え</a></li><li><a href="#toc7" tabindex="0">vue使用のためv-model、idの設定</a></li></ol></li><li><a href="#toc8" tabindex="0">JavaScript</a></li><li><a href="#toc9" tabindex="0">デモ</a></li><li><a href="#toc10" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>まずはじめに<a href="https://nyanblog2222.com/programming/javascript/4496/" target="_blank">前回でも</a>説明しましたが、電卓の機能を説明します。<br>その後、vue.jsに書き換える手順を説明します。</p>



<p>また、CSSに関しては前回の記事より変更がありませんので今回は割愛させていただきます。</p>



<h3 class="wp-block-heading"><span id="toc2">電卓の機能</span></h3>



<p>作る電卓の機能は次のとおりです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ul class="wp-block-list"><li>四則演算ができる</li><li>Cキーで初期化</li><li>＝で計算した後<br>数字の場合、初期化したあと数字入力<br>演算子の場合、結果はそのまま使用</li><li>最初のキーが”0”、&#8221;.&#8221;、&#8221;+-×/&#8221;の場合、<br>あらかじめ0が入力されている前提で式に入力</li></ul>
</div>



<p>完成イメージはこちらです。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304.png" alt="" class="wp-image-4515" srcset="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304.png 450w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-300x300.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-150x150.png 150w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-100x100.png 100w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">HTML</span></h2>



<p>HTMLコードです。</p>



<pre class="wp-block-code html"><code>&lt;head>
  &lt;meta charset="UTF-8">
  &lt;title>電卓&lt;/title>
  &lt;link rel="icon" href="https://nyanblog2222.com/wp-content/themes/blogtemplate/images/favicon.ico">
  &lt;link rel="stylesheet" href="reset.css">
  &lt;link rel="stylesheet" href="style.css">
  &lt;script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js">&lt;/script>
  &lt;script src="script.js">&lt;/script>
&lt;/head>

&lt;body>
  &lt;div id="app">
    &lt;h1 id="header">電卓&lt;/h1>
    &lt;div id="calc">
      &lt;div>
        &lt;input readonly v-model="result" type="text">&lt;button v-on:click="c_click">C&lt;/button>
      &lt;/div>
      &lt;div v-for="row in dataArrays">
        &lt;button v-for="column in row" v-on:click="btn_Click(column)">{{column}}&lt;/button>
      &lt;/div>
    &lt;/div>
  &lt;/div>
&lt;/body></code></pre>



<h3 class="wp-block-heading"><span id="toc4">vue.jsの設定 → CDNでの設定</span></h3>



<pre class="wp-block-code html"><code>&lt;head>
  &lt;meta charset="UTF-8">
  &lt;title>電卓&lt;/title>
  &lt;link rel="stylesheet" href="reset.css">
  &lt;link rel="stylesheet" href="style.css">
  &lt;script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js">&lt;/script>
  &lt;script src="script.js">&lt;/script>
&lt;/head></code></pre>



<p>今回vueを使用するため、6行目にheadタグにCDN設定を追加しました。</p>



<p>注意する点として、<span class="marker-under">他のJavaScriptファイルを読み込む前にCDN設定するように</span>してください。</p>



<p>また、<a rel="noopener" href="https://jp.vuejs.org/v2/guide/installation.html" target="_blank">vue.jsのインストールや最新環境のCDNの情報はこちらから確認してください♪</a></p>



<h3 class="wp-block-heading"><span id="toc5">電卓の各ボタンをv-forで自動作成</span></h3>



<pre class="wp-block-code html"><code>&lt;div v-for="row in dataArrays">
  &lt;button v-for="column in row" v-on:click="btn_Click(column)">{{column}}&lt;/button>
&lt;/div></code></pre>



<pre class="wp-block-code javascript"><code>// 電卓のボタン
dataArrays: &#91;
  &#91;"7", "8", "9", "÷"],
  &#91;"4", "5", "6", "×"],
  &#91;"1", "2", "3", "-"],
  &#91;"0", ".", "=", "+"],
],</code></pre>



<p>Cボタン以外は<span class="marker-under">vueで自動生成</span>させます。<br>ボタンの順番やデータはJavaScript側で記述します。</p>



<p><span class="marker-under">divタグはデータ1行単位でforを回し、buttonタグは1項目（1データ）単位で回して</span>います。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>dataArrayと完成イメージ図を見比べると分かりやすいと思います！</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc6">クリックイベント書き換え</span></h3>



<p>クリックイベント「onclick」を「v-on:click」に置換します。</p>



<h3 class="wp-block-heading"><span id="toc7">vue使用のためv-model、idの設定</span></h3>



<p>inputタグのidを設定していましたが、v-modelでの設定に変更。<br>divのid=&#8221;app&#8221;を設定。</p>



<h2 class="wp-block-heading"><span id="toc8">JavaScript</span></h2>



<p>こちらがJavaScriptのコードです。</p>



<p>scriptファイルを分けているので、<span class="marker-under">「window.onload」でhtmlの読み込みが終わってから実行する</span>ようにしています。</p>



<pre class="wp-block-code javascript"><code>window.onload = function () {
  new Vue({
    el: '#app',
    data: {
      result: "0",
      is_calc: false,
      dataArrays: &#91;
        &#91;"7", "8", "9", "÷"],
        &#91;"4", "5", "6", "×"],
        &#91;"1", "2", "3", "-"],
        &#91;"0", ".", "=", "+"],
      ],
      operators_list: &#91;"÷", "×", "-", "+"  ],
    },
    methods: {
      c_click: function () {
        this.result = "0";
        this.is_calc = false;
      },
      btn_Click: function (val) {
        if (this.operators_list.includes(val)) {
          this.ope_click(val);
        } else if (val === "=") {
          this.equal_click();
        } else {
          this.num_click(val);
        }
      },
      num_click: function (val) {
        if (this.is_calc) this.result = "0";
        this.is_calc = false;

        if (this.result == "0" &amp;&amp; val == "0") {
          this.result = "0";
        } else if (this.result == "0" &amp;&amp; val == ".") {
          this.result = "0.";
        } else if (this.result == "0") {
          this.result = val;
        } else {
          this.result += val;
        }
      },
      ope_click: function (val) {
        if (this.is_calc) this.is_calc = false;

        if (this.is_ope_last()) {
          this.result = this.result.slice(0, -1) + val;
        } else {
          this.result += val;
        }
      },
      equal_click: function () {
        if (this.is_ope_last()) this.result = this.result.slice(0, -1);

        var temp = new Function("return " + this.result.replaceAll("×", "*").replaceAll("÷", "/"))();
        if (temp == Infinity || Number.isNaN(temp)) {
          this.result = "Error";
        } else {
          this.result = temp;
          this.is_calc = true;
        }
      },
      is_ope_last: function () {
        return this.operators_list.includes(this.result.toString().slice(-1));
      },
    },
  });
};</code></pre>



<h2 class="wp-block-heading"><span id="toc9">デモ</span></h2>



<p><a href="https://nyanblog2222.com/demo/calc_vue1/">こちらがデモページ</a>になります。<br>電卓が表示され、ボタンを押すと実際に計算ができるのでぜひ試してみてください♪</p>



<h2 class="wp-block-heading"><span id="toc10">最後に</span></h2>



<p>いかがでしたでしょうか。vue.jsも主流になっていますので使いこなしていきたいですね！</p>



<p>良ければ別のサンプルページも見てみてくださいね♪</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-together">

<a href="https://nyanblog2222.com/programming/javascript/2749/" title="【初心者向け】JavaScriptでカレンダー作成【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】JavaScriptでカレンダー作成【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）でカレンダーをライブラリなしで作り方を紹介。前月、次月を含めた1週間表示や日付の値を取得する方法をHTML,CSSソースやデモページ付きで解説！プログラミング初心者の方へ勉強や参考に！</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.01.07</div></div></div></div></a>
</div>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/4571/">【初心者】簡単！vue.jsで電卓の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/4571/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者】簡単！JavaScriptで電卓の作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/4496/</link>
					<comments>https://nyanblog2222.com/programming/4496/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 06 Mar 2022 14:50:45 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[初心者向け]]></category>
		<category><![CDATA[計算機]]></category>
		<category><![CDATA[電卓]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4496</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はJavaScriptで電卓を作成しました。初心者の方が勉強しやすいシンプルな機能で作ってみました。 まずは簡単なものを完成することを目的にして、そのあとで機能を追加していくことが勉強するにはおすすめですよ♪ 別記事 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/4496/">【初心者】簡単！JavaScriptで電卓の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はJavaScriptで電卓を作成しました。<br>初心者の方が勉強しやすいシンプルな機能で作ってみました。</p>



<p>まずは<span class="marker-under">簡単なものを完成することを目的</span>にして、<br>そのあとで<span class="marker-under">機能を追加していくことが勉強する</span>にはおすすめですよ♪</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>初めから難しいものを作ろうとしても時間がかかって、その内やる気がなくなるのは勿体ないですよね…。（よくある）</p>
</div></div>



<p>別記事でVue.jsを使った記述も紹介しますので、合わせて読んでみてください！</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-together">

<a href="https://nyanblog2222.com/programming/javascript/4571/" title="【初心者】簡単！vue.jsで電卓の作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/61-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者】簡単！vue.jsで電卓の作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JS[JavaScript]で四則演算ができる簡易的な計算機を作成しました。プログラミング初心者の方への勉強向け記事になりますのでデモページを見ながらコード、関数を見ながら作成してみてはいかがでしょうか。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.03.10</div></div></div></div></a>
</div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-26" checked><label class="toc-title" for="toc-checkbox-26">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">HTML</a><ol><li><a href="#toc3" tabindex="0">コード</a></li><li><a href="#toc4" tabindex="0">HTML解説</a></li></ol></li><li><a href="#toc5" tabindex="0">CSS</a></li><li><a href="#toc6" tabindex="0">JavaScript</a><ol><li><a href="#toc7" tabindex="0">コード</a></li><li><a href="#toc8" tabindex="0">解説</a><ol><li><a href="#toc9" tabindex="0">・グローバル変数の定義</a></li><li><a href="#toc10" tabindex="0">・HTML読み込み後</a></li><li><a href="#toc11" tabindex="0">・Cボタンクリック</a></li><li><a href="#toc12" tabindex="0">・数字ボタンクリック</a></li><li><a href="#toc13" tabindex="0">・演算子ボタンクリック</a></li><li><a href="#toc14" tabindex="0">・＝ボタンクリック</a></li><li><a href="#toc15" tabindex="0">・is_ope_last() 関数</a></li></ol></li></ol></li><li><a href="#toc16" tabindex="0">デモ</a></li><li><a href="#toc17" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>まずは<span class="marker-under">今回作成する電卓の機能を決定</span>します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>コーディングする前に機能を決定しておくことは、手戻りを防ぐためにも大事ですね♪</p>
</div></div>



<p>今回は次の機能を持たせました。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ul class="wp-block-list">
<li>四則演算ができる</li>



<li>Cキーで初期化</li>



<li>＝で計算した後<br>数字の場合、初期化したあと数字入力<br>演算子の場合、結果はそのまま使用</li>



<li>最初のキーが”0”、&#8221;.&#8221;、&#8221;+-×/&#8221;の場合、<br>あらかじめ0が入力されている前提で式に入力</li>
</ul>
</div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>今回はこのまま進みますが、機会があればアップデートしていきたいですね♪</p>
</div></div>



<p>完成イメージ図はこちらです。<a href="https://nyanblog2222.com/demo/calc1/">デモページ</a>もありますので見てみてください。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304.png" alt="" class="wp-image-4515" srcset="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304.png 450w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-300x300.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-150x150.png 150w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-100x100.png 100w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">HTML</span></h2>



<p>まずはHTMLを作成していきます。<br>作成しているのは、次の3つです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-brown-border-color">
<ul class="wp-block-list">
<li>ヘッダー<br>「電卓」の文字</li>



<li>計算の表示枠</li>



<li>数字や演算子 ボタン</li>
</ul>
</div>



<h3 class="wp-block-heading"><span id="toc3">コード</span></h3>



<pre class="wp-block-code html"><code>&lt;div class="wrapper"&gt;
  &lt;h1 id="header"&gt;電卓&lt;/h1&gt;
  &lt;div id="calc"&gt;
    &lt;div&gt;
      &lt;input readonly id="result" type="text" value="0"&gt;
      &lt;button onclick="c_click()"&gt;C&lt;/button&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;7&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;8&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;9&lt;/button&gt;
      &lt;button onclick="ope_click(this.innerHTML)"&gt;÷&lt;/button&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;4&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;5&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;6&lt;/button&gt;
      &lt;button onclick="ope_click(this.innerHTML)"&gt;×&lt;/button&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;1&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;2&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;3&lt;/button&gt;
      &lt;button onclick="ope_click(this.innerHTML)"&gt;-&lt;/button&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;0&lt;/button&gt;
      &lt;button onclick="num_click(this.innerHTML)"&gt;.&lt;/button&gt;
      &lt;button onclick="equal_click()"&gt;=&lt;/button&gt;
      &lt;button onclick="ope_click(this.innerHTML)"&gt;+&lt;/button&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p><span class="marker-under">input後のbuttonや、button後のbutton</span>について<br>分かりやすいように改行を入れていますが、<span class="marker-under">実際のコードでは改行していない</span>ので注意してください。</p>
</div></div>



<p>HTMLファイルを見てみると画像のように表示されます。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304_2.png" alt="" class="wp-image-4522" srcset="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304_2.png 450w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304_2-300x300.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304_2-150x150.png 150w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304_2-100x100.png 100w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>



<h3 class="wp-block-heading"><span id="toc4">HTML解説</span></h3>



<ul class="wp-block-list">
<li>5行目　input要素<br>・readonly属性にして直接入力不可<br>・計算式や結果を表示するためid=&#8221;result&#8221;を設定<br>・valueを0にして初期表示</li>



<li>6行目　Cボタン<br>onclick属性で&#8221;c_click()&#8221;を設定</li>



<li>数字ボタン<br>onclick属性で&#8221;num_click(this.innerHTML)&#8221;を設定<br>this.innerHTMLはHTMLの中身を表しています。<br>例）9行目であれば&#8221;7&#8243;が入ります。</li>



<li>演算子ボタン<br>onclick属性で&#8221;ope_click(this.innerHTML)&#8221;を設定</li>



<li>29行目　イコールボタン<br>onclick属性で&#8221;equal_click()&#8221;を設定</li>
</ul>



<h2 class="wp-block-heading" id="block-9c55e8b0-4699-44c9-8292-f6eb513518f3"><span id="toc5">CSS</span></h2>



<p id="block-5cb743a1-2754-4c53-9351-04a5a1df0cb0">次にCSSでスタイルを決定します。<br>”reset.css”も使っているので、この辺りは好きなようにカスタマイズをしてください。</p>



<pre class="wp-block-code css"><code>@charset "utf-8";
/*全体*/
.wrapper{
  max-width: 350px;
  margin: 0 auto;
  color: #666;
}
#header,#calc{
  box-sizing: border-box;
  text-align: center;
}
/*ヘッダー*/
#header {
  font-size: 24px;
  padding: 1rem;
}
/*テキスト*/
input{
  box-sizing: border-box;
  width: 75%;
  height: 3.5rem;
  font-size: 1.6rem;
  text-align: right;
  padding: 0 0.75rem;
}
/*ボタン関係*/
button{
  font-size: 18px;
  width: 25%;
  height: 3.5rem;
  color: #333;
  vertical-align: middle;
  border-color: #fff;
}
button:hover{
  background-color: #ddd;
}
</code></pre>



<p>設定が終わると、このように表示されるようになります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304.png" alt="" class="wp-image-4515" srcset="https://nyanblog2222.com/wp-content/uploads/2022/03/20220304.png 450w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-300x300.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-150x150.png 150w, https://nyanblog2222.com/wp-content/uploads/2022/03/20220304-100x100.png 100w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>



<h2 class="wp-block-heading"><span id="toc6">JavaScript</span></h2>



<h3 class="wp-block-heading"><span id="toc7">コード</span></h3>



<p>次項で詳しく解説していますが、コメントでも多少記述しています。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>最初はコピペして自分で理解しながらカスタマイズする方法も勉強するのに向いていますよ！</p>
</div></div>



<pre class="wp-block-code javascript"><code>// データ
var result = "";
// =で計算したかどうか
var is_calc = false;

// 初期表示
window.onload = function () {
  result = document.getElementById('result');
};

// Cキー押下
function c_click(){
  result.value = "0";
  is_calc = false;
}

// 数字キー押下
function num_click(val){
  if(is_calc)  result.value = "0";
  is_calc = false;  

  if(result.value =="0" &amp;&amp; val == "0"){
    result.value = "0";
  }else if(result.value == "0" &amp;&amp; val == "."){
    result.value = "0.";
  }else if(result.value == "0"){
    result.value = val;
  }else{
    result.value += val;
  }
}

// 演算子キー押下
function ope_click(val){
  if(is_calc)  is_calc = false;
  
  if(is_ope_last()){
    result.value = result.value.slice(0, -1) + val;
  } else {
    result.value += val;
  }
}

// =キークリック
function equal_click(){
  if(is_ope_last())  result.value = result.value.slice(0, -1);

  var temp = new Function("return " + result.value.replaceAll("×", "*").replaceAll("÷", "/"))();
  if(temp == Infinity || Number.isNaN(temp)){
    result.value = "Error";
  }else{
    result.value = temp;
    is_calc = true;
  }
}

// 入力されている値が演算子かどうか
function is_ope_last(){
  return &#91;"+","-","×","÷"].includes(result.value.toString().slice(-1));
}
</code></pre>



<h3 class="wp-block-heading"><span id="toc8">解説</span></h3>



<p>先述したコードに対して細かく解説していきます！</p>



<h4 class="wp-block-heading"><span id="toc9">・グローバル変数の定義</span></h4>



<p>2つの変数を定義、初期化しています。<br>result変数はhtmlの<span class="marker-under">id=&#8221;ressult&#8221;</span>と紐づけします。</p>



<pre class="wp-block-code javascript"><code>// 表示させるデータ
var data = "";
// =で計算したかどうか
var is_calc = false;</code></pre>



<h4 class="wp-block-heading"><span id="toc10">・HTML読み込み後</span></h4>



<p>HTML読み込み後、<span class="marker-under">id&#8221;result&#8221;と変数のresultを紐づけ</span>しています。</p>



<pre class="wp-block-code javascript"><code>window.onload = function () {
  result = document.getElementById('result');
};</code></pre>



<h4 class="wp-block-heading"><span id="toc11">・Cボタンクリック</span></h4>



<p>Cボタンクリック時のイベントを記述しています。<br>ここでは変数の初期化を行っています。</p>



<pre class="wp-block-code javascript"><code>function c_click(){
  result.value = "0";
  is_calc = false;
}</code></pre>



<h4 class="wp-block-heading"><span id="toc12">・数字ボタンクリック</span></h4>



<p>数字ボタンクリック時のイベントを記述しています。</p>



<pre class="wp-block-code javascript"><code>function num_click(val){
  if(is_calc)  result.value = "0";
  is_calc = false;  

  if(result.value =="0" &amp;&amp; val == "0"){
    result.value = "0";
  }else if(result.value == "0" &amp;&amp; val == "."){
    result.value = "0.";
  }else if(result.value == "0"){
    result.value = val;
  }else{
    result.value += val;
  }
}</code></pre>



<ul class="wp-block-list">
<li>2、3行目<br>1度&#8221;＝&#8221;で計算済みの場合、数字ボタンを押したら<span class="marker-under">resultを初期化</span>します。<br><span class="bold">is_calcはfalse</span>にします。</li>



<li>5～13行目<br>入力した数字によって<span class="marker-under">resultの処理</span>を行います。<br>・1つ目の条件は初期化後、&#8221;0&#8243;が入力された場合、resultに&#8221;0&#8243;を設定<br>・2つ目の条件は初期化後、&#8221;.&#8221;が入力された場合、resultに&#8221;0.&#8221;を設定<br>・3つ目の条件は初期化後、上記以外の数字が入力された場合、resultに入力値を設定<br>・それ以外は直接resultに入力値を追加</li>
</ul>



<h4 class="wp-block-heading"><span id="toc13">・演算子ボタンクリック</span></h4>



<p>演算子ボタンクリック時のイベントを記述しています。</p>



<pre class="wp-block-code javascript"><code>function ope_click(val){
  if(is_calc)  is_calc = false;
  
  if(is_ope_last()){
    result.value = result.value.slice(0, -1) + val;
  } else {
    result.value += val;
  }
}</code></pre>



<ul class="wp-block-list">
<li>2行目<br><span class="marker-under">is_calcがtrueの場合があるのでfalse</span>にします</li>



<li>4～8行目<br>条件によって計算式の処理を変えています。<br>1つ目の条件では、<span class="marker-under">直前のボタンが演算子の場合、演算子を切り替え</span>ます。<br>それ以外では、<span class="marker-under">計算式に入力した演算子を付け加え</span>ます。</li>
</ul>



<pre class="wp-block-code javascript"><code>// 1つ目の条件：例
// 直前の計算式
9×6+
// 押したボタン
-
// 演算子切り替え後
9×6-</code></pre>



<h4 class="wp-block-heading"><span id="toc14">・＝ボタンクリック</span></h4>



<p>＝ボタンクリック時のイベントを記述しています。</p>



<pre class="wp-block-code javascript"><code>function equal_click(){
  if(is_ope_last())  result.value = result.value.slice(0, -1);

  var temp = new Function("return " + result.value.replaceAll("×", "*").replaceAll("÷", "/"))();

  if(temp == Infinity || Number.isNaN(temp)){
    result.value = "Error";
  }else{
    result.value = temp;
    is_calc = true;
  }
}</code></pre>



<ul class="wp-block-list">
<li>2行目<br>計算式の最後が演算子の場合、<span class="marker-under">演算子を取り除き</span>ます。</li>



<li>4行目<br><span class="marker-under">変数tempに計算式の計算結果を設定</span>します。</li>



<li>7～9行目<br>計算結果がInfinity（無限大）かNaN（数字出ない）場合、<span class="marker-under">resultにErrorを設定</span>します。</li>



<li>8～11行目<br><span class="marker-under">tempの値をresultに設定し、計算済み（is_calc）フラグをtrue</span>にします。</li>
</ul>



<h4 class="wp-block-heading"><span id="toc15">・is_ope_last() 関数</span></h4>



<p><span class="bold-red">計算式の最後が演算子か判定する</span>関数です。<br>「result.value.toString().slice(-1)」は計算式の最後の文字を取得し、<br>「[&#8220;+&#8221;,&#8221;-&#8220;,&#8221;×&#8221;,&#8221;÷&#8221;].includes(&#8230;」で<span class="marker-under">4つの演算子と一致するかどうかbool型で返して</span>います。</p>



<pre class="wp-block-code javascript"><code>function is_ope_last(){
  return &#91;"+","-","×","÷"].includes(result.value.toString().slice(-1));
}
</code></pre>



<h2 class="wp-block-heading"><span id="toc16">デモ</span></h2>



<p><a href="https://nyanblog2222.com/demo/calc1/">こちらがデモページ</a>になります。<br>電卓が表示され、ボタンを押すと実際に計算ができるのでぜひ試してみてください♪</p>



<h2 class="wp-block-heading"><span id="toc17">最後に</span></h2>



<p>いかがでしたでしょうか。<br>次回はvue.jsに書き換えしてみます！</p>



<p>良ければ別のサンプルページも見てみてくださいね♪</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-together">

<a href="https://nyanblog2222.com/programming/javascript/4571/" title="【初心者】簡単！vue.jsで電卓の作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/61-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/61-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/61-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者】簡単！vue.jsで電卓の作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JS[JavaScript]で四則演算ができる簡易的な計算機を作成しました。プログラミング初心者の方への勉強向け記事になりますのでデモページを見ながらコード、関数を見ながら作成してみてはいかがでしょうか。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.03.10</div></div></div></div></a>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-together">

<a href="https://nyanblog2222.com/programming/javascript/4717/" title="【サンプル】JavaScriptのコードまとめリンク集" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/85-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/85-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【サンプル】JavaScriptのコードまとめリンク集</div><div class="blogcard-snippet internal-blogcard-snippet">本記事では当ブログで上げているJavaScript記事のまとめリンク集になります。目次でカテゴリ分けをしているので、気になる内容がありましたら目次から飛んでみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.09.01</div></div></div></div></a>
</div>
<p>投稿 <a href="https://nyanblog2222.com/programming/4496/">【初心者】簡単！JavaScriptで電卓の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/4496/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】If文を一行で記述する方法【Access,Excel】</title>
		<link>https://nyanblog2222.com/office/4329/</link>
					<comments>https://nyanblog2222.com/office/4329/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 11 Dec 2021 14:25:03 +0000</pubDate>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[If]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4329</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はOfficeのVBAで、If文を一行で記述する方法を紹介します。 目次 If文を一行で記述する方法そもそも、一行で書いた方が良い？ If文を一行で記述する方法 If文は通常、以下のように記述します。 これを一行で書 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4329/">【VBA】If文を一行で記述する方法【Access,Excel】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/48.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/48-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は<span class="marker-under">OfficeのVBAで、If文を一行で記述する方法</span>を紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-28" checked><label class="toc-title" for="toc-checkbox-28">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">If文を一行で記述する方法</a></li><li><a href="#toc2" tabindex="0">そもそも、一行で書いた方が良い？</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">If文を一行で記述する方法</span></h2>



<p>If文は通常、以下のように記述します。</p>



<pre class="wp-block-code basic"><code>If ( 条件式 ) Then
    処理
End If</code></pre>



<p>これを一行で書くと、以下のようなコードになります。<br>※<span class="marker-under">「End If」を記述しないことで、実現できます</span></p>



<pre class="wp-block-code basic"><code>If ( 条件式 ) Then 処理</code></pre>



<p>Else有りでも一行で書けます。</p>



<pre class="wp-block-code basic"><code>If ( 条件式 ) Then 処理１ Else 処理２</code></pre>



<p>ElseIfを使う場合は一行では書けないようです。</p>



<h2 class="wp-block-heading"><span id="toc2">そもそも、一行で書いた方が良い？</span></h2>



<p>If分を一行で書くと見た目がすっきりして、あたかも「かしこいコード」に見えますが、<br>必ずしも万人にとって読みやすいと思う記述方法ではないと私は思います。</p>



<p><span class="marker-under">コードは、自分にも他人にも読みやすいものであるべきです。</span></p>



<p>なので、<br>一行で書くと読みやすいコードになると思うのであれば、一行で書いた方が良いし、<br>一行で書くと”もしかしたら”読みにくいコードになるかもしれないと思うのであれば、分けて書いた方が良いと思います。</p>



<p>例えば、こういったケースはどちらが読みやすいでしょうか。<br></p>



<p><span class="bold-red">例）ある関数内で、対象フラグが9（エラーフラグ）なら即リターンする</span></p>



<p>①</p>



<pre class="wp-block-code basic"><code>If (TargetFlg = 9) Then Exit Function</code></pre>



<p>②</p>



<pre class="wp-block-code basic"><code>If (TargetFlg = 9)
  Then Exit Function
End If</code></pre>



<p><span class="marker-under">私なら①の方がスコープが狭まるので読みやすい</span>です。<br>内容も複雑ではないので、すぐに理解できます。<br>ただ②も素直なので、どちらを読みやすいと思うかは人によるかもしれませんね。</p>



<p><span class="bold-red">例）取得した日付が10文字（YYYY/MM/DD）ならそのまま返し、<br>　　異なれば（YYYYMMDD）、 10文字（YYYY/MM/DD） にして返す関数</span></p>



<p>①</p>



<pre class="wp-block-code basic"><code>If (Len(TargetDay) = 10) Then DayFormat = TargetDay Else DayFormat = Left(TargetDay, 4) &amp; "/" &amp; Mid(TargetDay, 5, 2) &amp; "/" &amp; Right(TargetDay, 2)</code></pre>



<p>②</p>



<pre class="wp-block-code basic"><code>If (Len(TargetDay) = 10) Then
  DayFormat = TargetDay
Else
  DayFormat = Left(TargetDay, 4) &amp; "/" &amp; Mid(TargetDay, 5, 2) &amp; "/" &amp; Right(TargetDay, 2)
End If
</code></pre>



<p><span class="marker-under">私なら②の方が素直で読みやすいです。</span><br>①は一行にすると読みづらすぎます！<br>恐らく他の人からしても②の方が読みやすいのではないでしょうか。<br>Elseを使う時点で分けた方がいいかもしれませんね。</p>



<p>ということで、判断に迷ったら<br>「一行で書くことで、自分や他人にとって読みやすくなるか」を考えて記述すると良いと思います。</p>



<p>以上です。<br>今回の記事が何かの参考になれば幸いです。ありがとうございました♪</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4329/">【VBA】If文を一行で記述する方法【Access,Excel】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/4329/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access】Dcount「クエリ パラメーターとして指定した式でエラー &#8216;xxx&#8217; が発生しました。」対処方法</title>
		<link>https://nyanblog2222.com/office/4300/</link>
					<comments>https://nyanblog2222.com/office/4300/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 23 Nov 2021 13:34:57 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Dcount]]></category>
		<category><![CDATA[エラー]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4300</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/46.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/46.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/46-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/46-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/46-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はAccessVBAでDcount関数を使用したときに、 「実行時エラー &#8216;2471&#8217;: クエリ パラメーターとして指定した式でエラー &#8216;xxx&#8217; が発生しました。」  [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4300/">【Access】Dcount「クエリ パラメーターとして指定した式でエラー &#8216;xxx&#8217; が発生しました。」対処方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/46.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/46.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/46-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/46-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/46-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p> 今回はAccessVBAでDcount関数を使用したときに、 <br><span class="marker-under-red"><span class="marker-under-red">「実行時エラー &#8216;2471&#8217;: クエリ パラメーターとして指定した式でエラー<span class="marker-under-red"> &#8216;xxx&#8217; が発生しました。</span>」</span></span> とエラーコードがでてしまった場合の対処方法を紹介します。 </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="488" height="236" src="https://nyanblog2222.com/wp-content/uploads/2021/11/2021112301.png" alt="" class="wp-image-4308" srcset="https://nyanblog2222.com/wp-content/uploads/2021/11/2021112301.png 488w, https://nyanblog2222.com/wp-content/uploads/2021/11/2021112301-300x145.png 300w" sizes="auto, (max-width: 488px) 100vw, 488px" /></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-30" checked><label class="toc-title" for="toc-checkbox-30">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DCount関数の使い方</a></li><li><a href="#toc2" tabindex="0">エラーの原因は？どんな状況で発生する？</a></li><li><a href="#toc3" tabindex="0">対処方法</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DCount関数の使い方</span></h2>



<p>対処方法を紹介する前に、簡単に使い方を紹介します。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box">
<p id="block-17ea28f9-618d-416b-9b70-0ecef29269f3"><span class="bold-red">DCount ( expr , domain [, criteria] )</span></p>



<p id="block-e7817aa2-83b0-4993-a141-dc49e5a3c1ee">・expr：必須。 レコード数をカウントするフィールド。「*」可<br>　　　　（テーブル内のフィールド、フォームのコントロール、定数、関数）<br>・domain：必須。テーブル名やクエリ名<br>・criteria：省略可能。 DCount関数が実行されるデータの範囲を制限するために使用される文字列式。</p>



<p><a href="https://support.microsoft.com/ja-jp/office/dcount-%E9%96%A2%E6%95%B0-f6b5d78b-ad0b-4e42-be7a-11a64acbf3d3">（Microsoft Doc：DCount 関数より）</a></p>
</div>



<p>Dcount関数は、<br>テーブル等（domain）のフィールド（expr）で値があるレコード、かつ条件（criteria）に合致するレコード数を取得します。</p>



<p>例えば、以下の「社員情報」テーブルで「氏名」フィールドをカウントし、<br>11000以上の社員NOを取得するときは、このように指定します。</p>



<p>・社員情報</p>



<figure class="wp-block-table"><table><thead><tr><th>社員NO</th><th>氏名</th></tr></thead><tbody><tr><td>10001</td><td>山田</td></tr><tr><td>15000</td><td>今村</td></tr><tr><td></td><td>花輪</td></tr><tr><td>14720</td><td></td></tr><tr><td>93745</td><td>船井</td></tr></tbody></table></figure>



<p>・コード</p>



<pre class="wp-block-code plaintext"><code>Sub DCount_OK()

    Dim Tmp As Long
    
    Tmp = DCount("氏名", "社員情報", "社員NO &gt; 11000")
    
    Debug.Print Tmp

End Sub</code></pre>



<p>結果は「2」です。</p>



<p>ここで、例では各要素がダブルコーテーション（&#8221;）でくくられていることがわかると思いますが、<br><span class="marker-under">Dcount関数を記述する際に一癖あるのが、各要素が文字列であることです。</span></p>



<h2 class="wp-block-heading"><span id="toc2">エラーの原因は？どんな状況で発生する？</span></h2>



<p>私の場合、<span class="marker-under">変数を使って条件を可変にしようとした際にエラー</span>がでました。</p>



<p>前述のDcount関数の使い方にも記述しましたが、<br>Dcount関数は各要素に文字列を入れる必要があります。</p>



<p>そこで、条件の文字列の中に変数名を入れてしまうと、<br>「’変数名’という値と比較できないよ！」とエラーが出てしまいます。<br>なんとなく、「&#8221;A &gt; 999&#8243;」という書き方ができるため、変数でもいけるのでは？と思ったのが間違いでした。</p>



<p>・コード（誤った例）</p>



<pre class="wp-block-code"><code>Sub DCount_Err()

    Dim Tmp As Long
    
    Dim TestErr As Long
    TestErr = 11000
    
    Tmp = DCount("氏名", "社員情報", "社員NO &gt; TestErr")
    
    Debug.Print Tmp

End Sub</code></pre>



<p>・エラーメッセージ</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="488" height="236" src="https://nyanblog2222.com/wp-content/uploads/2021/11/2021112301.png" alt="" class="wp-image-4308" srcset="https://nyanblog2222.com/wp-content/uploads/2021/11/2021112301.png 488w, https://nyanblog2222.com/wp-content/uploads/2021/11/2021112301-300x145.png 300w" sizes="auto, (max-width: 488px) 100vw, 488px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">対処方法</span></h2>



<p>対処方法ですが、<br>以下のように<span class="marker-under">変数部分を文字列と「＆」で結合させる</span>と正しく出力されます。</p>



<pre class="wp-block-code"><code>Sub DCount_Err()

    Dim Tmp As Long
    
    Dim TestErr As Long
    TestErr = 11000
    
    Tmp = DCount("氏名", "社員情報", "社員NO &gt; " &amp; TestErr)
    
    Debug.Print Tmp

End Sub
</code></pre>



<p>これで、繰り返し処理などで可変の値が入っても対応することができます。</p>
<p>投稿 <a href="https://nyanblog2222.com/office/4300/">【Access】Dcount「クエリ パラメーターとして指定した式でエラー &#8216;xxx&#8217; が発生しました。」対処方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/4300/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ニュースと関心事項を無効化する方法【Windows10タスクバー】</title>
		<link>https://nyanblog2222.com/programming/cmd/4162/</link>
					<comments>https://nyanblog2222.com/programming/cmd/4162/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 25 Sep 2021 05:43:14 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[タスクバー]]></category>
		<category><![CDATA[ニュースと関心事項]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4162</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/114_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/114_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/114_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/114_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/114_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、Windows10のパソコンでタスクバーに表示される「ニュースと関心事項」を無効化する方法を紹介します。 個人設定用に、一般的な方法（タスクバーで設定）組織設定用に、グループポリシーやレジストリで設定する方法があ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/4162/">ニュースと関心事項を無効化する方法【Windows10タスクバー】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/114_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/114_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/114_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/114_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/114_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、Windows10のパソコンでタスクバーに表示される<br><span class="marker-under">「ニュースと関心事項」を無効化する方法</span>を紹介します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="470" height="66" src="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_14-42-18_No-00-1.png" alt="" class="wp-image-4171" srcset="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_14-42-18_No-00-1.png 470w, https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_14-42-18_No-00-1-300x42.png 300w" sizes="auto, (max-width: 470px) 100vw, 470px" /></figure>



<p><span class="marker-under-red">個人設定用に、一般的な方法（タスクバーで設定）</span><br><span class="marker-under-red">組織設定用に、グループポリシーやレジストリで設定する方法</span>がありますので、<br>必要に応じて目次からどうぞ♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-32" checked><label class="toc-title" for="toc-checkbox-32">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0"> ニュースと関心事項って？　突然現れた気がする……</a></li><li><a href="#toc2" tabindex="0"> 一般的な方法（タスクバーで設定） </a></li><li><a href="#toc3" tabindex="0">グループポリシーで設定</a></li><li><a href="#toc4" tabindex="0">レジストリで設定（レジストリエディター・コマンドプロンプト（BAT））</a><ol><li><a href="#toc5" tabindex="0">レジストリエディター</a></li><li><a href="#toc6" tabindex="0">コマンドプロンプト（BAT）</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1"> ニュースと関心事項って？　突然現れた気がする……</span></h2>



<p>ニュースと関心事項とは、Windows10 バージョン 1909より標準搭載された、<br><span class="marker-under">最新のニュースや天気、その他ユーザーが関心事項に対して簡単にアクセスできるようにしたサービス</span>です。</p>



<p><span class="marker-under-red">2021年5月20日のKB5003212パッチ</span>にてインストールされました。</p>




<a rel="noopener" href="https://support.microsoft.com/ja-jp/topic/05381524-8380-4b30-b783-e330cad3d4a1" title="2021 &#x5E74; 5 &#x6708; 20 &#x65E5; &#x2014; KB5003212 (OS &#x30D3;&#x30EB;&#x30C9; 18363.1593) &#x30D7;&#x30EC;&#x30D3;&#x30E5;&#x30FC;&#xA; - Microsoft &#x30B5;&#x30DD;&#x30FC;&#x30C8;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fsupport.microsoft.com%2Fja-jp%2Ftopic%2F05381524-8380-4b30-b783-e330cad3d4a1?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">2021 &#x5E74; 5 &#x6708; 20 &#x65E5; &#x2014; KB5003212 (OS &#x30D3;&#x30EB;&#x30C9; 18363.1593) &#x30D7;&#x30EC;&#x30D3;&#x30E5;&#x30FC;&#xA; - Microsoft &#x30B5;&#x30DD;&#x30FC;&#x30C8;</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://support.microsoft.com/ja-jp/topic/05381524-8380-4b30-b783-e330cad3d4a1" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">support.microsoft.com</div></div></div></div></a>



<p>突然現れた、この便利？なサービスですが、<br>インターネットに繋がらない環境で使う場合（例えば社内ネットワークのみ繋がるセキュアな環境）、<br>以下のようなエラーメッセージが出てしまうため、人によっては迷惑なものになります。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="640" height="611" src="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_16-5-34_No-00.png" alt="" class="wp-image-4173" srcset="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_16-5-34_No-00.png 640w, https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_16-5-34_No-00-300x286.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<p>また、標準ではホバー設定（カーソルが当たると内容を表示する設定）になっているため、<br>意図しない時に、うっかりニュースが表示されると鬱陶しいと感じてしまいますよね……。</p>



<p>なので、今回はこの「ニュースと関心事項」を無効化する方法について紹介します。</p>



<h2 class="wp-block-heading"><span id="toc2"> 一般的な方法（タスクバーで設定） </span></h2>



<p>タスクバーで右クリックし、<br>「ニュースと関心事項」-「無効にする」をクリックします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="593" height="560" src="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_14-47-6_No-00.png" alt="" class="wp-image-4175" srcset="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_14-47-6_No-00.png 593w, https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-23_14-47-6_No-00-300x283.png 300w" sizes="auto, (max-width: 593px) 100vw, 593px" /></figure>



<p>ちなみに無効化はせずホバー設定だけなくしたい場合は、<br>ここで「ホバーで開く」をクリックしてチェックを消してください。</p>



<h2 class="wp-block-heading"><span id="toc3">グループポリシーで設定</span></h2>



<p>グループポリシー管理画面を開き、<br>「コンピューターの構成」-「管理用テンプレート」-「Windows コンポーネント」-<br>「ニュースと関心事項」-「タスク バーのニュースと関心事項を有効にする」を開き、<br>ポリシーを「無効」にします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="686" height="636" src="https://nyanblog2222.com/wp-content/uploads/2021/09/gp2021092301.png" alt="" class="wp-image-4174" srcset="https://nyanblog2222.com/wp-content/uploads/2021/09/gp2021092301.png 686w, https://nyanblog2222.com/wp-content/uploads/2021/09/gp2021092301-300x278.png 300w" sizes="auto, (max-width: 686px) 100vw, 686px" /></figure>



<p>グループポリシーで設定すると、以下の通りタスクバーから項目がなくなります。<br>（他の方法だとタスクバーから設定変更が可能です）</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="358" height="528" src="https://nyanblog2222.com/wp-content/uploads/2021/09/GP_SnapCrab_NoName_2021-9-23_14-38-14_No-00.png" alt="" class="wp-image-4176" srcset="https://nyanblog2222.com/wp-content/uploads/2021/09/GP_SnapCrab_NoName_2021-9-23_14-38-14_No-00.png 358w, https://nyanblog2222.com/wp-content/uploads/2021/09/GP_SnapCrab_NoName_2021-9-23_14-38-14_No-00-203x300.png 203w" sizes="auto, (max-width: 358px) 100vw, 358px" /></figure>



<p>なので、<span class="marker-under">会社など組織で管理するパソコンであれば、グループポリシーで無効化がおすすめ</span>です。</p>



<h2 class="wp-block-heading"><span id="toc4">レジストリで設定（レジストリエディター・コマンドプロンプト（BAT））</span></h2>



<p>組織でグループポリシーで管理していない場合は、BATを作って流すのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc5">レジストリエディター</span></h3>



<p>レジストリエディターを開き、<br>「コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds」<br>-「ShellFeedsTaskbarViewMode」<br>を「2（無効）」にします。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="420" src="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-25_14-9-27_No-00.png" alt="" class="wp-image-4177" srcset="https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-25_14-9-27_No-00.png 800w, https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-25_14-9-27_No-00-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2021/09/SnapCrab_NoName_2021-9-25_14-9-27_No-00-768x403.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<h3 class="wp-block-heading"><span id="toc6">コマンドプロンプト（BAT）</span></h3>



<p>以下をメモ帳に貼り付け保存し、拡張子を「bat」にすると使用できます。</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Feeds" /v ShellFeedsTaskbarViewMode /t "REG_DWORD" /d "2" /f</code></pre>



<p></p>



<p>以上、今回は「ニュースと関心事項」を無効化する方法でした。<br>何かの参考になれば幸いです。　ありがとうございました♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/4162/">ニュースと関心事項を無効化する方法【Windows10タスクバー】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/4162/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】カウントダウンタイマーの作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/1200/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1200/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 13 Aug 2021 05:01:54 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[setInterval]]></category>
		<category><![CDATA[カウントダウン]]></category>
		<category><![CDATA[タイマー]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1200</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/69.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/69.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はJavaScriptでカウントダウンタイマーを作成してみました！ オリンピックやワールドカップ、クリスマスやお正月など季節の行事事のタイマーとしても使えます！ 今回はシンプルなスタイルで作成していますが [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1200/">【JavaScript】カウントダウンタイマーの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/69.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/69.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回は<span class="marker-under-red">JavaScriptでカウントダウンタイマーを作成</span>してみました！</p>



<p>オリンピックやワールドカップ、クリスマスやお正月など季節の行事事のタイマーとしても使えます！</p>



<p>今回はシンプルなスタイルで作成していますが、CSSで派手なスタイルにしても面白いと思います♪</p>



<p>カウントを取る動きとして似ている<span class="marker-under-red">アナログ時計を作った記事</span>も<br>良かったら見ていただけると嬉しいです！</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/1382/" title="【JavaScript】アナログ時計の作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/64-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/64-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】アナログ時計の作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">先日はJavaScriptでカウントダウンタイマーを作成してみました。今回は前回の記事の内容を利用してアナログ時計を作ってみようともいます。サンプルもありますのでコピペで簡単にできます！初心者の方や勉強されている方におすすめなので、良かったら試してみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.24</div></div></div></div></a>
</div></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-34" checked><label class="toc-title" for="toc-checkbox-34">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML</a></li><li><a href="#toc2" tabindex="0">JavaScript</a></li><li><a href="#toc3" tabindex="0">デモ</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML</span></h2>



<p>今回のHTMLはとてもシンプルです。</p>



<p>現在時刻とカウントダウンタイマーのp要素をそれぞれ作成しています。</p>



<pre class="wp-block-code html"><code>&lt;body&gt;
    &lt;p id="now"&gt;&lt;/p&gt;
    &lt;p id="count_down"&gt;&lt;/p&gt;
&lt;/body&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">JavaScript</span></h2>



<p>時間の表示については、JavaScriptを使用しています。</p>



<p>主に現在時刻の出力とカウントダウンの出力とそれぞれ実装しています。</p>



<pre class="wp-block-code javascript"><code>// 曜日の配列を取得
var week_day = &#91;"日", "月", "火", "水", "木", "金", "土"];

window.onload = function () {

    var id = setInterval(function(){
        // 現在日時を出力
        var now_date = new Date();
        var now_date_str = "今日の日付は" + get_nichiji(now_date) + "（" + week_day&#91;now_date.getDay()] + "）です。" + "&lt;br&gt;" +
            "時刻は" + get_jikoku(now_date) + "です。";
        
        document.getElementById("now").innerHTML = now_date_str;
        
        // 年末までのカウントダウン
        var nen_matsu = new Date(now_date.getFullYear() + 1 + "/1/01");
        var count_down = nen_matsu.getTime() - now_date.getTime();
        
        // 日にちから計算していく
        var day = Math.floor(count_down / (1000 * 60 * 60 * 24));
        count_down -=  (day *(1000 * 60 * 60 * 24));
        var hour = Math.floor(count_down / (1000 * 60 * 60));
        count_down -= (hour *(1000 * 60 * 60));
        var minutes =  Math.floor(count_down / (1000 * 60));
        count_down -= (minutes * (1000 * 60));
        var second = Math.floor(count_down / 1000);
        
        var count_down_str = get_nichiji(nen_matsu) + "まで、あと" +
            day + "日" + hour + "時" + minutes + "分" + second + "秒" + "です。";
        document.getElementById("count_down").innerHTML = count_down_str;
    }, 1000);
};

// 月を正しい表示で出力
function get_month(date_obj) {
    return date_obj.getMonth() + 1;
}

// 〇〇年〇〇月〇〇日表示
function get_nichiji(date_obj) {
    return date_obj.getFullYear() + "年" + get_month(date_obj) + "月" + date_obj.getDate() + "日";
}

// 〇〇時〇〇分〇〇秒表示
function get_jikoku(date_obj) {
    return date_obj.getHours() + "時" + date_obj.getMinutes() + "分" + date_obj.getSeconds() + "秒";
}

// 曜日取得
function get_week_day(date_obj) {
    return week_day&#91;date_obj.getDay()];
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">デモ</span></h2>



<p>出力内容はこちらです！<br>1秒ごとに<span class="marker-under-red">現在時刻</span>と<span class="marker-under-red">翌年の1月1日までのカウントダウン</span>の秒数が表示されています。</p>



<p>↓の赤枠に何も表示されていない場合、数秒そのままでお待ちください。</p>



<div class="wp-block-sbd-background-block sbd-bg-color sbd-inner-block-init is-style-red">
    <p id="now"></p>
    <p id="count_down"></p>
</div>
    <script type="text/javascript">
        // 曜日の配列を取得
        var week_day = ["日", "月", "火", "水", "木", "金", "土"];

        window.onload = function () {

            var id = setInterval(function(){
                // 現在日時を出力
                var now_date = new Date();
                var now_date_str = "今日の日付は" + get_nichiji(now_date) + "（" + week_day[now_date.getDay()] + "）です。" + "<br>" +
                    "時刻は" + get_jikoku(now_date) + "です。";

                document.getElementById("now").innerHTML = now_date_str;

                // 年末までのカウントダウン
                var nen_matsu = new Date(now_date.getFullYear() + 1 + "/1/01");
                var count_down = nen_matsu.getTime() - now_date.getTime();

                // 日にちから計算していく
                var day = Math.floor(count_down / (1000 * 60 * 60 * 24));
                count_down -=  (day *(1000 * 60 * 60 * 24));
                var hour = Math.floor(count_down / (1000 * 60 * 60));
                count_down -= (hour *(1000 * 60 * 60));
                var minutes =  Math.floor(count_down / (1000 * 60));
                count_down -= (minutes * (1000 * 60));
                var second = Math.floor(count_down / 1000);

                var count_down_str = get_nichiji(nen_matsu) + "まで、あと" +
                    day + "日" + hour + "時" + minutes + "分" + second + "秒" + "です。";
                document.getElementById("count_down").innerHTML = count_down_str;
            }, 1000);
        };

        // 月を正しい表示で出力
        function get_month(date_obj) {
            return date_obj.getMonth() + 1;
        }

        // 〇〇年〇〇月〇〇日表示
        function get_nichiji(date_obj) {
            return date_obj.getFullYear() + "年" + get_month(date_obj) + "月" + date_obj.getDate() + "日";
        }

        // 〇〇時〇〇分〇〇秒表示
        function get_jikoku(date_obj) {
            return date_obj.getHours() + "時" + date_obj.getMinutes() + "分" + date_obj.getSeconds() + "秒";
        }

        // 曜日取得
        function get_week_day(date_obj) {
            return week_day[date_obj.getDay()];
        }
    </script>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>いかがでしたでしょうか。</p>



<p>今回はJavaScriptでカウントダウンタイマーを作成しました！<br>日付の表示方法やカウントするためのタイマー処理を主に使用しました。</p>



<p>今回は機能を主にご紹介しましたが、CSSでスタイルを設定して<br>おしゃれなカウントダウンタイマーを作ってみてはいかがでしょうか。</p>



<p>アナログ時計を作った記事も良かったら見てください！</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/1382/" title="【JavaScript】アナログ時計の作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/64-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/64-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】アナログ時計の作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">先日はJavaScriptでカウントダウンタイマーを作成してみました。今回は前回の記事の内容を利用してアナログ時計を作ってみようともいます。サンプルもありますのでコピペで簡単にできます！初心者の方や勉強されている方におすすめなので、良かったら試してみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.24</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1200/">【JavaScript】カウントダウンタイマーの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1200/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】変数、型の違い【var let const】</title>
		<link>https://nyanblog2222.com/programming/javascript/1378/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1378/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 11 Aug 2021 21:21:06 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[const]]></category>
		<category><![CDATA[let]]></category>
		<category><![CDATA[var]]></category>
		<category><![CDATA[グローバル変数]]></category>
		<category><![CDATA[ローカル変数]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1378</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/83.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/83.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/83-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/83-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/83-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。 変数の宣言でvar、let、constそれぞれどの状況で使用していますか？ 私は特にvarとletについて違いが良く分からなかったので、この機会に調べてまとめてみました。 良かったら参考にしてください！ 目 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1378/">【JavaScript】変数、型の違い【var let const】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/83.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/83.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/83-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/83-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/83-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。</p>



<p>変数の宣言でvar、let、constそれぞれどの状況で使用していますか？</p>



<p>私は特にvarとletについて違いが良く分からなかったので、この機会に調べてまとめてみました。</p>



<p>良かったら参考にしてください！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-36" checked><label class="toc-title" for="toc-checkbox-36">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ローカルスコープとグローバルスコープ</a></li><li><a href="#toc2" tabindex="0">変数宣言キーワード</a><ol><li><a href="#toc3" tabindex="0">varについて</a></li><li><a href="#toc4" tabindex="0">letについて</a></li><li><a href="#toc5" tabindex="0">constについて</a></li></ol></li><li><a href="#toc6" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ローカルスコープとグローバルスコープ</span></h2>



<p>まずは、<strong><span style="color: #b78d4a;" class="has-inline-color">ローカルスコープ</span></strong>と<strong><span style="color: #b78d4a;" class="has-inline-color">グローバルスコープ</span></strong>についてです。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">スコープ</span></strong>とは、変数が参照したり変更できたりと<span class="marker-yellow">使用できる有効範囲</span>を指します。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">ローカルスコープ</span></strong>はある<span class="marker-yellow">特定の範囲内でのみ有効となるスコープ</span>です。<br>特定の範囲とは、これから出てくる関数やブロックなど括られた範囲を指します。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">グローバルスコープ</span></strong>は名の通り<span class="marker-yellow">どこからでも使用できる有効範囲を持つスコープ</span>です。</p>



<p>どこでも使用することが可能なので、とても便利であるように感じますが<br>意図しない箇所で上書きしてしまったり、利用してしまったりすることで<br>不具合の原因となってしまいます。</p>



<p>そのため、<span style="color: #000000;"><span class="has-inline-color"><span class="marker-yellow">できる限り変数のスコープは小さくする</span></span></span>ことが<br>読みやすいコードにつながると言われています。</p>



<p>本記事では特にvarとletに関して<span style="color: #000000;"><span class="has-inline-color"><span class="marker-yellow">スコープを意識して使い分けていくこと</span></span></span>をおすすめしています！</p>



<h2 class="wp-block-heading"><span id="toc2">変数宣言キーワード</span></h2>



<h3 class="wp-block-heading"><span id="toc3">varについて</span></h3>



<dl class="wp-block-sbd-definition-list sbd-inner-block-init sbd-list-border">
<dt class="wp-block-sbd-definition-list-dt is-style-sbd-dt-pink">特徴</dt>



<dd class="wp-block-sbd-definition-list-dd">・ES2015以前より使用できる変数宣言キーワード<br>・ スコープは<strong><span style="color: #b78d4a;" class="has-inline-color">関数内部</span></strong><br>・ 関数内のどこで宣言しても、<strong><span style="color: #b78d4a;" class="has-inline-color">先頭で定義した扱い</span></strong>となる<br>・ ifやfor文内で宣言した変数でも、同じ関数内であれば使用できる</dd>
</dl>



<pre class="wp-block-code javascript"><code>// 例
function Sample() {
    for(let i=1;i&lt;=3;i++){
        console.log(i)
    }
    
    // ブロック外なので、アクセスできずエラー
    console.log(i)
}</code></pre>



<h3 class="wp-block-heading"><span id="toc4">letについて</span></h3>



<p>varとの主な違いは<span class="marker-yellow">スコープの範囲</span>です。</p>



<p>varではif文やfor文のようにブロック内で宣言した変数でも、<br>同じ関数内であれば使用することができますが、<br><span class="marker-yellow">letではブロック内で宣言した変数はブロックの範囲を超えると使用することができません</span>。</p>



<dl class="wp-block-sbd-definition-list sbd-inner-block-init sbd-list-border">
<dt class="wp-block-sbd-definition-list-dt is-style-sbd-dt-pink">特徴</dt>



<dd class="wp-block-sbd-definition-list-dd">・<span style="color: initial;">ES2016以降より使用可能（IE9等、少し古いバージョンのブラウザだと動かない場合がある）</span><br>・<span style="color: initial;">スコープは</span><strong style="color: initial;"><span style="color: #b78d4a;" class="has-inline-color">関数内部</span></strong><span style="color: initial;">、もしくは</span><strong style="color: initial;"><span style="color: #b78d4a;" class="has-inline-color">ブロック内部</span></strong><br><span style="color: initial;"></span>・<span style="color: initial;">varと比べて、よりスコープを限定することができる</span></dd>
</dl>



<pre class="wp-block-code javascript"><code>// 例
function Sample() {
    var sample1 = 1;
    // var i;

    // 再代入可能
    sample1 = 3;

    for(var i=1;i&lt;=3;i++){
        console.log(i)
    }
    
    // 同じ関数内なので、アクセスできる
    console.log(i)
    
    console.log(gloval_hensu)
}

// 関数外なので参照できず、エラー
console.log(i)</code></pre>



<h3 class="wp-block-heading"><span id="toc5">constについて</span></h3>



<p>constはこの3つの中だと、 一番特徴が分かりやすいです。<br>それは<span class="marker-yellow">再代入（変更）できない</span>ため定数として扱われます。</p>



<dl class="wp-block-sbd-definition-list sbd-inner-block-init sbd-list-border">
<dt class="wp-block-sbd-definition-list-dt is-style-sbd-dt-pink">特徴</dt>



<dd class="wp-block-sbd-definition-list-dd">・<span style="color: initial;">ES2016以降より使用可能（IE9等、少し古いバージョンのブラウザだと動かない場合がある）</span><br>・<span style="color: initial;">スコープは</span><strong style="color: initial;"><span style="color: #b78d4a;" class="has-inline-color">関数内部</span></strong><span style="color: initial;">、もしくは</span><strong style="color: initial;"><span style="color: #b78d4a;" class="has-inline-color">ブロック内部</span></strong><span style="color: initial;">再代入ができない（定数扱いとなる）</span><br>・<span style="color: initial;">宣言のみはできず</span><strong style="color: initial;"><span style="color: #b78d4a;" class="has-inline-color">必ず値を代入する必要</span></strong><span style="color: initial;">がある。</span></dd>
</dl>



<p>定数とは、一度宣言されると値が固定され変更できない値を指します。</p>



<pre class="wp-block-code javascript"><code>// 例
// 宣言時に値を代入していないので、エラー
const sample1;

const sample2 = "test2";
const sample3 = "test3";

// 代入できないので、エラー
sample3 = "sample3";

if(sample2 === "test2"){
    const sample4 = "test4";
}

// sample4はブロック内で宣言されているため、
// ブロックの外で使用し、スコープからはみ出ているのでエラー
console.log(sample4);</code></pre>



<h2 class="wp-block-heading"><span id="toc6">まとめ</span></h2>



<p>いかがでしたでしょうか。</p>



<p>ちょっとしたことなのですが、<br>忘れやすかったりするので良かったら時々見に来てください♪</p>



<p>ちなみに、JavaScriptは変数宣言キーワード（var, let, const）を使用しなくても宣言することができます。</p>



<p><span class="marker-under-red">キーワードを使用することで有効範囲が変わってくる</span>ので、<br>予期せぬ動きをさせないためにも、使用した方が良いですね！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1378/">【JavaScript】変数、型の違い【var let const】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1378/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript／JS】Canvasとは？【HTML5／使い方】</title>
		<link>https://nyanblog2222.com/programming/html-css/699/</link>
					<comments>https://nyanblog2222.com/programming/html-css/699/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 11 Aug 2021 21:19:50 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=699</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/93.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/93.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/93-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/93-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/93-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />皆さんCanvasを使用したことはありますか？今回はCanvasを使って、2Dの簡単な図形を描画する方法を紹介していきます。 目次 Canvasとは？HTMLの設定描画コンテキストの取得四角形を描画プロパティ関数実装線（ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/699/">【JavaScript／JS】Canvasとは？【HTML5／使い方】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/93.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/93.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/93-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/93-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/93-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>皆さんCanvasを使用したことはありますか？<br>今回はCanvasを使って、2Dの簡単な図形を描画する方法を紹介していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-38" checked><label class="toc-title" for="toc-checkbox-38">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Canvasとは？</a></li><li><a href="#toc2" tabindex="0">HTMLの設定</a></li><li><a href="#toc3" tabindex="0">描画コンテキストの取得</a></li><li><a href="#toc4" tabindex="0">四角形を描画</a><ol><li><a href="#toc5" tabindex="0">プロパティ</a></li><li><a href="#toc6" tabindex="0">関数</a></li><li><a href="#toc7" tabindex="0">実装</a></li></ol></li><li><a href="#toc8" tabindex="0">線（パス）を描画</a><ol><li><a href="#toc9" tabindex="0">関数</a></li><li><a href="#toc10" tabindex="0">実装</a></li></ol></li><li><a href="#toc11" tabindex="0">円（円弧）の描画</a><ol><li><a href="#toc12" tabindex="0">関数</a></li><li><a href="#toc13" tabindex="0">実装</a></li></ol></li><li><a href="#toc14" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Canvasとは？</span></h2>



<p>Canvasとは、<strong><span style="color:#b78d4a" class="has-inline-color">HTML5から追加された2Dの図形を描画するための技術</span></strong>です。<br>使い方としては、HTMLで要素を作成・IDを指定し、JavaScriptで描画する内容を実装します。<br>例として、グラフを描く、写真を合成する、シンプルなアニメーションを表現することができます。</p>



<h2 class="wp-block-heading"><span id="toc2">HTMLの設定</span></h2>



<p>HTMLで<strong><span style="color:#b78d4a" class="has-inline-color">canvasを設定</span></strong>します。<br>JavaScriptで指定するために<strong><span style="color:#b78d4a" class="has-inline-color">id=&#8221;canvas&#8221;</span></strong>を指定しています。<br>属性で幅(width)、高さ(height)を設定していますが、JavaScriptでも設定が可能です。</p>



<p>また、canvasブロック内で”代替コンテンツ”と設定していますが、<br>これはcanvasに対応しないブラウザやJavaScriptを無効にしている場合、<strong><span style="color:#b78d4a" class="has-inline-color">代替コンテンツを出力</span></strong>しています。<br>代替コンテンツには、テキストや画像など設定することができます。</p>



<pre class="wp-block-code javascript"><code>&lt;body>
    &lt;canvas id="canvas" width="500" height="500">代替コンテンツ&lt;/canvas>
&lt;/body></code></pre>



<h2 class="wp-block-heading"><span id="toc3">描画コンテキストの取得</span></h2>



<p>HTMLでCanvasを設定しましたが、そのままでは何も描画されません。<br><strong><span style="color:#b78d4a" class="has-inline-color">getContext関数</span></strong>で、<strong><span style="color:#b78d4a" class="has-inline-color">コンテキスト</span></strong>を取得することができます。</p>



<pre class="wp-block-code javascript"><code>// HTMLの読込完了後に実行
window.onload = function () {
    // id='canvas'の要素を取得
    var canvas = document.getElementById('canvas');

    // 2次元の描画コンテキストを取得
    var ctx = canvas.getContext('2d');
}</code></pre>



<p>getContext関数の第1引数にコンテキストの種類を指定することができます。<br>今回は2次元の描画コンテキスト（CanvasRenderingContext2D）を取得しています。<br>他の設定値は以下の通りです。</p>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">webgl</span></strong><br>3次元グラフィックス描画（WebGL <strong><span style="color:#b78d4a" class="has-inline-color">ver1</span></strong>）コンテキスト<br>（<strong><span style="color:#b78d4a" class="has-inline-color">WebGL</span></strong>RenderingContext） を取得します。</li><li><strong><span style="color:#b78d4a" class="has-inline-color">webgl2</span></strong><br>3次元グラフィックス描画（WebGL <strong><span style="color:#b78d4a" class="has-inline-color">ver2</span></strong>）コンテキスト　　　　　　（<strong><span style="color:#b78d4a" class="has-inline-color">WebGL2</span></strong>RenderingContext） を取得します。</li></ul>



<p><strong><span style="color:#b78d4a" class="has-inline-color">WebGL</span></strong>・・・Web用のOpenGL（グラフィック専用のライブラリ）</p>



<p>これで描画する準備ができました。<br>次項目から実際に図形を描画してみましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">四角形を描画</span></h2>



<p>まずは四角形を描画してみましょう。<br>こちらのプロパティと関数を使って描画することができます。</p>



<h3 class="wp-block-heading"><span id="toc5">プロパティ</span></h3>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">fillStyle</span></strong>・・・塗りつぶしのスタイルを設定（色・グラデーション・パターン値）</li><li><strong><span style="color:#b78d4a" class="has-inline-color">strokeStyle</span></strong>・・・境界線のスタイルを設定（色・グラデーション・パターン値）</li><li><strong><span style="color:#b78d4a" class="has-inline-color">lineWidth</span></strong>・・・境界線の幅を設定</li></ul>



<h3 class="wp-block-heading"><span id="toc6">関数</span></h3>



<ul class="wp-block-list"><li><span style="color:#b78d4a" class="has-inline-color"><strong>fillRect(x, y, width, height)</strong></span>・・・塗りつぶし状態の四角形を描画</li><li><strong><span style="color:#b78d4a" class="has-inline-color">strokeRect(x, y, width, height)</span></strong>・・・四角形の境界線を描画</li><li><strong><span style="color:#b78d4a" class="has-inline-color">clearRect(x, y, width, height)</span></strong>・・・指定範囲の四角形を消去し、透明になる</li></ul>



<h3 class="wp-block-heading"><span id="toc7">実装</span></h3>



<p>それでは実際に描画してみましょう。<br>こちらがソースコードです。詳しい内容はコメントを記載しています。</p>



<pre class="wp-block-code javascript"><code>&lt;script type="text/javascript">
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');

    // 塗りつぶしの色を設定
    ctx.fillStyle = "#FFF3D9";
    // 塗りつぶされた状態の四角形を描画
    ctx.fillRect(25, 25, 120, 150);

    // 指定範囲の四角形を消去し、透明になる
    ctx.clearRect(40, 45, 90, 75);

    // 境界線の色を設定
    ctx.strokeStyle = "#C6A35B";
    // 線の幅を設定
    ctx.lineWidth = 5;

    // 四角形の境界線を描画する
    ctx.strokeRect(60, 57.5, 50, 50);
&lt;/script></code></pre>



<p>こちらが実際に描画したcanvasです。</p>



<canvas id="canvas" width="200" height="200">代替コンテンツ</canvas>
    <script type="text/javascript">
        var canvas = document.getElementById('canvas');
        var ctx = canvas.getContext('2d');

        // 塗りつぶしの色を設定
        ctx.fillStyle = "#FFF3D9";
        // 塗りつぶされた状態の四角形を描画
        ctx.fillRect(25, 25, 120, 150);

        // 指定範囲の四角形を消去し、透明になる
        ctx.clearRect(40, 45, 90, 75);

        // 境界線の色を設定
        ctx.strokeStyle = "#C6A35B";
        // 線の幅を設定
        ctx.lineWidth = 5;

        // 四角形の境界線を描画する
        ctx.strokeRect(60, 57.5, 50, 50);
    </script>



<h2 class="wp-block-heading"><span id="toc8">線（パス）を描画</span></h2>



<p>四角形の他には、パスを組み合わせて描画することで図形を表現することができます。<br>パスを用いた図形の描画では、次の関数を使用します。</p>



<h3 class="wp-block-heading"><span id="toc9">関数</span></h3>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">beginPath()</span></strong>・・・新規パスを作成。以降の描画呼び出しはパスを構築します。</li><li><strong><span style="color:#b78d4a" class="has-inline-color">closePath()</span></strong>・・・開始パスに直線を描画し、パスを閉じる</li><li><strong><span style="color:#b78d4a" class="has-inline-color">stroke()</span></strong>・・・境界線を描画</li><li><strong><span style="color:#b78d4a" class="has-inline-color">fill()</span></strong>・・・塗りつぶして描画</li><li><strong><span style="color:#b78d4a" class="has-inline-color">moveTo(x, y)</span></strong>・・・指定座標に移動</li><li><strong><span style="color:#b78d4a" class="has-inline-color">lineTo(x, y)</span></strong>・・・現在地から指定座標まで線を描画</li></ul>



<h3 class="wp-block-heading"><span id="toc10">実装</span></h3>



<p>実際に描画してみましょう。<br>詳細はコメントにそれぞれ記載していますので、実装しながらだと理解しやすいかもしれません。</p>



<pre class="wp-block-code javascript"><code>&lt;canvas id="canvas" width="200" height="200">代替コンテンツ&lt;/canvas>
&lt;script type="text/javascript">
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');

    // 塗りつぶし
    ctx.beginPath();    // パス開始
    ctx.moveTo(50,30);  // x=50, y=30に移動
    ctx.lineTo(80,80);  // x=50→80, y=30→80へパスを設定
    ctx.lineTo(20,80);  // x=80→20, y=80→80へパスを設定
    ctx.closePath();    // パス終了
    ctx.fillStyle = "#A2D7DD";  // 塗りつぶしの色を設定
    ctx.fill();  // 塗りつぶしで描画

    // 輪郭線
    ctx.beginPath();    // パス開始
    ctx.moveTo(10,120); // x=10, y=120に移動
    ctx.lineTo(80,20);  // x=10→80, y=120→20へパスを設定
    ctx.lineTo(180,70); // x=80→180, y=20→70へパスを設定
    ctx.closePath();    // パス終了
    ctx.strokeStyle = "#65C294";    // 輪郭線の色を設定
    ctx.stroke();       // 輪郭線で描画

    // 円（三日月）
    ctx.beginPath();    // パス開始
    ctx.arc(250, 60, 40, 0, Math.PI * 2);
    ctx.closePath();    // パス終了
    ctx.fillStyle = "#FFF3D4";  // 塗りつぶしの色を設定
    ctx.fill();  // 塗りつぶしで描画

    ctx.beginPath();    // パス開始
    ctx.arc(270, 60, 25, 0, Math.PI * 2);
    ctx.closePath();    // パス終了
    ctx.fillStyle = "#FFF";  // 塗りつぶしの色を設定
    ctx.fill();  // 塗りつぶしで描画

&lt;/script></code></pre>



<p>こちらが実際に描画したcanvasです。</p>



<canvas id="canvas2" width="200" height="200">代替コンテンツ</canvas>
    <script type="text/javascript">
        var canvas = document.getElementById('canvas2');
        var ctx = canvas.getContext('2d');

        //塗りつぶし
        ctx.beginPath();
        ctx.moveTo(50,30);
        ctx.lineTo(80,80);
        ctx.lineTo(20,80);
        ctx.fillStyle = "#A2D7DD";
        ctx.fill();

        //輪郭線
        ctx.beginPath();
        ctx.moveTo(10,120);
        ctx.lineTo(80,20);
        ctx.lineTo(180,70);
        ctx.closePath();
        ctx.strokeStyle = "#65C294";
        ctx.stroke();
    </script>



<p>このようにして、パス使って図形を描画することができました。</p>



<p>注意点ですが、<span style="font-weight: bold; color: rgb(183, 141, 74);" class="has-inline-color">beginPath()の呼び出し直後は、どの関数が呼び出されてもmoveTo()として扱われ実行</span>されます。<br>例えると紙に書く時、鉛筆を紙に添えている動作をイメージしたものです。<br>そのため、基本的には、beginPath()の後や、canvasを新規で作成した後はmoveTo()を意識的に呼び出すようにしてください。</p>



<h2 class="wp-block-heading"><span id="toc11">円（円弧）の描画</span></h2>



<p>続いて、円（円弧）の描画についてです。<br>まずは関数の説明です。</p>



<h3 class="wp-block-heading"><span id="toc12">関数</span></h3>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">arc(x, y, radius, startAngle, endAngle</span></strong>[, anticlocwise]<strong><span style="color:#b78d4a" class="has-inline-color">)</span></strong>・・・円弧を描画<br>x,y=中心地、radius=半径、startAngle=開始角度、endAngle=終了角度、anticlocwise=周る方向（初期設定：時計回り）</li></ul>



<h3 class="wp-block-heading"><span id="toc13">実装</span></h3>



<p>続いて、ソースコードの内容です。<br>詳細はコメントに記載しています。</p>



<pre class="wp-block-code javascript"><code>&lt;canvas id="canvas" width="200" height="200">代替コンテンツ&lt;/canvas>
&lt;script type="text/javascript">
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');

    // 円（三日月）大きい円
    ctx.beginPath();    // パス開始
    // (50, 60)を中心に半径40で0～360度分、円を描画
    ctx.arc(50, 60, 40, 0, Math.PI * 2);
    ctx.closePath();    // パス終了
    ctx.fillStyle = "#FFF3D4";  // 塗りつぶしの色を設定（薄い黄色）
    ctx.fill();  // 塗りつぶしで描画

    // 円 小さい円で月の中を表現
    ctx.beginPath();    // パス開始
    // (70, 60)を中心に半径25で0～360度分、円を描画
    ctx.arc(70, 60, 25, 0, Math.PI * 2);
    ctx.closePath();    // パス終了
    ctx.fillStyle = "#FFF";  // 塗りつぶしの色を設定（白）
    ctx.fill();  // 塗りつぶしで描画

&lt;/script></code></pre>



<p>こちらが実際に描画したcanvasです。</p>



<canvas id="canvas3" width="200" height="200">代替コンテンツ</canvas>
    <script type="text/javascript">
        var canvas = document.getElementById('canvas3');
        var ctx = canvas.getContext('2d');

        // 円（三日月）
        ctx.beginPath();
        ctx.arc(50, 60, 40, 0, Math.PI * 2);
        ctx.closePath();
        ctx.fillStyle = "#FFF3D4";
        ctx.fill();

        ctx.beginPath();
        ctx.arc(70, 60, 25, 0, Math.PI * 2);
        ctx.closePath();
        ctx.fillStyle = "#FFF";
        ctx.fill();
    </script>



<h2 class="wp-block-heading"><span id="toc14">まとめ</span></h2>



<p>今回はHTML5とJavaScriptを使用して、Canvasで2Dの描画をしてみました。<br>ぜひ試してみてくださいね！</p>



<p>今回の記事が何かの参考になれば幸いです♪　</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/699/">【JavaScript／JS】Canvasとは？【HTML5／使い方】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/699/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access】式に未定義関数 &#8216;xxx&#8217; があります。[原因,対処方法]</title>
		<link>https://nyanblog2222.com/office/access/3380/</link>
					<comments>https://nyanblog2222.com/office/access/3380/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 27 Jun 2021 10:38:05 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[対処方法]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3380</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/42.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/42.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/42-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/42-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/42-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、Accessのクエリ等を実行した際に、「式に未定義関数 &#8216;xxx&#8217; があります。」とエラーメッセージが出て処理できない場合があります。このエラーには原因が複数パターン想定されるため、それぞ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3380/">【Access】式に未定義関数 &#8216;xxx&#8217; があります。[原因,対処方法]</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/42.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/42.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/42-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/42-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/42-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、Accessのクエリ等を実行した際に、<br>「<strong class="brown_color">式に未定義関数 &#8216;xxx&#8217; があります。</strong>」とエラーメッセージが出て処理できない場合があります。<br>このエラーには<span class="marker-under-red">原因が複数パターン</span>想定されるため、それぞれの対処方法を紹介します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="251" height="107" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062701.jpg" alt="エラーメッセージ" class="wp-image-3420"/></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-40" checked><label class="toc-title" for="toc-checkbox-40">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラー原因</a></li><li><a href="#toc2" tabindex="0">対処方法</a><ol><li><a href="#toc3" tabindex="0">関数を定義していない、又は誤った関数名を使用している場合</a></li><li><a href="#toc4" tabindex="0">関数名とモジュール名が同じ場合</a></li><li><a href="#toc5" tabindex="0">ライブラリが参照不可になっている場合</a></li><li><a href="#toc6" tabindex="0">関数の宣言でPrivateを使っている場合</a></li><li><a href="#toc7" tabindex="0">関数名に２バイト文字が使用されている場合</a></li><li><a href="#toc8" tabindex="0">モジュールが破損している場合</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">エラー原因</span></h2>



<p>原因は複数パターンありますが、ざっくり言うと<br><span class="marker-under">システムがモジュール内に関数内で使用していないのに使っていると判断している</span>ためです。</p>



<p>以下の通り、うっかりミスからややこしいものもあるため<br>対処するには一つ一つ順に見ていきましょう。<br>（上から順に可能性の高いパターンです）</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-orange-border-color">
<ol class="wp-block-list"><li>関数を定義していない、又は誤った関数名を使用している場合</li><li>関数名とモジュール名が同じ場合</li><li>ライブラリが参照不可になっている場合</li><li>関数の宣言でPrivateを使っている場合</li><li>関数名に２バイト文字が使用されている場合</li><li>モジュールが破損している場合</li></ol>
</div>



<h2 class="wp-block-heading"><span id="toc2">対処方法</span></h2>



<p>以下の正常な状態を一部変更し、エラーパターンを作成していきます。</p>



<p><strong class="brown_color">クエリでの関数呼び出し：「挨拶: CallHello()」</strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="568" height="312" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062702.jpg" alt="" class="wp-image-3422" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062702.jpg 568w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062702-300x165.jpg 300w" sizes="auto, (max-width: 568px) 100vw, 568px" /></figure>



<p><strong class="brown_color">モジュール名：「こんにちは」<br>関数名：「CallHello()」</strong></p>



<pre class="wp-block-code basic"><code>Function CallHello() As String

CallHello = "Hello World"

End Function</code></pre>



<h3 class="wp-block-heading"><span id="toc3">関数を定義していない、又は誤った関数名を使用している場合</span></h3>



<p>勘違いで呼び出す関数を定義していない、又は誤った関数名を使用している場合、<br>呼び出すことができずエラーになります。</p>



<p>例えば、<br>Function CallH<span class="marker-under-red">e</span>llo() As String　と宣言しているのに、<br>CallH<span class="marker-under-red">a</span>llo()で呼び出している場合等</p>



<p>調べるには、一度クエリから呼び出している関数名で、Visual Basic画面にて<br>プロジェクト内のコード内を検索（ショートカットキー：「Ctrl+F」）してみましょう。<br>もしなければ、誤っていますのでクエリを変更してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="537" height="438" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062703-1.jpg" alt="検索文字列が見つかりません" class="wp-image-3424" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062703-1.jpg 537w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062703-1-300x245.jpg 300w" sizes="auto, (max-width: 537px) 100vw, 537px" /></figure>



<h3 class="wp-block-heading"><span id="toc4">関数名とモジュール名が同じ場合</span></h3>



<p>関数名とモジュール名が同じ場合、システム上名称が被ってしまいエラーとなります。</p>



<p>例えば、<br>Function <span class="marker-under-red">CallHello</span>() As String　と宣言しており、<br>モジュール名も<span class="marker-under-red">CallHello</span>になっている場合等</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="526" height="115" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062704-1.jpg" alt="" class="wp-image-3426" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062704-1.jpg 526w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062704-1-300x66.jpg 300w" sizes="auto, (max-width: 526px) 100vw, 526px" /></figure>



<p>この場合、関数名又はモジュール名を変更してください。</p>



<h3 class="wp-block-heading"><span id="toc5">ライブラリが参照不可になっている場合</span></h3>



<p>ライブラリが参照不可になっており、<br>ライブラリ内の関数を使用していた場合、エラーとなります。<br>パソコンの交換やOS・Officeのバージョンアップでエラーが上がるようになった場合は、<br>このケースの可能性があります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="455" height="312" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062705.jpg" alt="参照不可" class="wp-image-3430" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062705.jpg 455w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062705-300x206.jpg 300w" sizes="auto, (max-width: 455px) 100vw, 455px" /></figure>



<p>この場合、Visual Basic画面にてツールタブから参照設定を開き、<span class="marker-under-red">参照不可</span>がある場合は、<br>参照をあらためて追加するか、関数を自前で作成する等やり方を変える必要があります。</p>



<h3 class="wp-block-heading"><span id="toc6">関数の宣言でPrivateを使っている場合</span></h3>



<p>関数の宣言でPrivateを使っている場合、<br>モジュール内からしか呼び出すことができないため、エラーとなります。</p>



<p>Privateはアクセス修飾子と呼ばれ、他にPublic等があります。<br>以下の通りアクセス修飾子によって参照できる範囲（スコープ）が限られており、<br>・Private Function：モジュール内のみ参照可<br>・Public Function：モジュール外から参照可<br>・Function：暗黙的にPublicとなるため、モジュール外から参照可<br>となります。</p>



<p>なので、例えば、<br><span class="marker-under-red">Private Function </span>CallHello() As String　と宣言している場合は、<br><span class="marker-under-red">Function </span>CallHello() As String 又は<br><span class="marker-under-red">Public Function</span> CallHello() As String<br>に変更する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc7">関数名に２バイト文字が使用されている場合</span></h3>



<p>関数名に日本語等の２バイト文字が使用されている場合、<br>VBA上はコンパイルできても対応してはいないので、クエリから呼び出すとエラーとなります。</p>



<p>なので、例えば、<br>Function <span class="marker-under-red">挨拶する</span>() As String　と宣言している場合は、<br>Function <span class="marker-under-red">CallHello</span>() As String<br>に変更する必要があります。<br>（クエリからの呼び出し側も同様に、CallHello()へ変更）</p>



<h3 class="wp-block-heading"><span id="toc8">モジュールが破損している場合</span></h3>



<p>モジュールが<span class="marker-under-red">破損</span>している場合、呼び出せずエラーとなります。</p>



<p>この場合は、新しくモジュールを作成し、ソースコードをコピーして作り直す必要があります。</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3380/">【Access】式に未定義関数 &#8216;xxx&#8217; があります。[原因,対処方法]</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/access/3380/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access Runtime】セキュリティ警告’非表示’設定[ランタイム]</title>
		<link>https://nyanblog2222.com/office/access/3384/</link>
					<comments>https://nyanblog2222.com/office/access/3384/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 26 Jun 2021 07:04:17 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[セキュリティ警告]]></category>
		<category><![CDATA[対処方法]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3384</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/43.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/43.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/43-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/43-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/43-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、Access Runtime（ランタイム版）実行時の「セキュリティに影響を及ぼす可能性のある問題点が検知されました。」警告メッセージを非表示にする設定について紹介します。 目次 なぜ警告が表示されるか対処方法信頼 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3384/">【Access Runtime】セキュリティ警告’非表示’設定[ランタイム]</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/43.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/43.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/43-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/43-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/43-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、Access Runtime（ランタイム版）実行時の<br>「<span class="marker-under-red">セキュリティに影響を及ぼす可能性のある問題点が検知されました。</span>」<br>警告メッセージを非表示にする設定について紹介します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="391" height="317" src="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-5-29_15-12-46_No-00.jpg" alt="エラーメッセージ" class="wp-image-3386" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-5-29_15-12-46_No-00.jpg 391w, https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-5-29_15-12-46_No-00-300x243.jpg 300w" sizes="auto, (max-width: 391px) 100vw, 391px" /></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-42" checked><label class="toc-title" for="toc-checkbox-42">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">なぜ警告が表示されるか</a></li><li><a href="#toc2" tabindex="0">対処方法</a><ol><li><a href="#toc3" tabindex="0">信頼できる場所に追加する</a><ol><li><a href="#toc4" tabindex="0">レジストリエディターで変更する方法</a></li><li><a href="#toc5" tabindex="0">コマンドプロンプト（BAT）で変更する方法</a></li></ol></li><li><a href="#toc6" tabindex="0">すべてのマクロを有効にする</a><ol><li><a href="#toc7" tabindex="0">レジストリエディターで変更する方法</a></li><li><a href="#toc8" tabindex="0">コマンドプロンプト（BAT）で変更する方法</a></li></ol></li><li><a href="#toc9" tabindex="0">どちらの対処方法がいいか</a><ol><li><a href="#toc10" tabindex="0">「信頼できる場所に追加する」を選ぶメリット</a></li><li><a href="#toc11" tabindex="0">「すべてのマクロを有効にする」を選ぶメリット</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">なぜ警告が表示されるか</span></h2>



<p>警告メッセージに、<br>「<span class="marker-under-red">警告：このコンテンツの発行元が信頼できるかどうかを確認することはできません。このコンテンツが重要な機能を備えており、発行元が信頼できる場合を除き、このコンテンツは無効のままにしてください。</span>」<br>と、書いてあるとおり、<span class="marker-under-red">発行元が信頼できるかどうかを確認できない</span>ためです。</p>



<p>この警告はメッセージこそ違えど、以下のように<span class="marker-under">有償のAccessにも同じ</span>ように出てきます。</p>



<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="769" height="331" src="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-29_No-00.jpg" alt="" data-id="3390" data-full-url="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-29_No-00.jpg" data-link="https://nyanblog2222.com/?attachment_id=3390" class="wp-image-3390" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-29_No-00.jpg 769w, https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-29_No-00-300x129.jpg 300w" sizes="auto, (max-width: 769px) 100vw, 769px" /></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="800" height="329" src="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-49_No-00.jpg" alt="" data-id="3391" data-full-url="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-49_No-00.jpg" data-link="https://nyanblog2222.com/?attachment_id=3391" class="wp-image-3391" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-49_No-00.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-49_No-00-300x123.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/06/SnapCrab_NoName_2021-6-23_6-25-49_No-00-768x316.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure></li></ul></figure>



<p>対処方法は、有償・無償共通で以下２つあります。<br><strong><strong class="brown_color">１．信頼できる場所に追加する<br>２．すべてのマクロを有効にする</strong></strong></p>



<p>ただ、有償のAccessの場合はセキュリティ設定を変更することで対処できますが、<br>（ファイル→オプション→セキュリティセンター→セキュリティセンターの設定で、<br>「信頼できる場所」「マクロの設定」が変更できます。）<br><span class="marker-under">無償のAccess Runtime（ランタイム版）は設定変更の機能を持ち合わせていません</span>。</p>



<p>よって、対処方法を実施するためには<span class="marker-under">レジストリを変更</span>する必要があります。</p>



<h2 class="wp-block-heading"><span id="toc2">対処方法</span></h2>



<p>以下のどちらかの箇所のレジストリを変更することです。<br><strong><strong class="brown_color">１．信頼できる場所に追加する<br>２．すべてのマクロを有効にする</strong></strong></p>



<p>レジストリ変更方法は<br><span class="marker-under">・レジストリエディターで変更する方法<br>・コマンドプロンプト（BAT）で変更する方法</span><br>があります。</p>



<p>両方紹介しますが、コピペするだけででき、見当違いの場所を変更してしまうなどミスも減ること、<br>複数台のパソコンに反映できること等考慮すると、<br><span class="marker-under">コマンドプロンプト（BAT）で変更する方法がおすすめ</span>です。</p>



<h3 class="wp-block-heading"><span id="toc3">信頼できる場所に追加する</span></h3>



<h4 class="wp-block-heading"><span id="toc4">レジストリエディターで変更する方法</span></h4>



<p>まずレジストリエディターを開きます。<br>「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、<br>「regedit」と入力してエンターを押すと開くことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="199" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501.jpg" alt="レジストリエディタ" class="wp-image-3399" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501-300x75.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501-768x191.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>その後、以下の階層に移動し、<br>「コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\XX.0\Access\Security\Trusted Locations」<br>左側の枠内の「Trusted Locations」を右クリック→新規→キー<br>→名前を「Location10（既定のLocation2以外の数値で設定）」に変更<br>→右側の枠内で右クリック→新規→文字列値→名前を「Path」<br>→「Path」をダブルクリック→値を普段使用するAccessファイルの入ったフォルダパスに変更<br>→右側の枠内でクリック→新規→DWORD値→名前を「AllowSubfolders」<br>→「AllowSubfolders」をダブルクリック→値を「1」に変更</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="282" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062504.jpg" alt="設定" class="wp-image-3402" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062504.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062504-300x106.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062504-768x271.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>これで設定完了です。<br>上記の階層はAccessのバージョンによって異なり、以下の通りです。</p>



<p>・Access 2016 Runtime<br>「<strong class="brown_color">コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations</strong>」</p>



<p>・Access 2013 Runtime<br>「<strong class="brown_color">コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security\Trusted Locations</strong>」</p>



<p>・Access 2010 Runtime<br>「<strong class="brown_color">コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations</strong>」</p>



<h4 class="wp-block-heading"><span id="toc5">コマンドプロンプト（BAT）で変更する方法</span></h4>



<p>以下をAccess Runtimeのバージョンに合わせて、<br>管理者権限を持つユーザーにてコマンドプロンプトから実行してください。</p>



<p>「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、<br>「cmd」と入力してエンターを押すと開くことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="601" height="173" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062503.jpg" alt="コマンドプロンプト" class="wp-image-3401" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062503.jpg 601w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062503-300x86.jpg 300w" sizes="auto, (max-width: 601px) 100vw, 601px" /></figure>



<p>BATで利用する場合、以下で紹介するコマンドをメモ帳へコピーして保存し、<br>最後に拡張子を「txt」から「bat」にしてから実行（クリック）してください。</p>



<p>・Access 2016 Runtime</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location10" /v AllowSubfolders /t "REG_DWORD" /d "1" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location10" /v Path /t "REG_SZ" /d "C:\信頼済みフォルダ" /f</code></pre>



<p>・Access 2013 Runtime</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location10" /v AllowSubfolders /t "REG_DWORD" /d "1" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security\Trusted Locations\Location10" /v Path /t "REG_SZ" /d "C:\信頼済みフォルダ" /f</code></pre>



<p>・Access 2010 Runtime</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location10" /v AllowSubfolders /t "REG_DWORD" /d "1" /f
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location10" /v Path /t "REG_SZ" /d "C:\信頼済みフォルダ" /f</code></pre>



<h3 class="wp-block-heading"><span id="toc6">すべてのマクロを有効にする</span></h3>



<h4 class="wp-block-heading"><span id="toc7">レジストリエディターで変更する方法</span></h4>



<p>まずレジストリエディターを開きます。<br>「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、<br>「regedit」と入力してエンターを押すと開くことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="199" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501.jpg" alt="レジストリエディタ" class="wp-image-3399" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501-300x75.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062501-768x191.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>その後、以下の階層に移動し、<br>「コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\XX.0\Access\Security」<br>右側の枠内でクリック→新規→DWORD値→名前を「VBAWarnings」<br>→「VBAWarnings」をダブルクリック→値を「1」に変更</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="235" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062502.jpg" alt="設定" class="wp-image-3400" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062502.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062502-300x88.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062502-768x226.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>これで設定完了です。<br>上記の階層はAccessのバージョンによって異なり、以下の通りです。</p>



<p>・Access 2016 Runtime<br>「<strong class="brown_color">コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security</strong>」</p>



<p>・Access 2013 Runtime<br>「<strong class="brown_color">コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security</strong>」</p>



<p>・Access 2010 Runtime<br>「<strong class="brown_color">コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security</strong>」</p>



<h4 class="wp-block-heading"><span id="toc8">コマンドプロンプト（BAT）で変更する方法</span></h4>



<p>以下をAccess Runtimeのバージョンに合わせて、<br>管理者権限を持つユーザーにてコマンドプロンプトから実行してください。</p>



<p>「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、<br>「cmd」と入力してエンターを押すと開くことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="601" height="173" src="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062503.jpg" alt="コマンドプロンプト" class="wp-image-3401" srcset="https://nyanblog2222.com/wp-content/uploads/2021/06/2021062503.jpg 601w, https://nyanblog2222.com/wp-content/uploads/2021/06/2021062503-300x86.jpg 300w" sizes="auto, (max-width: 601px) 100vw, 601px" /></figure>



<p>BATで利用する場合、以下で紹介するコマンドをメモ帳へコピーして保存し、<br>最後に拡張子を「txt」から「bat」にしてから実行（クリック）してください。</p>



<p>・Access 2016 Runtime</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security" /v VBAWarnings /t "REG_DWORD" /d "1" /f</code></pre>



<p>・Access 2013 Runtime</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Access\Security" /v VBAWarnings /t "REG_DWORD" /d "1" /f</code></pre>



<p>・Access 2010 Runtime</p>



<pre class="wp-block-code dos"><code>REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Access\Security" /v VBAWarnings /t "REG_DWORD" /d "1" /f</code></pre>



<h3 class="wp-block-heading"><span id="toc9">どちらの対処方法がいいか</span></h3>



<p><strong><strong class="brown_color">１．信頼できる場所に追加する<br>２．すべてのマクロを有効にする</strong></strong></p>



<p>の設定方法について紹介しましたが、どちらの方法を選べばいいかですが、<br><span class="marker-under-red">セキュリティの観点だと「信頼できる場所に追加する」</span>、<br><span class="marker-under-blue">運用の観点だと「すべてのマクロを有効にする」</span>です。<br>（ただ個人的には大差ないので、完全に好みかなと個人的には思ってます……）</p>



<h4 class="wp-block-heading"><span id="toc10">「信頼できる場所に追加する」を選ぶメリット</span></h4>



<p>利用者の限定されるAccessなので、悪質なマクロ付きファイル自体多くないかもしれません。<br>ただ、「信頼できる場所に追加する」であれば<span class="marker-under-red">最低限のセキュリティを担保</span>することができます。<br>例えば、普段使用するAccessファイルの入ったフォルダ（ファイルサーバー）を信頼済みに設定しておくことで、<br>それ以外で使用するファイル（例えばメールで送られてきたファイル）のみ警告で注意喚起することができます。</p>



<h4 class="wp-block-heading"><span id="toc11">「すべてのマクロを有効にする」を選ぶメリット</span></h4>



<p>「すべてのマクロを有効にする」だとマクロは何でも有効になるので、<br>どこでAccessファイルを動かしても警告がでることはありません。<br>なので、組織内でどこのフォルダにAccessを作る等<span class="marker-under-blue">ルールを作る必要はありません</span>し、<br>例えば社内の情報部門であった場合、社員から警告についての<span class="marker-under-blue">問い合わせを全く受けることがありません</span>。<br>もしレジストリエディタで設定する場合は、<span class="marker-under-blue">手順も簡単</span>です。</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3384/">【Access Runtime】セキュリティ警告’非表示’設定[ランタイム]</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/access/3384/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access】メモリ不足です。【対処方法・原因】</title>
		<link>https://nyanblog2222.com/office/access/3359/</link>
					<comments>https://nyanblog2222.com/office/access/3359/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 26 May 2021 22:59:53 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[メモリ不足です。]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3359</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/41.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/41.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/41-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/41-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/41-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はAccessのクエリやマクロを使用した際に、 「メモリ不足です。」 と突然エラーコードがでてしまった場合の対処方法を紹介します。 目次 エラーの原因は？どんな状況で発生する？対処方法Accessファイルの最適化（手 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3359/">【Access】メモリ不足です。【対処方法・原因】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/41.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/41.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/41-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/41-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/41-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はAccessのクエリやマクロを使用した際に、 <br><span class="marker-under-red"><span class="marker-under-red">「<span class="marker-under-red">メモリ不足です。</span>」</span></span> と突然エラーコードがでてしまった場合の対処方法を紹介します。</p>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/05/2021052301.jpg" alt="メモリ不足です。" width="202" height="107" class="alignnone wp-image-3361 size-full"></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-44" checked><label class="toc-title" for="toc-checkbox-44">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラーの原因は？どんな状況で発生する？</a></li><li><a href="#toc2" tabindex="0">対処方法</a></li><li><a href="#toc3" tabindex="0">Accessファイルの最適化（手動）</a></li><li><a href="#toc4" tabindex="0">Accessファイルの最適化（自動）</a></li><li><a href="#toc5" tabindex="0">備考：「メモリ不足です。」エラーを再現するには</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">エラーの原因は？どんな状況で発生する？</span></h2>



<p>エラーメッセージが「メモリ」とあるので<span class="marker-under">パソコンのメモリと勘違いしやすい</span>ですが、<br>原因は<span class="marker-under">クエリやマクロを使用した際に、<span class="marker-under">Accessファイルが2GBを超えてしまうため</span></span><span class="marker-under">です。<br></span><span class="marker-under"></span></p>



<p><span class="marker-under">Accessはファイル全体で最大2GBという制限があります。<br></span>私の場合、大規模データを扱うAccessの改修中、<br>突然「メモリ不足です。」と出て、 以下の対処をすることで解決できました。</p>



<p><strong class="brown_color">＜効果のあったこと＞<br></strong><span>・Accessファイルの最適化</span></p>



<p><strong class="brown_color">＜効果のなかったこと＞<br></strong>・メモリを8GBから16GBに増設<br>・仮想メモリを付与<br>・<span>MaxLocksPerFileというトランザクション処理の最大値を変更<br>・パソコン再起動<br>・Accessファイルの修復　等</span></p>



<h2 class="wp-block-heading"><span id="toc2">対処方法</span></h2>



<p>今回のエラーの原因が、<span class="marker-under">Accessファイルが2GBを超過することにあるため、<br></span>対処方法は以下のファイルサイズ対策になります。</p>



<ul class="wp-block-list"><li><strong class="brown_color">Accessファイルの最適化（おすすめ！）<br></strong>（手動・自動による最適化）<br>Accessファイルを最適化することで、不要な領域を整理する<br>メリット：簡単で、今まで通り利用できる<br>デメリット：最適化しても容量が2GBを超える場合対応できない<strong class="brown_color"> </strong></li><li><strong class="brown_color">Accessファイルの分割<br></strong>Accessファイルのデータを別のAccessファイルに作り、リンクテーブルで連携する。<br>例）AccessAはAテーブル、AccessBはBテーブル。AccessAからBのリンクテーブルを貼る<br><span>メリット：すべてのテーブル容量の合計が2GBを超過しても使用できる<br>デメリット：個々のテーブル容量が2GBを超過すると使えない</span></li><li><strong class="brown_color">DB構築<br></strong>SQLServerや<span>PostgresなどDBを構築し、 データはDBからリンクテーブルで利用、編集や更新等はAccessで行う<br>メリット：テーブルの容量が2GBを超過しても使用できる<br>デメリット：DB構築は少しハードルが高い</span></li></ul>



<p>ただ、「メモリ不足です。」エラーが出る場合、単純に最適化ができていないことが多いため、 次項からは<span class="marker-under">Accessファイルの最適化</span>だけに絞って説明します。</p>



<h2 class="wp-block-heading"><span id="toc3">Accessファイルの最適化（手動）</span></h2>



<p><span class="marker-under">手動で最適化</span>する方法です。<br>最適化は数分程度かかることもあるため、ユーザーの都合のいいときに最適化できます。<br>デメリットは意識的に行わないとならないことです。</p>



<p>方法は、「ファイル」→「情報」から、「データベースの最適化／修復」を選択するだけです。</p>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-17_No-00.jpg" alt="最適化" width="800" height="452" class="alignnone wp-image-3368 size-full" srcset="https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-17_No-00.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-17_No-00-300x170.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-17_No-00-768x434.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /> 押すと、最適化が開始され、右下にメッセージが現れます。 <img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-28-23_No-00.jpg" alt="" width="451" height="44" class="alignnone size-full wp-image-3370" srcset="https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-28-23_No-00.jpg 451w, https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-28-23_No-00-300x29.jpg 300w" sizes="auto, (max-width: 451px) 100vw, 451px" /></p>



<h2 class="wp-block-heading"><span id="toc4">Accessファイルの最適化（自動）</span></h2>



<p><span class="marker-under">自動で最適化</span>する方法です。<br>Accessファイルを閉じる際に、毎回最適化されるのでユーザーは意識せず最適化できます。<br>デメリットとしては、毎回最適化に時間がかかることや、<br>複数ユーザーで頻繁に使用すると破損するリスクがあるため、あまり使用しない方がいいという意見もあります。</p>



<p>方法は、「ファイル」→「Accessのオプション」から、「閉じるときに最適化する」を選択するだけです。</p>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-47_No-00.jpg" alt="最適化" width="800" height="579" class="alignnone wp-image-3369 size-full" srcset="https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-47_No-00.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-47_No-00-300x217.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/05/SnapCrab_NoName_2021-5-23_15-14-47_No-00-768x556.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>



<h2 class="wp-block-heading"><span id="toc5">備考：「メモリ不足です。」エラーを再現するには</span></h2>



<p>まず、以下のコードを実行して、2GB弱のデータを作ります。<br>（コード自体は2GB以上作ろうとするので、処理の途中でAccessが固まる or エラーになります）<br>コードは、<a href="https://docs.microsoft.com/ja-jp/office/troubleshoot/access/error-when-perform-operation-on-table">「Microsoft Docs：Access テーブルで操作を実行すると、&#8221;ディスク領域またはメモリが足りない&#8221; というエラーが発生する」</a>を参考にしています。</p>



<pre class="wp-block-code basic"><code>Sub CreateBigTable()
　　Dim db As Database, rs As Recordset
　　Dim iCounter As Long, strChar As String
　　Set db = CurrentDb
　　db.Execute "CREATE TABLE BigTable (ID LONG, Field1 TEXT(255), " &amp; _
　　　　"Field2 TEXT(255), Field3 TEXT(255), Field4 TEXT(255))", _
　　　　dbFailOnError
　　Set rs = db.OpenRecordset("BigTable", dbOpenDynaset)
　　iCounter = 0
　　strChar = String(255, " ")
　　While iCounter &lt;= 100000000
　　　　rs.AddNew
　　　　rs!ID = iCounter
　　　　rs!Field1 = strChar
　　　　rs!Field2 = strChar
　　　　rs!Field3 = strChar
　　　　rs!Field4 = strChar
　　　　rs.Update
　　　　iCounter = iCounter + 1
　　Wend
　　MsgBox "Done!"
End Sub</code></pre>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/05/2021052302.jpg" alt="2GB" width="421" height="580" class="alignnone wp-image-3362 size-full" srcset="https://nyanblog2222.com/wp-content/uploads/2021/05/2021052302.jpg 421w, https://nyanblog2222.com/wp-content/uploads/2021/05/2021052302-218x300.jpg 218w" sizes="auto, (max-width: 421px) 100vw, 421px" /></p>



<p>次に、できたテーブルを使用してクエリを作成し、動作させると 「メモリ不足です。」のエラーが再現できます。</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3359/">【Access】メモリ不足です。【対処方法・原因】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/access/3359/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【C#】配列からリスト（List）、リスト（List）から配列へ変換</title>
		<link>https://nyanblog2222.com/programming/c-sharp/3343/</link>
					<comments>https://nyanblog2222.com/programming/c-sharp/3343/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 11 May 2021 02:06:40 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[リスト]]></category>
		<category><![CDATA[変換]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3343</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/98.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/98.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/98-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/98-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/98-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はC#で使用する配列とリスト（List）のそれぞれの変換方法についてご紹介します。 目次 配列とリストの違い配列からリスト（List）への変換リスト（List）から配列への変換 配列とリストの違い 配列とリストの主な [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/3343/">【C#】配列からリスト（List）、リスト（List）から配列へ変換</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/98.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/98.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/98-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/98-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/98-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はC#で使用する配列とリスト（List）のそれぞれの変換方法についてご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-46" checked><label class="toc-title" for="toc-checkbox-46">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">配列とリストの違い</a></li><li><a href="#toc2" tabindex="0">配列からリスト（List）への変換</a></li><li><a href="#toc3" tabindex="0">リスト（List）から配列への変換</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">配列とリストの違い</span></h2>



<p><span class="marker-under-red">配列とリストの主な違いは要素数、データの箱の数が固定か可変かどうか</span>です。</p>



<p><span class="marker-under-red">配列の場合は</span>宣言時に要素数を指定するため、<span class="marker-under-red">要素数が固定である</span>必要があります。<br>また、2次元配列、3次元配列&#8230;のように多次元配列を容易に扱うことができます。</p>



<p>一方で<span class="marker-under-red">リストの場合は</span>要素数の指定がなく、<br>要素の追加、削除を自由にできるため、<span class="marker-under-red">要素数を動的に変更することができます</span>。</p>



<h2 class="wp-block-heading"><span id="toc2">配列からリスト（List）への変換</span></h2>



<p>配列からリストに変換する方法をご紹介します。</p>



<p>配列 string[] からリスト List&lt;string&gt; に変換するには<br><span class="marker-under-red">コンストラクタの引数に配列 string[] を渡す</span>ことで変換することができます。<br>※ ここでは例で型をstringで説明しています。</p>



<p>以下の例では1行目で配列を初期化し、2行目でリストを宣言して配列からリストに変換しています。</p>



<pre class="wp-block-code cs"><code>string&#91;] array = {"apple", "orange", "grapes"};
List&lt;string&gt; list = new List&lt;string&gt;(array);</code></pre>



<h2 class="wp-block-heading"><span id="toc3">リスト（List）から配列への変換</span></h2>



<p>リストから配列に変換する方法をご紹介します。</p>



<p>リスト List&lt;string&gt; から配列 string[] に変換するには<br><span class="marker-under-red">配列が持つメソッド ToArray() で変換すること</span>ができます。<br>※ ここでは例で型をstringで説明しています。</p>



<p>以下の例では1～4行目でリストを宣言・初期化し、6行目で ToArray() メソッドを使って配列に変換しています。</p>



<pre class="wp-block-code cs"><code>List&lt;string&gt; list = new List&lt;string&gt;();
list.Add("apple");
list.Add("orange");
list.Add("grapes");

string&#91;] array = list.ToArray();</code></pre>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/3343/">【C#】配列からリスト（List）、リスト（List）から配列へ変換</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/c-sharp/3343/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access】データ型変換まとめ【文字列・数値・日付など】</title>
		<link>https://nyanblog2222.com/office/access/3299/</link>
					<comments>https://nyanblog2222.com/office/access/3299/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 09 May 2021 11:17:12 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[データ型変換]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3299</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/40.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/40.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/40-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/40-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/40-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />AccessのクエリやVBA、SQLでよく使うデータ型変換関数をまとめました。 ◇よく使うデータ型変換とは？Googleで頻繁に検索されているものを主に紹介。・文字列⇔数値・文字列⇔日付型・メモ型→文字列（テキスト型）・ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3299/">【Access】データ型変換まとめ【文字列・数値・日付など】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/40.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/40.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/40-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/40-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/40-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>AccessのクエリやVBA、SQLでよく使う<span class="marker-under">データ型変換関数</span>をまとめました。</p>



<p><strong class="brown_color">◇よく使うデータ型変換とは？</strong><br>Googleで頻繁に検索されているものを主に紹介。<br><span class="marker-under">・文字列⇔数値<br>・文字列⇔日付型<br>・メモ型→文字列（テキスト型）<br>・数値→通貨型</span><br>その中でもあまり使わないものの説明は省略しています。</p>



<p>※<span class="marker-under-red">許容範囲の大きい型から小さい型への変換は注意</span>してください！<br>　エラーなく桁落ちするのでバグと認識しにくいです。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-48" checked><label class="toc-title" for="toc-checkbox-48">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">よく使うデータ型変換と使用例</a><ol><li><a href="#toc2" tabindex="0">文字列⇔数値</a><ol><li><a href="#toc3" tabindex="0">・文字列→数値（整数型）</a></li><li><a href="#toc4" tabindex="0">・文字列→数値（長整数型）</a></li><li><a href="#toc5" tabindex="0">・文字列→数値（倍精度浮動小数点型）</a></li><li><a href="#toc6" tabindex="0">&nbsp;参考：文字列→数値においてValやCSng、CDecを使わない理由</a></li><li><a href="#toc7" tabindex="0">・数値→文字列</a></li><li><a href="#toc8" tabindex="0">・変換値にNullが含まれる場合</a></li></ol></li><li><a href="#toc9" tabindex="0">文字列⇔日付型</a><ol><li><a href="#toc10" tabindex="0">・文字列→日付型</a><ol><li><a href="#toc11" tabindex="0">・「YYYY/MM/DD」「YYYY年MM月DD日」「gg年MM月DD日」形式の場合</a></li><li><a href="#toc12" tabindex="0">・「YYYYMMDD」形式の場合</a></li><li><a href="#toc13" tabindex="0">・「YYYY.MM.DD」形式の場合</a></li><li><a href="#toc14" tabindex="0">・文字列がNullの場合</a></li></ol></li><li><a href="#toc15" tabindex="0">・日付型→文字列型</a></li></ol></li><li><a href="#toc16" tabindex="0">メモ型→文字列（テキスト型）</a></li><li><a href="#toc17" tabindex="0">数値→通貨型</a></li></ol></li><li><a href="#toc18" tabindex="0">参考：データ型変換関数一覧（Microsoft公式サイトより）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">よく使うデータ型変換と使用例</span></h2>



<h3 class="wp-block-heading"><span id="toc2">文字列⇔数値</span></h3>



<h4 class="wp-block-heading"><span id="toc3">・文字列→数値（整数型）</span></h4>



<pre class="wp-block-code"><code>CInt(&#91;項目名])</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>－１，２３４</td><td>-1234</td></tr><tr><td>－１２３４．５</td><td>-1234</td></tr><tr><td>1,000.001</td><td>1000</td></tr><tr><td>0</td><td>0</td></tr><tr><td>(Null)</td><td>#エラー</td></tr><tr><td>-1.001</td><td>-1</td></tr><tr><td>１２３４．５</td><td>1234</td></tr><tr><td>￥１，２３４</td><td>1234</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc4">・文字列→数値（長整数型）</span></h4>



<pre class="wp-block-code"><code>CLng(&#91;項目名])</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>－１，２３４</td><td>-1234</td></tr><tr><td>－１２３４．５</td><td>-1234</td></tr><tr><td>1,000.001</td><td>1000</td></tr><tr><td>0</td><td>0</td></tr><tr><td>(Null)</td><td>#エラー</td></tr><tr><td>-1.001</td><td>-1</td></tr><tr><td>１２３４．５</td><td>1234</td></tr><tr><td>￥１，２３４</td><td>1234</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc5">・文字列→数値（倍精度浮動小数点型）</span></h4>



<pre class="wp-block-code"><code>CDbl(&#91;項目名])</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>－１，２３４</td><td>-1234</td></tr><tr><td>－１２３４．５</td><td>-1234.5</td></tr><tr><td>1,000.001</td><td>1000.001</td></tr><tr><td>0</td><td>0</td></tr><tr><td>(Null)</td><td>#エラー</td></tr><tr><td>-1.001</td><td>-1.001</td></tr><tr><td>１２３４．５</td><td>1234.5</td></tr><tr><td>￥１，２３４</td><td>1234</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc6">&nbsp;参考：文字列→数値においてValやCSng、CDecを使わない理由</span></h4>



<p><strong>・Val</strong><br>文字列から数値への変換といえば、Val関数もありますが、<br>文字列に「，」や「￥」、全角文字が含まれると対応できない（値が0になる）ため、あまりおすすめできません。<br>汎用性を考えるとCDbl([項目名])がおすすめです。</p>



<p><strong>・CSng</strong><br>単精度浮動小数点型は演算誤差が発生しやすくおすすめできません。<br>そもそもややこしい分野なのであまり理解せず使用するには危険かと思います。&nbsp;</p>



<p><strong>・CDec</strong><br>Access クエリではサポートされていません。</p>



<h4 class="wp-block-heading"><span id="toc7">・数値→文字列</span></h4>



<pre class="wp-block-code"><code>CStr(&#91;項目名])</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>数値（整数型）</th><th>数値（長整数型）</th><th>数値（単精度浮動小数点型）</th><th>数値（倍精度浮動小数点型）</th></tr></thead><tbody><tr><td>1000</td><td>1000</td><td>1000.001</td><td>1000.001</td></tr><tr><td>1</td><td>1</td><td>1</td><td>1</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>-1</td><td>-1</td><td>-1</td><td>-1</td></tr><tr><td>-1000</td><td>-1000</td><td>-1000.001</td><td>-1000.001</td></tr></tbody></table></figure>



<p>↓　文字列変換</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>文字列</th><th>文字列</th><th>文字列</th><th>文字列</th></tr></thead><tbody><tr><td>1000</td><td>1000</td><td>1000.001</td><td>1000.001</td></tr><tr><td>1</td><td>1</td><td>1</td><td>1</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>-1</td><td>-1</td><td>-1</td><td>-1</td></tr><tr><td>-1000</td><td>-1000</td><td>-1000.001</td><td>-1000.001</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc8">・変換値にNullが含まれる場合</span></h4>



<p>変換元の項目に値が何もない（Null）場合がありますが、<br>変換関数で出力される値は殆どの場合「#エラー」となってしまいます。<br>そのため、Nullが想定される場合はNullを指定の値に置換するNz関数を利用します。</p>



<pre class="wp-block-code"><code>Nz(&#91;項目名], 置換値）</code></pre>



<p>例）CDbl(Nz([項目名],0))、CStr(Nz([項目名],0))<br>　　変換前にNullが0に置換されるので、エラーとなりません。</p>



<h3 class="wp-block-heading"><span id="toc9">文字列⇔日付型</span></h3>



<h4 class="wp-block-heading"><span id="toc10">・文字列→日付型</span></h4>



<p>基本、日付型への変換はCDateを使用しますが、<br>文字列がどのような形式かでやり方が異なります。</p>



<h5 class="wp-block-heading"><span id="toc11">・「YYYY/MM/DD」「YYYY年MM月DD日」「gg年MM月DD日」形式の場合</span></h5>



<pre class="wp-block-code"><code>CDate(&#91;項目名])</code></pre>



<p>変換例<br>「#エラー」となっている箇所については、次項から説明します。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>20210501</td><td>#エラー</td></tr><tr><td>2021/05/02</td><td>2021/05/02</td></tr><tr><td>2021年5月3日</td><td>2021/05/03</td></tr><tr><td>令和3年5月4日</td><td>2021/05/04</td></tr><tr><td>2021.05.05</td><td>#エラー</td></tr><tr><td>(Null)</td><td>#エラー</td></tr></tbody></table></figure>



<h5 class="wp-block-heading"><span id="toc12">・「YYYYMMDD」形式の場合</span></h5>



<pre class="wp-block-code"><code>CDate(Format(&#91;項目名],"@@@@\/@@\/@@"))</code></pre>



<p>または、</p>



<pre class="wp-block-code"><code>DateSerial(Mid(&#91;項目名],1,4),Mid(&#91;項目名],5,2),Mid(&#91;項目名],7,2))</code></pre>



<p>どちらの関数を使っても結果は特に変わらないため好みだと思いますが、<br>個人的には見やすく、ミスも少なそうなのでFormatを使用するのがおすすめです。</p>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>20210501</td><td>2021/05/01</td></tr></tbody></table></figure>



<h5 class="wp-block-heading"><span id="toc13">・「YYYY.MM.DD」形式の場合</span></h5>



<pre class="wp-block-code"><code>CDate(Replace(&#91;項目名],".","/"))</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>2021.05.05</td><td>2021/05/05</td></tr></tbody></table></figure>



<h5 class="wp-block-heading"><span id="toc14">・文字列がNullの場合</span></h5>



<pre class="wp-block-code"><code>IIf(IsNull(&#91;項目名]),Null,CDate(&#91;項目名]))</code></pre>



<p>NullであればNullを返すので、エラーとなりません。</p>



<h4 class="wp-block-heading"><span id="toc15">・日付型→文字列型</span></h4>



<pre class="wp-block-code"><code>CStr(&#91;項目名])</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>2021/01/03</td><td>2021/01/03</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">メモ型→文字列（テキスト型）</span></h3>



<p>変換関数はありません。</p>



<p>変換不要で、<br>・メモ型→文字列<br>に値の代入（更新）ができます。</p>



<h3 class="wp-block-heading"><span id="toc17">数値→通貨型</span></h3>



<pre class="wp-block-code"><code>CCur(&#91;項目名])</code></pre>



<p>変換例</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>変換前</th><th>変換後</th></tr></thead><tbody><tr><td>-1000.001</td><td>-¥1,000.001<br>（見た目上は-¥1,000）</td></tr><tr><td>-1</td><td>-¥1</td></tr><tr><td>0</td><td>¥0</td></tr><tr><td>1</td><td>¥1</td></tr><tr><td>1000.001</td><td>¥1,000.001<br>（見た目上は¥1,000）</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc18">参考：データ型変換関数一覧（Microsoft公式サイトより）</span></h2>



<p>データ変換関数は主に以下のような「C」から始まるものがあります。<br>これらの他にも変換関数はありますが、これだけ知っていたら十分かと思われます。</p>



<p><a href="https://support.microsoft.com/ja-jp/office/%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B%E5%A4%89%E6%8F%9B%E9%96%A2%E6%95%B0-8ebb0e94-2d43-4975-bb13-87ac8d1a2202">Microsoft：データ型変換関数</a>より引用</p>



<figure id="tblID0EJDAAA" class="wp-block-table"><table><thead><tr><th><strong>関数</strong></th><th><strong>戻り値の型</strong></th><th><strong>引数&nbsp;</strong><strong><em>expression</em>&nbsp;</strong><strong>の範囲</strong></th></tr></thead><tbody><tr><td><strong>CBool</strong></td><td>ブール値型</td><td>任意の有効な<strong>文字列式</strong>または数式を指定します。</td></tr><tr><td><strong>CByte</strong></td><td>バイト型</td><td>0 から 255。</td></tr><tr><td><strong>CCur</strong></td><td>通貨型</td><td>-922,337,203,685,477.5808 から 922,337,203,685,477.5807。</td></tr><tr><td><strong>CDate</strong></td><td>日付型</td><td>任意の有効な日付式を指定します。</td></tr><tr><td><strong>CDbl</strong></td><td>倍精度浮動小数点型</td><td>-1.79769313486231E308 から<br>-4.94065645841247E-324 (負の値)。<br>4.94065645841247E-324 から 1.79769313486232E308 (正の値)。</td></tr><tr><td><strong>CDec</strong></td><td>小数点型</td><td>
<p>小数点以下の桁数が 0 の場合 (小数部分を持たない場合)、<br>+/-79,228,162,514,264,337,593,543,950,335。<br>小数点以下の桁数が 28 桁の場合、<br>+/-7.9228162514264337593543950335。<br>最小値は、0 を除いた場合は、<br>0.0000000000000000000000000001。</p>
</td></tr><tr><td><strong>CInt</strong></td><td>整数型</td><td>-32,768 から 32,767。小数点以下は丸められます。</td></tr><tr><td><strong>CLng</strong></td><td>長整数型</td><td>-2,147,483,648 から 2,147,483,647。<br>小数点以下は丸められます。</td></tr><tr><td><strong>CSng</strong></td><td>単精度浮動小数点型</td><td>-3.402823E38 から -1.401298E-45 (負の値)。<br>1.401298E-45 から 3.402823E38 (正の値)。</td></tr><tr><td><strong>CStr</strong></td><td>文字列</td><td>CStr の戻り値は&nbsp;<em>expression</em>&nbsp;引数に依存します。</td></tr><tr><td><strong>CVar</strong></td><td>バリアント型</td><td>数値の場合は<strong>倍精度浮動小数点型</strong>の範囲と同です。<br>数値以外の場合は<strong>文字列型の範囲</strong>と同じです。</td></tr></tbody></table></figure>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3299/">【Access】データ型変換まとめ【文字列・数値・日付など】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/access/3299/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Windows10】外字の作り方、インポート・エクスポート方法</title>
		<link>https://nyanblog2222.com/windows/3132/</link>
					<comments>https://nyanblog2222.com/windows/3132/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 28 Feb 2021 11:19:10 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[外字]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3132</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/109.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/109.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/109-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/109-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/109-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、外字（ユーザー定義文字）の作り方と、インポート・エクスポート方法を紹介します。 目次 外字とは外字の作り方外字ファイルはどこにあるか外字のインポート・エクスポート方法インポートエクスポートエラー事例：「要求された [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/3132/">【Windows10】外字の作り方、インポート・エクスポート方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/109.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/109.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/109-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/109-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/109-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、<span class="marker-under">外字（ユーザー定義文字）の作り方</span>と、<span class="marker-under">インポート・エクスポート方法</span>を紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-50" checked><label class="toc-title" for="toc-checkbox-50">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">外字とは</a></li><li><a href="#toc2" tabindex="0">外字の作り方</a></li><li><a href="#toc3" tabindex="0">外字ファイルはどこにあるか</a></li><li><a href="#toc4" tabindex="0">外字のインポート・エクスポート方法</a><ol><li><a href="#toc5" tabindex="0">インポート</a></li><li><a href="#toc6" tabindex="0">エクスポート</a></li><li><a href="#toc7" tabindex="0">エラー事例：「要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。」と出た場合</a></li><li><a href="#toc8" tabindex="0">エラー事例：「アクセスが拒否されました。」と出た場合</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">外字とは</span></h2>



<p>外字とは、文字コードやフォントデータなどに含まれていない文字で、<br>日本で言う外字は、主に<span class="marker-under">JIS規格の文字コード（JIS X0208）に含まれない文字</span>を指します。<br>例えば、以下のような旧漢字ですね。<br><a href="https://toyodo.jp/gaizi_kigou/">東洋堂：外字（旧漢字）一覧表</a></p>



<p>外字をパソコンで使用するには、<br>・企業や個人が作成したフォントをインストール<br>・自分で外字を作る（ユーザー定義文字）<br>に分けることができます。</p>



<p>今回は２つ目の、<span class="marker-under">ユーザー定義文字の作り方</span>を紹介します。</p>



<h2 class="wp-block-heading"><span id="toc2">外字の作り方</span></h2>



<p>まず、以下の手順で<span class="marker-under">外字エディター</span>を開きます。</p>



<p>１．キーボード左下の「Windowsマーク」＋「R」を押し、ファイル名を指定して実行<br>２．「eudcedit」と入力してOK</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="399" height="206" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27.jpg" alt="" class="wp-image-3140" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27.jpg 399w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-300x155.jpg 300w" sizes="auto, (max-width: 399px) 100vw, 399px" /></figure>



<p>もしくは</p>



<p>１．画面右下のスタートボタンの隣に検索窓があるので、そこに「外字エディター」と入力<br>２．外字エディターをクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="643" height="675" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-1.jpg" alt="" class="wp-image-3141" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-1.jpg 643w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-1-286x300.jpg 286w" sizes="auto, (max-width: 643px) 100vw, 643px" /></figure>



<p>以下のように外字エディターが開きます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="450" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-111.jpg" alt="" class="wp-image-3142" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-111.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-111-300x169.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-111-768x432.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>初期画面としてコードの選択が開きますので、<br>使用したい文字コードを選択し、OKを押します。<br>（今回の例だと、文字コードF041を外字にします）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="545" height="435" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-2.jpg" alt="" class="wp-image-3143" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-2.jpg 545w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-2-300x239.jpg 300w" sizes="auto, (max-width: 545px) 100vw, 545px" /></figure>



<p>すると、以下のように格子状のエディタが開きます。<br>あとは絵を描くように、マウスやペンタブで文字を作成します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="735" height="800" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-3.jpg" alt="" class="wp-image-3144" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-3.jpg 735w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-3-276x300.jpg 276w" sizes="auto, (max-width: 735px) 100vw, 735px" /></figure>



<p>試しにこんな絵をかいてみました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="735" height="800" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-4.jpg" alt="" class="wp-image-3145" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-4.jpg 735w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-4-276x300.jpg 276w" sizes="auto, (max-width: 735px) 100vw, 735px" /></figure>



<p>外字を書き終えたら「Ctrl＋S」で上書き保存し、外字エディターを閉じます。</p>



<p>さて、うまくできたでしょうか。<br>Wordを開いて確認します。</p>



<p>今回は、F041を外字としましたので、「F041」と入力し「F5」キーを押して変換します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="749" height="724" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-5.jpg" alt="" class="wp-image-3146" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-5.jpg 749w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-5-300x290.jpg 300w" sizes="auto, (max-width: 749px) 100vw, 749px" /></figure>



<p>うまく変換候補に外字がでてきました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="430" height="637" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-6.jpg" alt="" class="wp-image-3147" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-6.jpg 430w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-6-203x300.jpg 203w" sizes="auto, (max-width: 430px) 100vw, 430px" /></figure>



<p>ばっちりですね♪</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="475" height="478" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-7-1.jpg" alt="" class="wp-image-3148" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-7-1.jpg 475w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-7-1-298x300.jpg 298w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-7-1-150x150.jpg 150w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-7-1-120x120.jpg 120w" sizes="auto, (max-width: 475px) 100vw, 475px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">外字ファイルはどこにあるか</span></h2>



<p>前項で外字を作成しましたが、どちらに保存されているか紹介します。<br>外字ファイルの場所は、次項で説明する外字のインポート・エクスポートをする上で知っておく必要があります。</p>



<p>外字は以下の外字ファイルに格納されています。<br>・<strong class="brown_color">EUDC.TTE</strong>：外字フォント。外字データを格納<br>・<strong class="brown_color">EUDC.EUF</strong>：外字エディター設定ファイル。外字フォントの管理情報を格納</p>



<p>これらの外字ファイルですが、<span class="marker-under">フォントフォルダ</span>に格納されています。<br>ただ、フォントフォルダを以下のようにエクスプローラーで見に行くと、見当たりません。<br>（C:\Windows\Fonts）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="451" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-8.jpg" alt="" class="wp-image-3149" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-8.jpg 800w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-8-300x169.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-27-8-768x433.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>なので、スタートボタン→Windowsシステムツールから、<br>コマンドプロンプトを開き、以下のコマンドをいれると確認できます。</p>



<pre class="wp-block-code dos"><code>dir /s C:\Windows\Fonts\eudc.*</code></pre>



<p>このように、外字ファイルが見つかりました。</p>



<pre class="wp-block-code dos"><code>C:\Windows\Fonts のディレクトリ

2021/02/27  19:10            40,074 EUDC.EUF
2021/02/27  19:10            78,412 EUDC.TTE
               2 個のファイル             118,486 バイト</code></pre>



<h2 class="wp-block-heading"><span id="toc4">外字のインポート・エクスポート方法</span></h2>



<p>前項の<span class="marker-under">外字ファイルのインポート・エクスポート方法</span>を紹介します。</p>



<p>どちらにしても、<br>まず<span class="marker-under">コマンドプロンプトを「管理者として実行」</span>して開きます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="664" height="201" src="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-28-1.jpg" alt="" class="wp-image-3150" srcset="https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-28-1.jpg 664w, https://nyanblog2222.com/wp-content/uploads/2021/02/2021-02-28-1-300x91.jpg 300w" sizes="auto, (max-width: 664px) 100vw, 664px" /></figure>



<h3 class="wp-block-heading"><span id="toc5">インポート</span></h3>



<p>インポートの場合、コマンドプロンプトで、以下のコマンドを実行します。</p>



<pre class="wp-block-code dos"><code>ren C:\Windows\Fonts\eudc.tte eudc_old.tte
copy /Y C:\Fonts\eudc.* C:\Windows\Fonts</code></pre>



<p>例として、「C:\Fonts\」に入れた外字ファイルをインポートします。<br>結果、以下のようにうまくコピーできました♪</p>



<pre class="wp-block-code dos"><code>C:\WINDOWS\system32&gt;ren C:\Windows\Fonts\eudc.tte eudc_old.tte

C:\WINDOWS\system32&gt;copy /Y C:\Fonts\eudc.* C:\Windows\Fonts
C:\Fonts\EUDC.EUF
C:\Fonts\eudc.tte
        2 個のファイルをコピーしました。</code></pre>



<p>なお「ren」でリネームをかけていますが、バックアップ目的ではなく、<br>リネームせずコピーコマンドを実行すると、<br>「要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。」<br>とエラーが出るからです。詳しくは後述します。</p>



<h3 class="wp-block-heading"><span id="toc6">エクスポート</span></h3>



<p>エクスポートの場合、コマンドプロンプトで、以下のコマンドを実行します。<br>例として、「C:\Fonts\」に外字ファイルをエクスポートします。</p>



<pre class="wp-block-code dos"><code>copy /Y C:\Windows\Fonts\eudc.* C:\Fonts</code></pre>



<p>結果、以下のようにうまくコピーできました♪</p>



<pre class="wp-block-code dos"><code>C:\WINDOWS\system32&gt;copy /Y C:\Windows\Fonts\eudc.* C:\Fonts
C:\Windows\Fonts\EUDC.EUF
C:\Windows\Fonts\EUDC.TTE
        2 個のファイルをコピーしました。</code></pre>



<h3 class="wp-block-heading"><span id="toc7">エラー事例：「要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。」と出た場合</span></h3>



<p>EUDC.TTEをコピーして上書きしようとすると、<br>「<span class="marker-under-red">要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。</span>」と出ます。<br>EUDC.TTEは外字データの入っているファイルなので、何かしらのソフトで掴んでいるため、と想定されます。</p>



<p>このようなエラーがでます。</p>



<pre class="wp-block-code dos"><code>C:\WINDOWS\system32&gt;copy /Y C:\Fonts\eudc.* C:\Windows\Fonts
C:\Fonts\EUDC.EUF
C:\Fonts\EUDC.TTE
要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。
        1 個のファイルをコピーしました。</code></pre>



<p>なので、前述のインポート方法に書いたように、<br><span class="marker-under">一度リネームしてあげる</span>必要があります。</p>



<h3 class="wp-block-heading"><span id="toc8">エラー事例：「アクセスが拒否されました。」と出た場合</span></h3>



<p>例えば、コマンドプロンプトを管理者権限で開かずコピーコマンドを実行したときなど、<br>Fontsフォルダのデータをコピーもしくは更新しようとすると、<br>アクセス権限の関係で「<span class="marker-under-red">アクセスが拒否されました。</span>」と出ます。</p>



<p>このようなエラーです。</p>



<pre class="wp-block-code dos"><code>C:\Users\XXXX&gt;copy /Y C:\Fonts\eudc.* C:\Windows\Fonts
C:\Fonts\EUDC.EUF
アクセスが拒否されました。
C:\Fonts\EUDC.TTE
アクセスが拒否されました。
        0 個のファイルをコピーしました。</code></pre>



<p>その場合、２つの対処方法があります。</p>



<p><strong class="brown_color">１．コマンドプロンプトを管理者で開き、コピーする</strong></p>



<p>インポート・エクスポート方法にもあったように、<br>コマンドプロンプトを管理者で開いてコピーする方法です。</p>



<p><strong>２．「cacls」コマンドで、ユーザーに権限を与える</strong></p>



<p>フォントフォルダ全体にユーザー権限を与えることでアクセスできるようにします。</p>



<p>これをするメリットとして、以下のコマンドを一度だけ管理者で実行しておけば、<br>２回目からはユーザー権限でもコピーできるようになります。<br>管理者ではないユーザーに共通のフォントファイルを定期的に更新したい場合など有効かと思います。</p>



<pre class="wp-block-code dos"><code>cacls C:\Windows\Fonts /e /p XXXX（ユーザー名）:F</code></pre>



<p>このように権限が変わり、コピーできるようになります。</p>



<pre class="wp-block-code dos"><code>C:\WINDOWS\system32&gt;cacls C:\Windows\Fonts /e /p XXXX（ユーザー名）:F
処理ディレクトリ: C:\Windows\Fonts</code></pre>



<p>ユーザー名が分からない場合は、コマンドプロンプトで「whoami」と入力してみてください。</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/3132/">【Windows10】外字の作り方、インポート・エクスポート方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/3132/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/2835/</link>
					<comments>https://nyanblog2222.com/programming/javascript/2835/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 09 Jan 2021 02:57:23 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[カレンダー]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[作成]]></category>
		<category><![CDATA[初心者向け]]></category>
		<category><![CDATA[演習]]></category>
		<category><![CDATA[祝日]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2835</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/68.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/68.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは！前回はJavaScriptでカレンダーを作成しました。今回は、前回作成したカレンダーに祝日対応を組み込んでいきたいと思います！ 前回の記事は下のリンクからどうぞ♪ 目次 はじめにフロー（箇条書き）CSVファイ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/2835/">【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/68.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/68.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは！<br>前回はJavaScriptでカレンダーを作成しました。<br>今回は、前回作成したカレンダーに祝日対応を組み込んでいきたいと思います！</p>



<p>前回の記事は下のリンクからどうぞ♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/2749/" title="【初心者向け】JavaScriptでカレンダー作成【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】JavaScriptでカレンダー作成【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）でカレンダーをライブラリなしで作り方を紹介。前月、次月を含めた1週間表示や日付の値を取得する方法をHTML,CSSソースやデモページ付きで解説！プログラミング初心者の方へ勉強や参考に！</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.01.07</div></div></div></div></a>
</div></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-52" checked><label class="toc-title" for="toc-checkbox-52">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">フロー（箇条書き）</a><ol><li><a href="#toc3" tabindex="0">CSVファイル読み込み</a></li><li><a href="#toc4" tabindex="0">当月の日付判定</a></li></ol></li><li><a href="#toc5" tabindex="0">HTML</a></li><li><a href="#toc6" tabindex="0">CSS</a></li><li><a href="#toc7" tabindex="0">JavaScript</a><ol><li><a href="#toc8" tabindex="0">コード</a></li><li><a href="#toc9" tabindex="0">解説</a><ol><li><a href="#toc10" tabindex="0">・祝日データ（CSVファイル）取得</a></li><li><a href="#toc11" tabindex="0">・当月の日付を設定　コード：70～77行目</a></li><li><a href="#toc12" tabindex="0">・日付チェック　checkDate関数</a></li><li><a href="#toc13" tabindex="0">・当日判定　isToday関数</a></li><li><a href="#toc14" tabindex="0">・祝日判定　isHoliday関数</a></li></ol></li></ol></li><li><a href="#toc15" tabindex="0">デモ</a></li><li><a href="#toc16" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>祝日の対応ですが、今回はCSVファイルを読み込んで日付判定を行います。<br>CSVファイルは<a href="https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html">内閣府のWebサイト</a>から取得できます。<br>※ 文字コードをShift-JISからUTF-8に変更しました。</p>



<p>直接ダウンロードされる場合は<a href="https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv">ここをクリック</a>してください。</p>



<p>データは日付、祝日名の2項目で作成されています。</p>



<h2 class="wp-block-heading"><span id="toc2">フロー（箇条書き）</span></h2>



<p>箇条書きで処理フローを記述していきます。<br>CSVファイルの読み込みと当月の日付判定のそれぞれで変更を加えます。</p>



<h3 class="wp-block-heading"><span id="toc3">CSVファイル読み込み</span></h3>



<ol class="wp-block-list">
<li>CSVファイルを読み込み</li>



<li>読み込み完了後、カレンダー表示</li>
</ol>



<h3 class="wp-block-heading"><span id="toc4">当月の日付判定</span></h3>



<ol class="wp-block-list">
<li>その日付の情報を取得（本日か、祝日か等）</li>



<li>条件に応じてカレンダー（HTML）を設定</li>
</ol>



<h2 class="wp-block-heading"><span id="toc5">HTML</span></h2>



<pre class="wp-block-code html"><code>&lt;div class="wrapper"&gt;
    &lt;!-- xxxx年xx月を表示 --&gt;
    &lt;h1 id="header"&gt;&lt;/h1&gt;

    &lt;!-- ボタンクリックで月移動 --&gt;
    &lt;div id="next-prev-button"&gt;
        &lt;button id="prev" onclick="prev()"&gt;‹&lt;/button&gt;
        &lt;button id="next" onclick="next()"&gt;›&lt;/button&gt;
    &lt;/div&gt;

    &lt;!-- カレンダー --&gt;
    &lt;div id="calendar"&gt;&lt;/div&gt;
&lt;/div&gt;</code></pre>



<p>こちらの記事のHTMLと同じなので、解説は省略します♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/2749/" title="【初心者向け】JavaScriptでカレンダー作成【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/67-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】JavaScriptでカレンダー作成【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）でカレンダーをライブラリなしで作り方を紹介。前月、次月を含めた1週間表示や日付の値を取得する方法をHTML,CSSソースやデモページ付きで解説！プログラミング初心者の方へ勉強や参考に！</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.01.07</div></div></div></div></a>
</div></figure>



<h2 class="wp-block-heading"><span id="toc6">CSS</span></h2>



<p><a href="https://nyanblog2222.com/programming/javascript/2749/" target="_blank">前回の記事</a>とほとんど変わりなしですが、<br><span class="marker-under-blue">祝日のクラス（=holiday）に日曜日と同様のcolorスタイルの設定</span>を追加しました。</p>



<pre class="wp-block-code"><code>td:first-child,
td.holiday{
    color: red;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc7">JavaScript</span></h2>



<h3 class="wp-block-heading"><span id="toc8">コード</span></h3>



<p>全体のコードです。<br>次項で解説しますが、前回の投稿で解説した内容は割愛いたします。</p>



<pre class="wp-block-code"><code>const week = &#91;"日", "月", "火", "水", "木", "金", "土"];
const today = new Date();
// 月末だとずれる可能性があるため、1日固定で取得
var showDate = new Date(today.getFullYear(), today.getMonth(), 1);

// 祝日取得
var request;
window.onload = function () {
    request = new XMLHttpRequest();
    request.open('get', 'syukujitsu.csv', true);
    request.send(null);
    request.onload = function () {
        // 初期表示
        showProcess(today, calendar);
    };
};

// 前の月表示
function prev(){
    showDate.setMonth(showDate.getMonth() - 1);
    showProcess(showDate);
}

// 次の月表示
function next(){
    showDate.setMonth(showDate.getMonth() + 1);
    showProcess(showDate);
}

// カレンダー表示
function showProcess(date) {
    var year = date.getFullYear();
    var month = date.getMonth(); // 0始まり
    document.querySelector('#header').innerHTML = year + "年 " + (month + 1) + "月";

    var calendar = createProcess(year, month);
    document.querySelector('#calendar').innerHTML = calendar;
}

// カレンダー作成
function createProcess(year, month) {
    // 曜日
    var calendar = "&lt;table&gt;&lt;tr class='dayOfWeek'&gt;";
    for (var i = 0; i &lt; week.length; i++) {
        calendar += "&lt;th&gt;" + week&#91;i] + "&lt;/th&gt;";
    }
    calendar += "&lt;/tr&gt;";

    var count = 0;
    var startDayOfWeek = new Date(year, month, 1).getDay();
    var endDate = new Date(year, month + 1, 0).getDate();
    var lastMonthEndDate = new Date(year, month, 0).getDate();
    var row = Math.ceil((startDayOfWeek + endDate) / week.length);

    // 1行ずつ設定
    for (var i = 0; i &lt; row; i++) {
        calendar += "&lt;tr&gt;";
        // 1colum単位で設定
        for (var j = 0; j &lt; week.length; j++) {
            if (i == 0 &amp;&amp; j &lt; startDayOfWeek) {
                // 1行目で1日まで先月の日付を設定
                calendar += "&lt;td class='disabled'&gt;" + (lastMonthEndDate - startDayOfWeek + j + 1) + "&lt;/td&gt;";
            } else if (count &gt;= endDate) {
                // 最終行で最終日以降、翌月の日付を設定
                count++;
                calendar += "&lt;td class='disabled'&gt;" + (count - endDate) + "&lt;/td&gt;";
            } else {
                // 当月の日付を曜日に照らし合わせて設定
                count++;
                var dateInfo = checkDate(year, month, count);
                if(dateInfo.isToday){
                    calendar += "&lt;td class='today'&gt;" + count + "&lt;/td&gt;";
                } else if(dateInfo.isHoliday) {
                    calendar += "&lt;td class='holiday' title='" + dateInfo.holidayName + "'&gt;" + count + "&lt;/td&gt;";
                } else {
                    calendar += "&lt;td&gt;" + count + "&lt;/td&gt;";
                }
            }
        }
        calendar += "&lt;/tr&gt;";
    }
    return calendar;
}

// 日付チェック
function checkDate(year, month, day) {
    if(isToday(year, month, day)){
        return {
            isToday: true,
            isHoliday: false,
            holidayName: ""
        };
    }

    var checkHoliday = isHoliday(year, month, day);
    return {
        isToday: false,
        isHoliday: checkHoliday&#91;0],
        holidayName: checkHoliday&#91;1],
    };
}

// 当日かどうか
function isToday(year, month, day) {
    return (year == today.getFullYear()
        &amp;&amp; month == (today.getMonth())
        &amp;&amp; day == today.getDate());
    }

// 祝日かどうか
function isHoliday(year, month, day) {
    var checkDate = year + '/' + (month + 1) + '/' + day;
    var dateList = request.responseText.split('\n');
    // 1行目はヘッダーのため、初期値1で開始
    for (var i = 1; i &lt; dateList.length; i++) {
        if (dateList&#91;i].split(',')&#91;0] === checkDate) {
            return &#91;true, dateList&#91;i].split(',')&#91;1]];
        }
    }
    return &#91;false, ""];
}</code></pre>



<h3 class="wp-block-heading"><span id="toc9">解説</span></h3>



<h4 class="wp-block-heading"><span id="toc10">・祝日データ（CSVファイル）取得</span></h4>



<pre class="wp-block-code"><code><em>// 祝日取得</em>
<strong>var</strong> request;
window.onload = <strong>function</strong> () {
&nbsp; &nbsp; request = <strong>new</strong> XMLHttpRequest();
&nbsp; &nbsp; request.open('get', 'syukujitsu.csv', true);
&nbsp; &nbsp; request.send(null);
&nbsp; &nbsp; request.onload = <strong>function</strong> () {
&nbsp; &nbsp; &nbsp; <em>// 初期表示</em>
&nbsp; &nbsp; &nbsp; showProcess(today, calendar);
&nbsp; &nbsp; };
};</code></pre>



<p><span class="marker-under-blue">XMLHttpRequestオブジェクトを使用して、変数 request にCSVデータを格納</span>しています。<br>1. request.open()関数でデータ取込のリクエストを行います。<br>2. request.send()関数でリスエストをサーバに送信します。<br>3. 7～10行目はロードが成功して完了後に呼ばれます。</p>



<p>つまり、CSVファイルの読み込みが完了した後にカレンダー表示の関数（showProcess）を呼び出しています。</p>



<h4 class="wp-block-heading"><span id="toc11">・当月の日付を設定　コード：70～77行目</span></h4>



<pre class="wp-block-code"><code><strong>var</strong> dateInfo = checkDate(year, month, count);
<strong>if</strong>(dateInfo.isToday){
    calendar += "&lt;td class='today'&gt;" + count + "&lt;/td&gt;";
} <strong>else</strong> <strong>if</strong>(dateInfo.isHoliday) {
    calendar += "&lt;td class='holiday' title='" + dateInfo.holidayName + "'&gt;" + count + "&lt;/td&gt;";
} <strong>else</strong> {
    calendar += "&lt;td&gt;" + count + "&lt;/td&gt;";
}</code></pre>



<p>1行目：変数 dateInfoに日付チェックの戻り値を設定します。</p>



<p>2～8行目：dateInfoを使って条件に応じて日付を設定していきます。</p>



<p>・dateInfo.isTodayがtrueの場合、クラスtodayを付与して設定。<br>・<span class="marker-under-blue">dateInfo.isHolidayがtrueの場合、クラスholidayを付与、titleに祝日名を設定</span>。<br>・上記以外の場合、日付をそのまま設定。</p>



<p><span class="marker-under-blue">titleに祝日名を設定しているのは、祝日名をツールチップとして表示させるためです。</span><br>ツールチップ：カーソルやマウスポインタを合わせると小さな領域が注釈が表示されるもの。</p>



<h4 class="wp-block-heading"><span id="toc12">・日付チェック　checkDate関数</span></h4>



<p>引数：year（年）、month（月）、day（日）<br>戻り値：日付の情報<br>・当日かどうか（Bool）<br>・祝日かどうか（Bool）<br>・祝日名（文字列）</p>



<pre class="wp-block-code"><code><em>// 日付チェック</em>
<strong>function</strong> <strong>checkDate</strong>(year, month, day) {
    <strong>if</strong>(isToday(year, month, day)){
        <strong>return</strong> {
            isToday: true,
            isHoliday: false,
            holidayName: ""
        };
    }

    <strong>var</strong> checkHoliday = isHoliday(year, month, day);
    <strong>return</strong> {
        isToday: false,
        isHoliday: checkHoliday&#91;0],
        holidayName: checkHoliday&#91;1],
    };
}</code></pre>



<p>日付チェックの関数です。<br>条件に応じて戻り値のオブジェクトを作成しています。</p>



<h4 class="wp-block-heading"><span id="toc13">・当日判定　isToday関数</span></h4>



<p>引数：year（年）、month（月）、day（日）<br>戻り値：当日かどうか（Bool）</p>



<pre class="wp-block-code"><code><em>// 当日かどうか</em>
<strong>function</strong> <strong>isToday</strong>(year, month, day) {
    <strong>return</strong> (year == today.getFullYear()
    &amp;&amp; month == (today.getMonth())
    &amp;&amp; day == today.getDate());
}</code></pre>



<p>today（Date型）を使って、当日かどうかを判定します。</p>



<h4 class="wp-block-heading"><span id="toc14">・祝日判定　isHoliday関数</span></h4>



<p>引数：year（年）、month（月）、day（日）<br>戻り値：配列 [祝日かどうか（Bool）, 祝日名]</p>



<pre class="wp-block-code"><code><em>// 祝日かどうか</em>
<strong>function</strong> <strong>isHoliday</strong>(year, month, day) {
    <strong>var</strong> checkDate = year + '/' + (month + 1) + '/' + day;
    <strong>var</strong> dateList = request.responseText.split('\n');
    <em>// 1行目はヘッダーのため、初期値1で開始</em>
    <strong>for</strong> (<strong>var</strong> i = 1; i &lt; dateList.length; i++) {
        <strong>if</strong> (dateList&#91;i].split(',')&#91;0] === checkDate) {
            <strong>return</strong> &#91;true, dateList&#91;i].split(',')&#91;1]];
        }
    }
    <strong>return</strong> &#91;false, ""];
}</code></pre>



<p>3行目：CSVデータの日付はYYYY/MM/DD形式のため、<br>引数で渡された年月日をYYYY/MM/DD形式で変数checkDateに設定。</p>



<p>4行目：変数dataListには、CSVデータを行毎に配列に格納。</p>



<p>6～10行目：CSVの行数分for文を回します。<br>ファイルの1行目はヘッダー行のため、初期値=1で設定。</p>



<p>7～9行目：<br>祝日：dateList[i].split(‘,’)[0]<br>祝日名：dateList[i].split(‘,’)[1]</p>



<p><span class="marker-under-blue">祝日とcheckDateが一致する場合、戻り値を配列 [true, 祝日名]で設定して処理を完了。<br>どのデータとも一致しない場合は戻り値を配列 [false, 空文字]でセットして処理を完了。</span></p>



<h2 class="wp-block-heading"><span id="toc15">デモ</span></h2>



<p><a href="https://nyanblog2222.com/demo/calender2/">こちらがデモページ</a>になります。<br>祝日の日付が赤くなっており、該当の日付にカーソルを合わせると祝日の名前が表示されます。</p>



<p>ただ、<span class="marker-under-red">このCSVファイルはその年分までの日付しか入っていないため、<br>2024年以降の祝日には対応されていません。ご注意ください…。</span></p>



<h2 class="wp-block-heading"><span id="toc16">最後に</span></h2>



<p>いかがでしたでしょうか。<br>カレンダーを確認するときに祝日は分かっている方が見やすいですね♪</p>



<p>実装も簡単にできたのでお勧めです。</p>



<p>良ければ他の投稿もご覧ください！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/2835/">【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/2835/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【初心者向け】JavaScriptでカレンダー作成【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/2749/</link>
					<comments>https://nyanblog2222.com/programming/javascript/2749/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 07 Jan 2021 04:29:22 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[カレンダー]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[作成]]></category>
		<category><![CDATA[初心者向け]]></category>
		<category><![CDATA[演習]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2749</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/67.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/67.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは！今回はJavaScriptでカレンダーを作成してみました。カレンダー作成にはライブラリも存在しますが、勉学のために作成する方が多いかと思いますので今回は使用していません。自作すると、カスタマイズが容易であるこ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/2749/">【初心者向け】JavaScriptでカレンダー作成【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/67.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/67.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/67-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは！<br>今回はJavaScriptでカレンダーを作成してみました。<br>カレンダー作成にはライブラリも存在しますが、勉学のために作成する方が多いかと思いますので今回は使用していません。自作すると、カスタマイズが容易であることもメリットですね！</p>



<p>本記事の続きで<span class="marker-under-red">カレンダーに祝日も反映</span>させました！</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://nyanblog2222.com/javascript/2835/" title="【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/68-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/68-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptで祝日対応のカレンダーを作成しました。内容：内閣府のWebサイトから取得したCSVファイルを読み込んで日付判定を行い、祝日を赤字表示させツールチップに祝日名を表示する。var request = new XMLHttpRequest();...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.01.09</div></div></div></div></a>
</div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-54" checked><label class="toc-title" for="toc-checkbox-54">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">フロー（箇条書き）</a></li><li><a href="#toc3" tabindex="0">HTML</a></li><li><a href="#toc4" tabindex="0">CSS</a></li><li><a href="#toc5" tabindex="0">JavaScript</a><ol><li><a href="#toc6" tabindex="0">コード</a></li><li><a href="#toc7" tabindex="0">解説</a><ol><li><a href="#toc8" tabindex="0">・グローバル変数の定義</a></li><li><a href="#toc9" tabindex="0">・初期表示</a></li><li><a href="#toc10" tabindex="0">・prev()、next()関数</a></li><li><a href="#toc11" tabindex="0">・カレンダー表示　showProcess関数</a></li><li><a href="#toc12" tabindex="0">・カレンダー作成　createProcess関数</a></li></ol></li></ol></li><li><a href="#toc13" tabindex="0">デモ</a></li><li><a href="#toc14" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>まずは<span class="marker-under-red">カレンダーに持たせる機能を決定</span>します。<br>今回は以下の機能を持たせることにしました。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-cyan-bluish-gray-border-color">
<ul class="wp-block-list">
<li>ヘッダーに年月を表示</li>



<li>ボタンで月の移動ができる</li>



<li>余白に先月、翌月の日付を灰色で表示</li>



<li>本日の日付に色をつける</li>
</ul>
</div>



<p>実際に作成したものですが、イメージ図はこちらです。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="600" height="376" src="https://nyanblog2222.com/wp-content/uploads/2021/01/20210107_01.png" alt="カレンダー作成イメージ図" class="wp-image-2760" srcset="https://nyanblog2222.com/wp-content/uploads/2021/01/20210107_01.png 600w, https://nyanblog2222.com/wp-content/uploads/2021/01/20210107_01-300x188.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>



<p>また、次以降の投稿で祝日、スケジュール入力の機能を追加したいと考えています。</p>



<h2 class="wp-block-heading"><span id="toc2">フロー（箇条書き）</span></h2>



<p>次に箇条書きで処理フローを記述します。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-cyan-bluish-gray-border-color">
<ol class="wp-block-list">
<li>日付オブジェクトを取得</li>



<li>年月を表示</li>



<li>カレンダーを作成
<ol class="wp-block-list">
<li>曜日の行を作成</li>



<li>1日が何曜日からはじまるか取得</li>



<li>当月が何行になるか算出</li>



<li>月曜日から2. で取得した行数分日付を設定</li>
</ol>
</li>



<li>カレンダーを表示</li>
</ol>
</div>



<p>こちらで実際にコーディングを進めていきます。</p>



<h2 class="wp-block-heading"><span id="toc3">HTML</span></h2>



<p>まずはHTMLを作成していきます。<br>作成しているのは、以下の3つです。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-cyan-bluish-gray-border-color">
<ol class="wp-block-list">
<li>年月表示のヘッダー</li>



<li>月移動のボタン</li>



<li>カレンダー</li>
</ol>
</div>



<pre class="wp-block-code html"><code>&lt;div class="wrapper"&gt;
    &lt;!-- xxxx年xx月を表示 --&gt;
    &lt;h1 id="header"&gt;&lt;/h1&gt;

    &lt;!-- ボタンクリックで月移動 --&gt;
    &lt;div id="next-prev-button"&gt;
        &lt;button id="prev" onclick="prev()"&gt;‹&lt;/button&gt;
        &lt;button id="next" onclick="next()"&gt;›&lt;/button&gt;
    &lt;/div&gt;

    &lt;!-- カレンダー --&gt;
    &lt;div id="calendar"&gt;&lt;/div&gt;
&lt;/div&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">CSS</span></h2>



<p>次にCSSでスタイルを決定します。<br>この辺りは好きなようにカスタマイズをしていただいて良いと思います！</p>



<p>ただ、JavaScriptで以下にクラスを設定しているので、ご注意ください。</p>



<p><span class="marker-under-red"><span class="marker-under-red">先月、翌月の日付：disabled</span><br>当日：today</span></p>



<pre class="wp-block-code css"><code>@charset "utf-8";

/*全体*/
.wrapper{
    max-width: 600px;
    margin: 0 auto;
    color: #666;
}
#header {
    text-align: center;
    font-size: 24px;
    width: 100%;
    margin: 1rem 0 0;
}

/*カレンダー*/
#calendar {
    text-align: center;
    width: 100%;
}
table {
    outline: 2px solid #ddd;
    border-collapse: collapse;
    width: 100%;
}
th {
    color: #000;
}
th, td {
    outline: 1px solid #ddd;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
}
/*日曜日*/
td:first-child {
    color: red;
}
/*土曜日*/
td:last-child {
    color: blue;
}
/*前後月の日付*/
td.disabled {
    color: #ccc;
}
/*本日*/
td.today {
    background-color: #D65E72;
    color: #fff;
}

/*ボタン*/
#next-prev-button {
    position: relative;
}
#next-prev-button button{
    cursor: pointer;
    background: #B78D4A;
    color: #fff;
    border: 1px solid #B78D4A;
    border-radius: 4px;
    font-size: 1rem;
    padding: 0.5rem 2rem;
    margin: 1rem 0;
}
#next-prev-button button:hover{
    background-color: #D4BB92;
    border-color: #D4BB92;
}
#prev {
    float: left;
}
#next {
    float: right;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc5">JavaScript</span></h2>



<p>JavaScriptで実際にカレンダーを作成、表示していきます。</p>



<h3 class="wp-block-heading"><span id="toc6">コード</span></h3>



<p>次項で詳しく解説していますが、コメントでも多少記述しています。<br>コピペも可能です！</p>



<pre class="wp-block-code javascript"><code>const week = &#91;"日", "月", "火", "水", "木", "金", "土"];
const today = new Date();
// 月末だとずれる可能性があるため、1日固定で取得
var showDate = new Date(today.getFullYear(), today.getMonth(), 1);

// 初期表示
window.onload = function () {
    showProcess(today, calendar);
};
// 前の月表示
function prev(){
    showDate.setMonth(showDate.getMonth() - 1);
    showProcess(showDate);
}

// 次の月表示
function next(){
    showDate.setMonth(showDate.getMonth() + 1);
    showProcess(showDate);
}

// カレンダー表示
function showProcess(date) {
    var year = date.getFullYear();
    var month = date.getMonth();
    document.querySelector('#header').innerHTML = year + "年 " + (month + 1) + "月";

    var calendar = createProcess(year, month);
    document.querySelector('#calendar').innerHTML = calendar;
}

// カレンダー作成
function createProcess(year, month) {
    // 曜日
    var calendar = "&lt;table&gt;&lt;tr class='dayOfWeek'&gt;";
    for (var i = 0; i &lt; week.length; i++) {
        calendar += "&lt;th&gt;" + week&#91;i] + "&lt;/th&gt;";
    }
    calendar += "&lt;/tr&gt;";

    var count = 0;
    var startDayOfWeek = new Date(year, month, 1).getDay();
    var endDate = new Date(year, month + 1, 0).getDate();
    var lastMonthEndDate = new Date(year, month, 0).getDate();
    var row = Math.ceil((startDayOfWeek + endDate) / week.length);

    // 1行ずつ設定
    for (var i = 0; i &lt; row; i++) {
        calendar += "&lt;tr&gt;";
        // 1colum単位で設定
        for (var j = 0; j &lt; week.length; j++) {
            if (i == 0 &amp;&amp; j &lt; startDayOfWeek) {
                // 1行目で1日まで先月の日付を設定
                calendar += "&lt;td class='disabled'&gt;" + (lastMonthEndDate - startDayOfWeek + j + 1) + "&lt;/td&gt;";
            } else if (count &gt;= endDate) {
                // 最終行で最終日以降、翌月の日付を設定
                count++;
                calendar += "&lt;td class='disabled'&gt;" + (count - endDate) + "&lt;/td&gt;";
            } else {
                // 当月の日付を曜日に照らし合わせて設定
                count++;
                if(year == today.getFullYear()
                  &amp;&amp; month == (today.getMonth())
                  &amp;&amp; count == today.getDate()){
                    calendar += "&lt;td class='today'&gt;" + count + "&lt;/td&gt;";
                } else {
                    calendar += "&lt;td&gt;" + count + "&lt;/td&gt;";
                }
            }
        }
        calendar += "&lt;/tr&gt;";
    }
    return calendar;
}</code></pre>



<h3 class="wp-block-heading"><span id="toc7">解説</span></h3>



<p>先述したコードに対して細かく解説していきます！<br>結構長くなってしまったので、不要な方は飛ばしてください。</p>



<h4 class="wp-block-heading"><span id="toc8">・グローバル変数の定義</span></h4>



<pre class="wp-block-code javascript"><code>const week = &#91;"日", "月", "火", "水", "木", "金", "土"];</code></pre>



<p>曜日を格納した配列を定義しています。<br><span class="marker-under-blue">変更予定がないので、定数（const）で作成</span>しています。</p>



<pre class="wp-block-code javascript"><code>const today = new Date();
var showDate = new Date(today.getFullYear(), today.getMonth(), 1);</code></pre>



<p>・本日の日付オブジェクトを定数で宣言<br>・表示する日付オブジェクトを宣言</p>



<p>表示する日付オブジェクトは初期化では”today”の年月＋1日固定で作成します。</p>



<p><span class="marker-under">Q：なぜ”today”をそのまま使用しないか</span><br>A：前の月、次の月表示で”getMonth()”に+-1を行っていますが、末日だと先々月、もしくは翌々日になることがあります。</p>



<h4 class="wp-block-heading"><span id="toc9">・初期表示</span></h4>



<pre class="wp-block-code javascript"><code>window.onload = function () {
    showProcess(today, calendar);
};</code></pre>



<p>当日の日付オブジェクトを使用して、showProcess関数を呼び出して初期表示を行います。</p>



<pre class="wp-block-code javascript"><code>window.onload = function () {・・・};</code></pre>



<p>↑は<span class="marker-under-blue">HTMLが読み込まれた直後に呼び出される関数です。</span></p>



<h4 class="wp-block-heading"><span id="toc10">・prev()、next()関数</span></h4>



<pre class="wp-block-code javascript"><code>// 前の月表示
function prev(){
    showDate.setMonth(showDate.getMonth() - 1);
    showProcess(showDate);
}

// 次の月表示
function next(){
    showDate.setMonth(showDate.getMonth() + 1);
    showProcess(showDate);
}</code></pre>



<p>「＜」クリックでprev()、「＞」クリックでnext()の関数がそれぞれ呼び出されます。</p>



<p>prev()関数の場合はshowDateオブジェクトに1月分減算後、<br>next()関数の場合はshowDateオブジェクトに1月分加算後にshowProcess関数を呼び出してカレンダーを表示します。</p>



<h4 class="wp-block-heading"><span id="toc11">・カレンダー表示　showProcess関数</span></h4>



<p>引数：date（表示するDateオブジェクト）</p>



<pre class="wp-block-code javascript"><code>var year = date.getFullYear();
var month = date.getMonth();
document.querySelector('#header').innerHTML = year + "年 " + (month + 1) + "月";</code></pre>



<p>ヘッダー（id=&#8221;#header&#8221;）に年月を表示させます。<br>getMonth()は0始まりのため、1月の場合、0が取得されます。<br>そのため、3行目では (month + 1) で月を設定します。</p>



<pre class="wp-block-code"><code>var calendar = createProcess(year, month);
document.querySelector('#calendar').innerHTML = calendar;</code></pre>



<p>createProcess関数でカレンダーを作成し、id=&#8221;#calendar&#8221;にカレンダーを設定します。</p>



<h4 class="wp-block-heading"><span id="toc12">・カレンダー作成　createProcess関数</span></h4>



<p>引数：year（年）、month（月）<br>戻り値：作成したカレンダー</p>



<pre class="wp-block-code"><code>// 曜日
var calendar = "&lt;table&gt;&lt;tr class='dayOfWeek'&gt;";
for (var i = 0; i &lt; week.length; i++) {
    calendar += "&lt;th&gt;" + week&#91;i] + "&lt;/th&gt;";
}
calendar += "&lt;/tr&gt;";</code></pre>



<p>定数”week”を使用してカレンダー上部に表示させる、曜日を設定します。</p>



<pre class="wp-block-code"><code>var count = 0;
var startDayOfWeek = new Date(year, month, 1).getDay();
var endDate = new Date(year, month + 1, 0).getDate();
var lastMonthEndDate = new Date(year, month, 0).getDate();
var row = Math.ceil((startDayOfWeek + endDate) / week.length);</code></pre>



<p>日付を設定するのに必要な変数を定義します。<br>それぞれの変数は以下の内容を定義しています。</p>



<p>count：日付のカウント<br>startDayOfWeek：表示する月の1日の曜日<br>endDate：表示する月の末日<br>lastMonthEndDate：表示する先月の末日<br>row：カレンダー（日付部分）の行数</p>



<pre class="wp-block-code"><code>// 1行ずつ設定
for (var i = 0; i &lt; row; i++) {
    calendar += "&lt;tr&gt;";
    // 1colum単位で設定
    for (var j = 0; j &lt; week.length; j++) {
        if (i == 0 &amp;&amp; j &lt; startDayOfWeek) {
            // 1行目で1日まで先月の日付を設定
            calendar += "&lt;td class='disabled'&gt;"
                     + (lastMonthEndDate - startDayOfWeek + j + 1) + "&lt;/td&gt;";
        } else if (count &gt;= endDate) {
            // 最終行で最終日以降、翌月の日付を設定
            count++;
            calendar += "&lt;td class='disabled'&gt;" + (count - endDate) + "&lt;/td&gt;";
        } else {
            // 当月の日付を曜日に照らし合わせて設定
            count++;
            if(year == today.getFullYear()
              &amp;&amp; month == (today.getMonth())
              &amp;&amp; count == today.getDate()){
                calendar += "&lt;td class='today'&gt;" + count + "&lt;/td&gt;";
            } else {
                calendar += "&lt;td&gt;" + count + "&lt;/td&gt;";
            }
        }
    }
    calendar += "&lt;/tr&gt;";
}</code></pre>



<p>始めのfor文は行単位、2つ目のfor文はカラム（日付）単位で回します。</p>



<p>3行目、26行目ではtrタグで括っています。</p>



<p>6行目の条件は「1行目、かつ、1日の曜日未満」の場合に8、9行目の処理を行います。<br><span class="marker-under-blue">その場合にクラス「disabled」を付与して日付を設定します。</span><br>計算式は例で実際に当てはめてみましょう。</p>



<p>例：2021/01<br>lastMonthEndDate = 31<br>startDayOfWeek = 5 （金曜日）<br>日曜日：31 &#8211; 5 + 0 + 1 = 27<br>月曜日：31 &#8211; 5 + 1 + 1 = 28</p>



<p>10行目の条件は当月の最終日以降、翌月の日付を設定します。<br><span class="marker-under-blue">上記同様、<span class="marker-under-blue">クラス「disabled」を付与して日付を設定します。</span></span><span class="marker-under-blue"></span></p>



<p>それ以外の14行目～24行目の処理は当月の日付1日から末日まで入ります。<br>また、17行目～19行目の条件は本日の日付かどうかチェックしており、<span class="marker-under-blue">本日の場合はクラス「today」を付与しています。</span></p>



<h2 class="wp-block-heading"><span id="toc13">デモ</span></h2>



<p><a class="link" href="https://nyanblog2222.com/demo/calender1/">こちらがデモページ</a>になります。<br>初期表示は当月で表示され、本日が赤く表示されていると思います。</p>



<p>また、＜＞のボタンをクリックすることで月の移動ができますので、お試しください♪</p>



<h2 class="wp-block-heading"><span id="toc14">最後に</span></h2>



<p>いかがでしたでしょうか。<br>ライブラリを使わなくても意外と簡単に実装ができました！</p>



<p>この後、<span class="marker-under-red">カレンダーに祝日対応してみました</span>ので、<br>良ければこちらの投稿もご覧ください！</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://nyanblog2222.com/javascript/2835/" title="【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/68-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/68-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/68-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【初心者向け】JavaScriptで祝日対応のカレンダー作成【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptで祝日対応のカレンダーを作成しました。内容：内閣府のWebサイトから取得したCSVファイルを読み込んで日付判定を行い、祝日を赤字表示させツールチップに祝日名を表示する。var request = new XMLHttpRequest();...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.01.09</div></div></div></div></a>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-together">

<a href="https://nyanblog2222.com/programming/javascript/4717/" title="【サンプル】JavaScriptのコードまとめリンク集" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/85-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/85-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/85-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【サンプル】JavaScriptのコードまとめリンク集</div><div class="blogcard-snippet internal-blogcard-snippet">本記事では当ブログで上げているJavaScript記事のまとめリンク集になります。目次でカテゴリ分けをしているので、気になる内容がありましたら目次から飛んでみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.09.01</div></div></div></div></a>
</div>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/2749/">【初心者向け】JavaScriptでカレンダー作成【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/2749/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【対処方法】このプロジェクトのコードは、64ビットシステムで&#8230;【Declare,PrtSafe】</title>
		<link>https://nyanblog2222.com/programming/vba/2666/</link>
					<comments>https://nyanblog2222.com/programming/vba/2666/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 19 Dec 2020 23:54:42 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[エラー]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2666</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/38.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/38.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/38-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/38-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/38-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はパソコンの入れ替え後等にVBAマクロ付きのExcelやAccessファイルを使用した際、 「このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。 Declareステートメントの確認 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/vba/2666/">【対処方法】このプロジェクトのコードは、64ビットシステムで&#8230;【Declare,PrtSafe】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/38.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/38.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/38-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/38-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/38-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /><p>今回はパソコンの入れ替え後等にVBAマクロ付きのExcelやAccessファイルを使用した際、<br>
<span class="marker-under-red">「このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。<br>
Declareステートメントの確認および更新を行い、<br>
次にDeclareステートメントにPrtSafe 属性を設定してください。」</span><br>
とエラーコードがでてしまった場合の対処方法を紹介します。</p>
<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/11/2020-11-29-min.png" alt="エラー" width="407" height="182" class="alignnone size-full wp-image-2667" srcset="https://nyanblog2222.com/wp-content/uploads/2020/11/2020-11-29-min.png 407w, https://nyanblog2222.com/wp-content/uploads/2020/11/2020-11-29-min-300x134.png 300w" sizes="auto, (max-width: 407px) 100vw, 407px" /></p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-56" checked><label class="toc-title" for="toc-checkbox-56">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラーの原因は？どんな状況で発生する？</a></li><li><a href="#toc2" tabindex="0">対処方法</a></li><li><a href="#toc3" tabindex="0">コード変更例</a><ol><li><a href="#toc4" tabindex="0">Declare文の変更</a></li><li><a href="#toc5" tabindex="0">API実行箇所をDeclare文の型に合わせる（引数・戻り値）</a></li><li><a href="#toc6" tabindex="0">補足：PtrSafeやPtrLong型について</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">エラーの原因は？どんな状況で発生する？</span></h2>
<p><span class="marker-under">Office64bitで、<br>
Win32API（32bitのWindows API）を呼び出す</span>と該当のエラーメッセージがでます。<br>
64bitと32bitでは使用できる領域が異なるため、<br>
通常そのまま使うと何かしら問題が発生する場合があります。<br>
よって「使っても良いか」確認の意味も込めたエラーメッセージとなります。</p>
<p>例えば、<span class="marker-under">パソコンの入れ替えやOfficeのバージョンアップで、<br>
Officeが32bitから64bitに変わった際</span>に発生します。</p>
<h2><span id="toc2">対処方法</span></h2>
<p>対処方法は以下になります。</p>
<ul>
<li><strong class="brown_color">Declare文の変更</strong>（※１）<br>
①PtrSafeを追加<br>
②Long型を適宜PtrLong型に変更</li>
<li><strong class="brown_color">API実行箇所をDeclare文の型に合わせる（引数・戻り値）&nbsp;</strong></li>
</ul>
<p><span class="marker-under">※１　Office64bitでのDeclare文の記述方法は、<br>
以下のとおりMicrosoft公式より公開されていますので、 コピーして使用します。</span></p>
<p><a class="link" href="https://docs.microsoft.com/ja-jp/office/troubleshoot/office-suite-issues/win32api_ptrsafe-with-64-bit-support">Microsoft Docs：Win32API_PtrSafe</a>　より、<br>
「<a class="link broken_link" href="https://www.microsoft.com/en-us/download/details.aspx?id=9970">Office 2010 ヘルプファイル:64 ビットのサポートが含まれる Win32API_PtrSafe</a>」<br>
へのリンクにとび、<br>
<span>「Office2010Win32API_PtrSafe.exe」をダウンロード・インストール。<br>
</span>インストールすると、<br>
「C:\Office 2010 Developer Resources\Documents\Office2010Win32API_PtrSafe」 に、<br>
Win32API_PtrSafe.TXTが出来上がるので、こちらを開き、該当箇所をコピペする。</p>
<p>なお、Office2010より64bitが新しくできたためOffice2010となっていますが、<br>
他バージョンでも同じように上記のURLからダウンロードします。</p>
<h2><span id="toc3">コード変更例</span></h2>
<p>例えば、以下のようなコードを記述しているとして、どのように修正するか説明します。<br>
コード内容としては、<span class="marker-under">”user32”というWin32APIを使用</span>し、<br>
「<span class="marker-under">アクティブウィンドウの名前を取得して、出力する</span>」という単純なものです。</p>


<pre class="wp-block-code"><code>Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Sub GetWindowName()

'アクティブウインドウのハンドル取得
Dim lWindowHwnd As Long
lWindowHwnd = GetActiveWindow()

'バッファを確保
Dim sWindowName As String
sWindowName = String(256, Chr(0))

'アクティブウインドウのウインドウ名取得
Dim lWindowNameLen As Long
lWindowNameLen = GetWindowText(lWindowHwnd, sWindowName, Len(sWindowName))

'イミディエイトに出力
Debug.Print "現在アクテイブウインドウのタイトル名は"
Debug.Print sWindowName
Debug.Print "長さは" + Str(lWindowNameLen) + "です"

End Sub</code></pre>


<p>もちろん、Office32bitではエラーメッセージなしで正常に動きます。</p>
<h3><span id="toc4">Declare文の変更</span></h3>
<p>まず、<span class="marker-under">Win32API_PtrSafe.TXT</span>を開いて該当の箇所<br>
「GetActiveWindow」「GetWindowTextA」などで検索し、コピペします。</p>


<pre class="wp-block-code"><code>Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As LongPtr, ByVal lpString As String, ByVal cch As Long) As Long</code></pre>


<p>Declare文の変更はたったこれだけです♪<br><span class="marker-under-red">注意点は、必ず「Win32API_PtrSafe.TXT」を見てコピペする</span>ことです。<br>バグの元なので全てのLong型をPtrLong型にしないようにしてください。</p>
<h3><span id="toc5">API実行箇所をDeclare文の型に合わせる（引数・戻り値）</span></h3>
<p>次に<span class="marker-under">API実行箇所については、Declare文と睨めっこしながら変更</span>していきます。<br>今回の場合、GetActiveWindowの戻り値の型であり、<br>GetWindowTextの第一引数であるlWindowHwndを <span class="marker-under">Long型からLongPtr型</span>に変えます。<br>命名規則にもよりますが、変数名のルールで型名も考慮しているのであればそちらも変更します。<br>（<span class="marker-under"> lWindowHwndからlpWindowHwnd</span>）</p>


<pre class="wp-block-code"><code>Private Sub GetWindowName()

'アクティブウインドウのハンドル取得
Dim lpWindowHwndAs LongPtr
lpWindowHwnd = GetActiveWindow()

'バッファを確保
Dim sWindowName As String
sWindowName = String(256, Chr(0))

'アクティブウインドウのウインドウ名取得
Dim lWindowNameLen As Long
lWindowNameLen = GetWindowText(lpWindowHwnd, sWindowName, Len(sWindowName))

'イミディエイトに出力
Debug.Print "現在アクテイブウインドウのタイトル名は"
Debug.Print sWindowName
Debug.Print "長さは" + Str(lWindowNameLen) + "です"

End Sub</code></pre>


<p>他にも元からLong型のものがありますが、Declare文でもLong型なので変更しません。</p>
<p>以上で、VBAのOffice64bit対応は完了です。</p>
<h3><span id="toc6">補足：PtrSafeやPtrLong型について</span></h3>
<p>簡単に紹介すると以下になります。</p>
<ul>
<li><strong class="brown_color">PtrSafe<br />Office64bitで実行しても安全であると明示するキーワード</strong></li>
<li style="list-style-type: none;"> </li>
</ul>
<ul>
<li><strong class="brown_color">PtrLong型</strong><br />Office32bitではLong型に、Office64bitではLongLong形になる型</li>
</ul>
<p>このことから、<br /><span class="marker-under">Office64bitで使えるようにコードを書き換えても、 Office32bitで動くよう</span>になっています。</p><p>投稿 <a href="https://nyanblog2222.com/programming/vba/2666/">【対処方法】このプロジェクトのコードは、64ビットシステムで&#8230;【Declare,PrtSafe】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/vba/2666/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【プリンター】ユーザー定義の用紙サイズ設定をコピーする方法【レジストリ設定】</title>
		<link>https://nyanblog2222.com/programming/2535/</link>
					<comments>https://nyanblog2222.com/programming/2535/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 03 Nov 2020 06:01:53 +0000</pubDate>
				<category><![CDATA[Web全般]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[プリンター]]></category>
		<category><![CDATA[ユーザー定義]]></category>
		<category><![CDATA[用紙サイズ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2535</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/27.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/27.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/27-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/27-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/27-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はプリンターや複合機の印刷設定で設定できるユーザー定義の用紙サイズ設定のコピー方法を紹介します。 コピペで使えるBATも用意してありますので、良かったら使ってください♪ 目次 ユーザー定義の用紙サイズ設定とはなぜ設定 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/2535/">【プリンター】ユーザー定義の用紙サイズ設定をコピーする方法【レジストリ設定】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/27.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/27.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/27-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/27-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/27-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はプリンターや複合機の印刷設定で設定できるユーザー定義の用紙サイズ設定のコピー方法を紹介します。
コピペで使えるBATも用意してありますので、良かったら使ってください♪

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-58" checked><label class="toc-title" for="toc-checkbox-58">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ユーザー定義の用紙サイズ設定とは</a></li><li><a href="#toc2" tabindex="0">なぜ設定をコピーする必要があるか</a></li><li><a href="#toc3" tabindex="0">ユーザー定義の用紙サイズ設定のコピー方法（手動）</a><ol><ol><li><a href="#toc4" tabindex="0">１．コピー元のパソコンからレジストリのユーザー定義の用紙サイズ設定をエクスポート</a></li><li><a href="#toc5" tabindex="0">２．コピーする前にレジストリを念の為バックアップ</a></li><li><a href="#toc6" tabindex="0">３．ユーザー定義用紙設定をインポート</a></li><li><a href="#toc7" tabindex="0">４．Print Spoolerの再起動、もしくはパソコンの再起動</a></li></ol></li></ol></li><li><a href="#toc8" tabindex="0">ユーザー定義の用紙サイズ設定のコピー方法（BAT）</a><ol><ol><li><a href="#toc9" tabindex="0">ユーザー定義抽出.bat（旧パソコンで使用）</a></li><li><a href="#toc10" tabindex="0">ユーザー定義変更.bat（新パソコンで使用）</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">ユーザー定義の用紙サイズ設定とは</span></h2>
プリンターの設定で、任意のサイズの用紙を設定することができます。
例えば、自社製の封筒や請求書などなど。
このような設定を<span class="marker-under">ユーザー定義の用紙サイズ設定</span>といいます。

設定方法はWindows10の場合、
スタートボタン→Windowsシステムツール→コントロールパネル→デバイスとプリンタ→どれでもいいのでプリンターを左クリック
→上部に「<span class="marker-under">プリントサーバープロパティ</span>」が出てくるのでクリック

<img loading="lazy" decoding="async" class="alignnone size-full wp-image-2613" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-min.png" alt="プリントサーバー" width="519" height="302" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-min.png 519w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-min-300x175.png 300w" sizes="auto, (max-width: 519px) 100vw, 519px" />

その後は用紙タブで赤枠箇所を変更し、保存します。
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-2611" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-1-min.png" alt="プリントサーバー設定" width="465" height="536" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-1-min.png 465w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-1-min-260x300.png 260w" sizes="auto, (max-width: 465px) 100vw, 465px" />

これで、用紙サイズ設定については完了です。
なお、<span class="marker-under">用紙サイズ設定の情報はレジストリに書き込まれます</span>ので、 確認するにはまずレジストリエディタを開きます。
「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、 「regedit」と入力してエンターを押すと開くことができます。

<img loading="lazy" decoding="async" class="alignnone size-full wp-image-2614" src="https://nyanblog2222.com/wp-content/uploads/2020/10/regyoshi-min.png" alt="レジストリ" width="594" height="549" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/regyoshi-min.png 594w, https://nyanblog2222.com/wp-content/uploads/2020/10/regyoshi-min-300x277.png 300w" sizes="auto, (max-width: 594px) 100vw, 594px" />

その後、用紙サイズ設定箇所である
<span class="marker-under">「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms」</span>
まで移動させると、 設定した用紙サイズ設定が存在することが分かります。
<h2><span id="toc2">なぜ設定をコピーする必要があるか</span></h2>
コピーが必要な状況ですが、よくあるのは社内のパソコンの交換時です。

<img loading="lazy" decoding="async" class="alignnone size-full wp-image-2601" src="https://nyanblog2222.com/wp-content/uploads/2020/10/1645273_s-min.jpg" alt="パソコン交換" width="384" height="288" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/1645273_s-min.jpg 384w, https://nyanblog2222.com/wp-content/uploads/2020/10/1645273_s-min-300x225.jpg 300w" sizes="auto, (max-width: 384px) 100vw, 384px" />

後述の設定のコピー方法を使えば、 新しいパソコンを使うときに、以前使っていたユーザー定義の用紙サイズ設定を引き継げます。
<h2><span id="toc3">ユーザー定義の用紙サイズ設定のコピー方法（手動）</span></h2>
コピー方法はざっくり以下になりますので、それぞれ解説していきます。
<ol>
 	<li>コピー元のパソコンからレジストリのユーザー定義の用紙サイズ設定をエクスポート</li>
 	<li>コピーする前にレジストリを念の為バックアップ</li>
 	<li>ユーザー定義用紙設定をインポート</li>
 	<li>Print Spoolerの再起動、もしくはパソコンの再起動</li>
</ol>
<h4><span id="toc4">１．コピー元のパソコンからレジストリのユーザー定義の用紙サイズ設定をエクスポート</span></h4>
まず前述で説明したとおり、コピー元のパソコンでレジストリエディタを開き、
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms」まで移動させます。

そこで、レジストリエディタの左上の「ファイル」→「エクスポート」で ユーザー定義の用紙サイズ設定をエクスポートすることができます。

<!-- /wp:paragraph -->

<!-- wp:image {"id":2305,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"></figure>
<h4><span id="toc5">２．コピーする前にレジストリを念の為バックアップ</span></h4>
パソコン設定に少し詳しい方は、そもそもレジストリをいじっても大丈夫？と不安になりますよね。
レジストリを変に誤っていじると、最悪パソコンが動作しなくなります。
プリンターの設定部分であっても、印刷できなくなったら困りますので、 念のためにバックアップは取っておきましょう。

操作方法は前項と同じで、コピー先のパソコンでレジストリエディタを開き、
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms」まで移動させます。
そこで、レジストリエディタの左上の「ファイル」→「エクスポート」でユーザー定義の用紙サイズ設定をエクスポートし、バックアップとします。
<h4><span id="toc6">３．ユーザー定義用紙設定をインポート</span></h4>
次にコピー元のパソコンからコピー先のパソコンへ設定をコピーします。 コピー先のパソコンでレジストリエディタを開き、 「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms」まで移動させます。
そこで、レジストリエディタの左上の「ファイル」→「インポート」で ユーザー定義の用紙サイズ設定をインポートし、コピー完了です。
なお、コピー方法は上書き（なければ追加、あれば上書き、元々あるもので名前が被ってなければ何もしない）です。
<h4><span id="toc7">４．Print Spoolerの再起動、もしくはパソコンの再起動</span></h4>
次にこのままだとプリンターに設定が反映されないので、
スタート→管理ツール→サービスから、「Print Spooler」を右クリックし「再起動」します。

<img loading="lazy" decoding="async" class="alignnone size-full wp-image-2612" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-4-min.png" alt="PrintSpooler" width="645" height="475" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-4-min.png 645w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-11-01-4-min-300x221.png 300w" sizes="auto, (max-width: 645px) 100vw, 645px" />

パソコンを再起動しても、Print Spoolerは再起動されるので面倒でしたらそちらでも大丈夫です。

これで、一連の作業は完了です。
<h2><span id="toc8">ユーザー定義の用紙サイズ設定のコピー方法（BAT）</span></h2>
前項では一つ一つ手作業で行うやり方で、 ユーザー定義の用紙サイズ設定のコピー方法を紹介しましたが、
<span class="marker-under">社内の端末リプレースの際など複数台やるのは大変な場合</span>のために、<span class="marker-under">コピペで使えるBATを紹</span>介します。

以下をテキストにコピペしてご使用ください。
やっている内容は、前項の「ユーザー定義の用紙サイズ設定のコピー方法（手動）」と同じです。

<!-- wp:heading {"level":4} -->
<h4><span id="toc9">ユーザー定義抽出.bat（旧パソコンで使用）</span></h4>
<!-- /wp:heading -->

<!-- wp:code {"className":"dos"} -->
<pre class="wp-block-code dos"><code><em>@REM 管理者権限で実行すること</em>

ECHO OFF
SET DEF_DIR=C:\USERDEF

ECHO ユーザー定義出力
REG EXPORT HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms %DEF_DIR%\UserDef_New.REG

PAUSE</code></pre>
<!-- /wp:code -->

<!-- wp:heading {"level":4} -->
<h4><span id="toc10">ユーザー定義変更.bat（新パソコンで使用）</span></h4>
<!-- /wp:heading -->

<!-- wp:code {"className":"dos"} -->
<pre class="wp-block-code dos"><code>@REM 管理者権限で実行すること

ECHO OFF
SET DEF_DIR=C:\USERDEF

ECHO レジストリバックアップ
REG EXPORT HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms %DEF_DIR%\UserDef_Backup.REG

ECHO ユーザー定義インポート
%WINDIR%\REGEDIT %DEF_DIR%\UserDef_New.REG

ECHO PrintSpoolerの再起動
NET STOP SPOOLER
NET START SPOOLER

PAUSE</code></pre>
<!-- /wp:code -->

<!-- wp:heading -->

<!-- /wp:paragraph --><p>投稿 <a href="https://nyanblog2222.com/programming/2535/">【プリンター】ユーザー定義の用紙サイズ設定をコピーする方法【レジストリ設定】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/2535/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【対処方法】Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました</title>
		<link>https://nyanblog2222.com/office/access/2541/</link>
					<comments>https://nyanblog2222.com/office/access/2541/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 31 Oct 2020 01:05:29 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2541</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/37.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/37.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/37-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/37-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/37-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />正常に動いていたAccessファイルが、突然 「Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました」 とエラーメッセージが出て使えなくなってしまった場 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/2541/">【対処方法】Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/37.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/37.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/37-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/37-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/37-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>正常に動いていたAccessファイルが、突然
<span class="marker-under-red">「Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました」</span>
とエラーメッセージが出て使えなくなってしまった場合の対処方法を紹介します。</p>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/10/Access_OLE_ERR-min.png" alt="Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました" width="631" height="128" class="alignnone wp-image-2543 size-full" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/Access_OLE_ERR-min.png 631w, https://nyanblog2222.com/wp-content/uploads/2020/10/Access_OLE_ERR-min-300x61.png 300w" sizes="auto, (max-width: 631px) 100vw, 631px" /></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-60" checked><label class="toc-title" for="toc-checkbox-60">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラーの原因は？どんな状況で発生する？</a><ol><li><a href="#toc2" tabindex="0">エラー原因</a></li><li><a href="#toc3" tabindex="0">どんな状況で発生するか</a></li></ol></li><li><a href="#toc4" tabindex="0">対処方法・注意事項</a><ol><li><a href="#toc5" tabindex="0">対処方法</a></li><li><a href="#toc6" tabindex="0">注意事項</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">エラーの原因は？どんな状況で発生する？</span></h2>



<h3 class="wp-block-heading"><span id="toc2">エラー原因</span></h3>



<p>調べてみると、<span class="marker-under">対象のAccessファイルのフォーム等に何かしらの不具合があることが原因</span>のようでした。<br>
ただ、「これが原因！」というのは判別しづらいようですね。</p>



<h3 class="wp-block-heading"><span id="toc3">どんな状況で発生するか</span></h3>



<p>色々なパターンがあるようですが、<br>
<span class="marker-under">主にAccessファイルを作成したパソコンと異なるパソコンで使用すると起きる</span>ようです。</p>



<p>参考として、私は以下の状況でエラーが発生しました。</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box has-border-color has-yellow-border-color">
<ul class="wp-block-list"><li>社内のパソコンリプレース</li><li>パソコン交換後、Accessのフォーム画面でボタンを押した際にエラーメッセージが出た</li><li>新旧パソコンの環境<br>旧パソコン：Windows7 32bit、Microsft Access 2013<br>新パソコン：Windows10 64bit、Microsft Access 2019 64bit</li><li>全てのAccessファイルでエラーが出たのではなく、多数ある中の一つだけ</li><li>Microsft Access 2019 32bitでも試してみたので、Officeのbit数の問題ではなさそう</li></ul>
</div>



<p>これは私の想像になりますが、新パソコンのチェック機能の強化により、旧パソコンではチェックされていなかった不具合が表に出てきてしまったのかもしれません。<br>新しいパソコンだと性能はもちろんセキュリティなども強化され、昔できていたことができなくなることはよくあることだからです。</p>



<h2 class="wp-block-heading"><span id="toc4">対処方法・注意事項</span></h2>



<h3 class="wp-block-heading"><span id="toc5">対処方法</span></h3>



<p>対処方法は「新しいAccessファイルを作り、元のAccessファイルから全ての情報をインポートする」です。<br>（説明する際の画像はMicrosoft Office 2010のものですが、手順自体はMicrosoft Office 2019でも同じです）</p>



<p>詳細な手順は以下になります。</p>



<p><span class="marker-under-blue">（前準備）拡張子がmdbの場合は、accdb変換</span><br>
必須ではありませんが、mdbはいつか使えなくなる危険性があるのでこのタイミングで変換しておいた方が無難です。<br>
例）CSVインポート.mdb→CSVインポート.accdb<br>
変換した場合はショートカットはもちろん、Accessファイルが他のAccessファイルからリンクテーブルとして参照されている場合、リンク先が変わってしまうためご注意ください。</p>



<p><img loading="lazy" decoding="async" width="1251" height="479" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-4-min.png" alt="accdb変換" class="alignnone wp-image-2563 size-full" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-4-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-4-min-300x115.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-4-min-1024x392.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-4-min-768x294.png 768w" sizes="auto, (max-width: 1251px) 100vw, 1251px" /></p>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-5-min.png" alt="mdb→accdb" width="196" height="120" class="alignnone size-full wp-image-2566"></p>



<p><strong>１．対象のAccessファイルが入っているフォルダと異なるフォルダで右クリックし、 新規作成からMicrosoft Access データベースをクリック</strong></p>



<p> <img loading="lazy" decoding="async" width="721" height="203" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-1-min.png" alt="新規作成" class="alignnone wp-image-2569 size-full" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-1-min.png 721w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-1-min-300x84.png 300w" sizes="auto, (max-width: 721px) 100vw, 721px" /></p>



<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-2-min.png" alt="新規作成" width="290" height="117" class="alignnone size-full wp-image-2568"></p>



<p><strong>２．新規作成されたAccessファイルを、対象のAccessファイルと同じ名前とする</strong></p>



<p> 例）「新規 Microsoft Access データベース.accdb」を作成し、「CSVインポート.accdb」にリネーム</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="182" height="119" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-3-min.png" alt="新規作成" class="wp-image-2567"/></figure>



<p><strong><strong>３．</strong>２で作成したAccessファイルを開き、外部データタブからAccessデータベースのインポートを選択</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="487" height="250" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-6-min.png" alt="Accessインポート" class="wp-image-2570" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-6-min.png 487w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-6-min-300x154.png 300w" sizes="auto, (max-width: 487px) 100vw, 487px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="745" height="547" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-7-min.png" alt="Accessインポート" class="wp-image-2571" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-7-min.png 745w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-7-min-300x220.png 300w" sizes="auto, (max-width: 745px) 100vw, 745px" /></figure>



<p><strong><strong>４．</strong>対象のAccessファイルをクリックして、OKを押すと「オブジェクトのインポート」画面が出るので、オプションをクリック</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="544" height="411" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-9-min.png" alt="Accessインポート" class="wp-image-2572" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-9-min.png 544w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-9-min-300x227.png 300w" sizes="auto, (max-width: 544px) 100vw, 544px" /></figure>



<p><strong>５．オプションで出てきたチェック項目を全てチェックする</strong></p>



<p><strong>６．全てのタブ（テーブル・クエリ・フォーム・レポート・マクロ・モジュール）ですべて選択をクリックし、OKをクリック</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="596" height="413" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-10-min.png" alt="Accessインポート" class="wp-image-2573" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-10-min.png 596w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-10-min-300x208.png 300w" sizes="auto, (max-width: 596px) 100vw, 596px" /></figure>



<p><strong>７．Accessファイルを閉じて、元々のAccessファイルのフォルダに移し替える。</strong></p>



<p>※元々のAccessファイルは念のため名前を変えてバックアップとして残しておいてください。</p>



<p><span class="marker-under">これでAccessファイルの作り直しは完了</span>です。</p>



<p>インポート中に何かしらエラーで取り込めないものがありますが、<br>恐らく何かしら問題のあるオブジェクトがほとんどですので、<br>基本不要なものなので気にしなくてもいいかと思います。</p>



<p>ただ、 念のためそのオブジェクトが使われていないかはインポート後に確認して、<br>必要であれば個別に対象のAccessファイルからコピペしてきてください。</p>



<h3 class="wp-block-heading"><span id="toc6">注意事項</span></h3>



<p>上記方法では、<span class="marker-under-red">VBAのプロジェクト名は引き継がれない</span>ので注意してください。<br>例えば、DAOを使ってテーブル操作をする場合は、Databeseオブジェクトの変数を宣言していたりしますが、その場合、被らないようにプロジェクト名をあえて固有の名前に変えていたりします。</p>



<p>その場合、インポート後に手で直してください。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="358" height="495" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-12-min.png" alt="Accessインポート" class="wp-image-2574" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-12-min.png 358w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-12-min-217x300.png 217w" sizes="auto, (max-width: 358px) 100vw, 358px" /></figure>



<p>↓</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="309" height="491" src="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-13-min.png" alt="Accessインポート" class="wp-image-2575" srcset="https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-13-min.png 309w, https://nyanblog2222.com/wp-content/uploads/2020/10/2020-10-17-13-min-189x300.png 189w" sizes="auto, (max-width: 309px) 100vw, 309px" /></figure>


<p>投稿 <a href="https://nyanblog2222.com/office/access/2541/">【対処方法】Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/access/2541/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Python】【キーで連番】ファイル名を一括でリネームする方法</title>
		<link>https://nyanblog2222.com/programming/python/2588/</link>
					<comments>https://nyanblog2222.com/programming/python/2588/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 18 Oct 2020 09:04:46 +0000</pubDate>
				<category><![CDATA[python]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[リネーム]]></category>
		<category><![CDATA[一括]]></category>
		<category><![CDATA[連番]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2588</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/101.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/101.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/101-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/101-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/101-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは！ 今回はPythonでファイルをリネームするプログラムを作成してみましたので、ご紹介いたします。 良かったら最後まで見てみてくださいね♪ 今回は「osモジュール」「globモジュール」をそれぞれ使って一括でリ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/python/2588/">【Python】【キーで連番】ファイル名を一括でリネームする方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/101.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/101.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/101-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/101-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/101-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /><p>こんにちは！<br>
今回はPythonでファイルをリネームするプログラムを作成してみましたので、ご紹介いたします。<br>
良かったら最後まで見てみてくださいね♪</p>
<p>今回は<span class="marker-under-red">「osモジュール」「globモジュール」</span>をそれぞれ使って一括でリネーム処理をしています。<br>
ファイルをそのままリネームしているので、<span class="marker-under">動かす前にファイルのバックアップは取るようにしてくださいね。</span></p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-62" checked><label class="toc-title" for="toc-checkbox-62">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&nbsp;やりたいこと</a></li><li><a href="#toc2" tabindex="0">サンプルコード</a></li><li><a href="#toc3" tabindex="0">終わりに</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">&nbsp;やりたいこと</span></h2>
<p><span>こちらが処理前のディレクトリ構成です。</span></p>
<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min.png" alt="" width="877" height="619" class="alignnone size-full wp-image-2489" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min-300x212.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min-768x542.png 768w" sizes="auto, (max-width: 877px) 100vw, 877px" /></p>
<p>各画像ファイル名の頭4桁「a001」等をキーに連番を振っていきます。<br>
例えば「a001」から「a002」に変わると、また連番が001始まりになります。</p>
<p><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min.png" alt="" width="877" height="619" class="alignnone size-full wp-image-2490" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min-300x212.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min-768x542.png 768w" sizes="auto, (max-width: 877px) 100vw, 877px" /></p>
<h2><span id="toc2">サンプルコード</span></h2>


<pre class="wp-block-code python"><code><strong>import</strong> os
<strong>import</strong> glob

<em># １．フォルダパス設定</em>
in_folder = "c:/sample/in/"

<em># ２．処理するファイル一覧情報を取得</em>
file_list = glob.glob(in_folder + "*")

<em># ３．連番付与するための変数を初期化</em>
cnt = 0
hold_page = ""

<strong>for</strong> f <strong>in</strong> file_list:
    <em># ４．f_titleにファイル名（拡張子なし）、f_extに拡張子</em>
&nbsp;&nbsp;&nbsp;&nbsp;f_title, f_ext = os.path.splitext(os.path.basename(f))
&nbsp;&nbsp;&nbsp;&nbsp;now_page = f_title&#91;1:4]

    <em># ５．連番設定（キーブレイク）</em>
&nbsp;&nbsp;&nbsp;&nbsp;<strong>if</strong> hold_page != now_page:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt = 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hold_page = now_page
&nbsp;&nbsp;&nbsp;&nbsp;cnt += 1
&nbsp;&nbsp;&nbsp;&nbsp;
    <em># ６．リネーム処理</em>
&nbsp;&nbsp;&nbsp;&nbsp;os.rename(f, os.path.join(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in_folder, now_page + "_picture_" + '{0:03d}'.format(cnt) + f_ext))</code></pre>


<p><span>以下、コードの解説です。</span></p>
<p>１．in_folderに元フォルダのパスを設定</p>
<p>２．処理するファイルの情報を一覧で取得</p>
<p>３．連番を付与する変数（cnt、hold_page）を初期化</p>
<p>４．f_titleにファイル名（拡張子なし）、f_extに拡張子を設定<br>※ リネーム処理に使用します。</p>
<p>５．連番のカウント処理<br>1つ前のファイル名とキーが異なる場合、連番リセット</p>
<p>６．ファイルリネーム処理</p>
<p>４～６まで全ファイル分処理を続ける</p>
<p>このコードを実行すると、元フォルダに画像ファイルがリネームされてコピーされます。</p>
<h2><span id="toc3">終わりに</span></h2>
<p><span>いかがでしたでしょうか？<br>現在Python勉強中の身ですが、プログラムを動かして結果を確認できるものを作成するのは達成感もありますので、良かったら参考にしてみてください！</span></p>
<p>ここまでご覧いただきありがとうございました！</p><p>投稿 <a href="https://nyanblog2222.com/programming/python/2588/">【Python】【キーで連番】ファイル名を一括でリネームする方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/python/2588/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【PowerShell】【キーで連番】ファイル名を一括でリネームする方法</title>
		<link>https://nyanblog2222.com/programming/powershell/2486/</link>
					<comments>https://nyanblog2222.com/programming/powershell/2486/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 22 Sep 2020 10:01:56 +0000</pubDate>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[リネーム]]></category>
		<category><![CDATA[一括]]></category>
		<category><![CDATA[連番]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2486</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/124.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/124.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/124-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/124-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/124-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは！前回はファイル名を一括でリネームする方法について、ご紹介いたしました。今回はファイル名に連番を振る際にキーを設定してキーの値が変わった時に連番が初期化する方法をご紹介します。 前回の記事はこちらです！良かった [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/powershell/2486/">【PowerShell】【キーで連番】ファイル名を一括でリネームする方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/124.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/124.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/124-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/124-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/124-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは！前回はファイル名を一括でリネームする方法について、ご紹介いたしました。<br>今回はファイル名に連番を振る際にキーを設定してキーの値が変わった時に連番が初期化する方法をご紹介します。</p>



<p>前回の記事はこちらです！<br>良かったらご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/powershell/2366/" title="【PowerShell】【簡単】ファイル名を一括でリネームする方法" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/123-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/123-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【PowerShell】【簡単】ファイル名を一括でリネームする方法</div><div class="blogcard-snippet internal-blogcard-snippet">こんにちは！皆さんはファイル名を変更する時にどのように変更していますか？ ファイルによって特別なファイル名にしたい場合は手入力せざるをえませんが、決まりのある命名規則に合わせてファイル名を変更するのに毎回手入力するのは時間がもったいないです...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.09.20</div></div></div></div></a>
</div></figure>



<p>※ 筆者がC#での書き方が慣れているため、もっとより良い記述方法があるかもしれません。<br>その際は記事を更新させていただきます。</p>



<p>前回の記事では、Rename-Itemを使用していましたが、今回は出力先フォルダを変更したかったので、<strong><span style="color:#b78d4a" class="has-inline-color">Copy-Item</span></strong>を使用して、ファイル名を変更しながらコピー処理をする方法を取りました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-64" checked><label class="toc-title" for="toc-checkbox-64">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">やりたいこと</a></li><li><a href="#toc2" tabindex="0">サンプルコード</a></li><li><a href="#toc3" tabindex="0">終わりに</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">やりたいこと</span></h2>



<p>こちらが処理前のディレクトリ構成です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="565" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min.png" alt="処理前のフォルダ構成" class="wp-image-2489" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min-300x212.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-22_17-25-38_No-00-min-768x542.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>各画像ファイル名の頭4桁「a001」等をキーに連番を振っていきます。<br>例えば「a001」から「a002」に変わると、また連番が001始まりになります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="565" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min.png" alt="処理後のフォルダ構成のイメージ" class="wp-image-2490" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min-300x212.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_out_2020-9-22_18-44-42_No-00-min-768x542.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<h2 class="wp-block-heading"><span id="toc2">サンプルコード</span></h2>



<pre class="wp-block-code"><code># １．フォルダパス設定
$in_folder = "c:\sample\in"
$out_folder = "c:\sample\out"

# ２．処理するファイル一覧情報を取得
$file_list = Get-ChildItem $in_folder | sort Name

# ３．連番付与するための変数を初期化
$cnt = 0
$hold_key = ""
foreach($file in $file_list){
    # ４．コピー元パス設定
    $in_file_path = $in_folder + "\" + $file.Name

    # ５．連番設定（キーブレイク）
    $now_key = $file.Name.Substring(0, 4)
    if($hold_key -ne $now_key){
        $cnt = 0
        $hold_key = $now_key
    }
    $cnt++

    # ６．コピー先パス設定
    $out_file_path = $out_folder + "\" + $now_key + "_picture_" + $cnt.ToString("D3") + $file.Extension

    # ７．ファイルコピー
    Copy-Item $in_file_path $out_file_path
}</code></pre>



<p>以下、コードの解説です。</p>



<p>１．$in_folder、$out_folderにそれぞれコピー元とコピー先のフォルダのパスを設定</p>



<p>２．処理するファイルの情報を一覧で取得<br>また、ファイル名順で処理するよう、取得する際にファイル名でソートをかける</p>



<p>３．連番を付与する変数（$cnt、$hold_key）を初期化</p>



<p>４．コピー元ファイルパスを設定</p>



<p>５．連番のカウント処理<br>1つ前のファイル名とキーが異なる場合、連番リセット</p>



<p>６．コピー先ファイルパスを設定</p>



<p>７．ファイルコピー処理</p>



<p>４～７まで全ファイル分処理を続ける</p>



<p>このコードを実行すると、コピー先フォルダに画像ファイルがリネームされてコピーされます。</p>



<h2 class="wp-block-heading"><span id="toc3">終わりに</span></h2>



<p>いかがでしたでしょうか？<br>前回同様、コードをコピペして少し変更するだけで簡単に試せるので是非やってみてください！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/powershell/2486/">【PowerShell】【キーで連番】ファイル名を一括でリネームする方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/powershell/2486/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【PowerShell】【簡単】ファイル名を一括でリネームする方法</title>
		<link>https://nyanblog2222.com/programming/powershell/2366/</link>
					<comments>https://nyanblog2222.com/programming/powershell/2366/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 20 Sep 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ファイル名]]></category>
		<category><![CDATA[リネーム]]></category>
		<category><![CDATA[一括]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2366</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/123.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/123.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは！皆さんはファイル名を変更する時にどのように変更していますか？ ファイルによって特別なファイル名にしたい場合は手入力せざるをえませんが、決まりのある命名規則に合わせてファイル名を変更するのに毎回手入力するのは時 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/powershell/2366/">【PowerShell】【簡単】ファイル名を一括でリネームする方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/123.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/123.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/123-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは！皆さんはファイル名を変更する時にどのように変更していますか？</p>



<p>ファイルによって特別なファイル名にしたい場合は手入力せざるをえませんが、決まりのある命名規則に合わせてファイル名を変更するのに毎回手入力するのは時間がもったいないです！</p>



<p>今回はPowerShellを使用してファイル名を一括でリネームする方法をサンプル付きでご紹介してきます。</p>



<p>主に使用するコマンドレットはファイル名変更に使用するRename-Itemです。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-66" checked><label class="toc-title" for="toc-checkbox-66">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1つのファイル名を変更</a></li><li><a href="#toc2" tabindex="0">複数のファイル名を一括に変更</a></li><li><a href="#toc3" tabindex="0">ファイル名に命名規則を指定して連番を付ける</a></li><li><a href="#toc4" tabindex="0">終わりに</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">1つのファイル名を変更</span></h2>



<p>さっそくサンプルコードをご紹介していきましょう。</p>



<p><span style="color:#b78d4a" class="has-inline-color">・<strong>Rename-Item</strong></span>&nbsp;-Path&nbsp;&#8220;名前を変更するファイルパス&#8221;&nbsp;-NewName&nbsp;&#8220;新しいファイル名&#8221;</p>



<p>Rename-Item：名前を変更<br>Pathパラメータ：名前を変更するファイルパスを設定<br>NewNameパラメータ：新しいファイル名を設定</p>



<pre class="wp-block-code python"><code>Rename-Item -Path 'C:\sample\in\345525_s.jpg' -NewName 'nyan_001.jpg'</code></pre>



<p>実行すると、ファイル名が「345525_s.jpg」から「nyan_001.jpg」に変更されました。</p>



<h2 class="wp-block-heading"><span id="toc2">複数のファイル名を一括に変更</span></h2>



<p>先ほどの例だと1ファイルずつしか変更できませんでした。</p>



<p>これでは実用性はあまりないと言えます。。。</p>



<p>次はファイル名の置換する文字列を指定して一度にファイル名を変更していきます。</p>



<p>・<strong><span style="color:#b78d4a" class="has-inline-color">Get-ChildItem</span></strong>&nbsp; &#8220;処理対象ファイルの条件&#8221; |&nbsp;<strong><span style="color:#b78d4a" class="has-inline-color">Rename-Item</span></strong> -NewName{ $_.Name&nbsp;-Replace&nbsp;&#8220;置換する文字列&#8221;, &#8220;置換後の文字列&#8221; }</p>



<p>Get-ChildItem &#8220;条件&#8221;：ディレクトリ内のファイルのうち、指定した条件に当てはまるファイルの情報を取得<br>Replace演算子：文字列を置換</p>



<p>Get-ChildItemで条件を付けることにより、<strong><span style="color:#b78d4a" class="has-inline-color">条件に当てはまるファイルに対して一括でファイル名を変更</span></strong>することができます。</p>



<pre class="wp-block-code python"><code>Get-ChildItem "C:\sample\in\*.jpg" | Rename-Item -NewName{$_.Name -Replace "\.jpg",".jpeg"}</code></pre>



<p>このコマンドを一度実行すると、ファイル拡張子が「jpg」から「jpeg」に変更されました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="781" height="519" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min.png" alt="実行前のファイル一覧" class="wp-image-2409" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min.png 781w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min-300x199.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min-768x510.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="781" height="519" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-13-20_No-00-min.png" alt="実行後のファイル一覧" class="wp-image-2410" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-13-20_No-00-min.png 781w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-13-20_No-00-min-300x199.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-13-20_No-00-min-768x510.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">ファイル名に命名規則を指定して連番を付ける</span></h2>



<p>最後に複数のファイルに対して命名規則を指定して連番を付けてファイル名を一括で変更していきます。</p>



<p>・<strong><span style="color:#b78d4a" class="has-inline-color">Get-ChildItem</span></strong>&nbsp;&#8220;処理対象ファイルの条件&#8221;&nbsp;| <strong><span style="color:#b78d4a" class="has-inline-color">Sort</span></strong> Name |&nbsp;<strong><span style="color:#b78d4a" class="has-inline-color">%</span></strong> { $i = 1} { $Newname = &#8220;命名規則&#8221; + $i.ToString(&#8220;000&#8221;) + $_.extension; <strong><span style="color:#b78d4a" class="has-inline-color">Rename-item</span></strong> $_ $Newname; $i++ }</p>



<p>Get-ChildItem &#8220;条件&#8221;：処理対象のファイルを指定<br>Sort Name：ファイル名でソート<br>％：Foreach-Objectのエイリアス<br>Rename-Item：名前を変更</p>



<p>$Newname：変更後のファイル命名規則<br>$i.ToString(&#8220;000&#8221;)：3桁0詰め表記</p>



<p>先ほどと同様に処理対象のファイルの条件で複数のファイルを一括で処理することができます。</p>



<p>また、ファイル名でソートすることにより、連番を付与したファイルの順番がエクスプローラで表示された順番そのままになります。</p>



<pre class="wp-block-code python"><code>Get-ChildItem "C:\sample\in\*.jpg" | Sort Name | % { $i = 1} { $Newname = "picture_" + $i.ToString("000") + $_.extension; Rename-item $_ $Newname; $i++ }</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="781" height="519" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min.png" alt="実行前のファイル一覧" class="wp-image-2409" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min.png 781w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min-300x199.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_22-10-16_No-00-min-768x510.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="781" height="519" src="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_23-12-12_No-00-min.png" alt="実行後のファイル一覧（連番付与後）" class="wp-image-2423" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_23-12-12_No-00-min.png 781w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_23-12-12_No-00-min-300x199.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/09/SnapCrab_in_2020-9-19_23-12-12_No-00-min-768x510.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">終わりに</span></h2>



<p>いかがでしたでしょうか？<br>コードをコピペして少し変更するだけで簡単に試せるので是非やってみてください！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/powershell/2366/">【PowerShell】【簡単】ファイル名を一括でリネームする方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/powershell/2366/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【簡単】フォルダ内の全てのバッチ（BAT）を実行する方法【サンプルあり】</title>
		<link>https://nyanblog2222.com/programming/cmd/2365/</link>
					<comments>https://nyanblog2222.com/programming/cmd/2365/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 19 Sep 2020 12:14:25 +0000</pubDate>
				<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[バッチ]]></category>
		<category><![CDATA[自動実行]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2365</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/6.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/6.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/6-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/6-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/6-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はフォルダ内の全てのバッチを実行する方法を紹介します。例えば、プログラム開発時におけるテスト処理の自動実行等に使えると思いますので、良かったらコピペしてご使用ください♪ 目次 コード内容使用例（テスト処理の自動実行） [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/2365/">【簡単】フォルダ内の全てのバッチ（BAT）を実行する方法【サンプルあり】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/6.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/6.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/6-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/6-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/6-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">フォルダ内の全てのバッチを実行する方法</span></strong>を紹介します。<br>例えば、プログラム開発時における<strong><span style="color:#b78d4a" class="has-inline-color">テスト処理の自動実行</span></strong>等に使えると思いますので、良かったらコピペしてご使用ください♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-68" checked><label class="toc-title" for="toc-checkbox-68">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">コード内容</a></li><li><a href="#toc2" tabindex="0">使用例（テスト処理の自動実行）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">コード内容</span></h2>



<p>フォルダ内の全てのバッチを実行する方法は以下のコードになります。</p>



<pre class="wp-block-code dos"><code>@ECHO OFF

@REM フォルダ内の全てのバッチを再帰的に実行
FOR /R %%I IN (&#91;バッチ名]) DO (
	@REM バッチファイルが存在すれば実行
	IF EXIST %%I (
		ECHO %%I
		CALL %%I
	)
)</code></pre>



<p>上記コードを簡単に説明します。</p>



<p><span style="color:#b78d4a" class="has-inline-color"><strong>・[FOR /R]</strong><br></span>FOR文は引数に何もつけないと同一階層のファイルを見に行きますが、<br>/Rをつけることで、サブフォルダも含め全てのフォルダを見に行ってくれます。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">・[%%I IN ([バッチ名])]</span></strong><br>%%Iに[バッチ名]のパスが入ります。<br>[バッチ名]はフォルダ内で実行したいバッチファイルのファイル名です。</p>



<p><span style="color:#b78d4a" class="has-inline-color"><strong>・[DO (IF EXIST %%I CALL %%I)]</strong><br></span>DO以降が実行する内容で、もしフォルダ内に指定のバッチファイルが存在すれば実行します。</p>



<p>コード説明は以上です。<br>ただこれだけではイメージが湧きにくいと思いますので、次項で実際の使用例を紹介します。</p>



<h2 class="wp-block-heading"><span id="toc2">使用例（テスト処理の自動実行）</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">プログラム開発時におけるテスト処理の自動実行の例</span></strong>です。<br>テスト処理の自動実行バッチを作っておけば、初回の開発時だけでなく、プログラム変更があって再処理することになっても、同じテスト内容であればすぐに対応できます。</p>



<p>・フォルダ内のテストバッチを全て実行していくバッチ（ALLTEST.bat）</p>



<pre class="wp-block-code dos"><code>@ECHO OFF

@REM フォルダ内の全てのテストバッチを再帰的に実行
FOR /R %%I IN (TEST.BAT) DO (
	@REM テストファイルが存在すれば実行
	IF EXIST %%I (
		ECHO %%I
		CALL %%I
	)
)

PAUSE</code></pre>



<p>・テストバッチ（TEST.bat）</p>



<pre class="wp-block-code dos"><code>@ECHO ********************
@ECHO * テストバッチ実行 *
@ECHO *******************+
@ECHO.</code></pre>



<p>・テスト環境</p>



<pre class="wp-block-code"><code>C:\テスト
│  ALLTEST.bat
│
├─1
│  ├─1-1
│  │  │  TEST.bat
│  │  │
│  │  ├─Input
│  │  └─Output
│  └─1-2
│      ├─1-2-1
│      │  │  TEST.bat
│      │  │
│      │  ├─Input
│      │  └─Output
│      └─1-2-2
│          │  TEST.bat
│          │
│          ├─Input
│          └─Output
└─2
    │  TEST.bat
    │
    ├─Input
    └─Output</code></pre>



<p>上記の環境で、フォルダ内のテストバッチを全て実行していくバッチ（ALLTEST.bat）を実行すると、結果は以下になりました。</p>



<pre class="wp-block-code dos"><code>C:\テスト\1\1-1\TEST.BAT
********************
* テストバッチ実行 *
*******************+

C:\テスト\1\1-2\1-2-1\TEST.BAT
********************
* テストバッチ実行 *
*******************+

C:\テスト\1\1-2\1-2-2\TEST.BAT
********************
* テストバッチ実行 *
*******************+

C:\テスト\2\TEST.BAT
********************
* テストバッチ実行 *
*******************+</code></pre>



<p>全てのテストバッチが問題なく実行されました。</p>



<p>なお、今回のようにすべてのテストバッチを実行する場合であれば、以下のようにテストバッチにエラーレベルを出力する工夫等すると、より良いかもしれませんね。</p>



<pre class="wp-block-code dos"><code>@ECHO ********************
@ECHO * テストバッチ実行 *
@ECHO *******************+
call hogehoge.bat Input Output
echo %errorlevel% &gt; Output\エラーレベル&#91;%errorlevel%].txt</code></pre>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/2365/">【簡単】フォルダ内の全てのバッチ（BAT）を実行する方法【サンプルあり】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/2365/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】Switch関数とSelect Caseステートメント【違いや記述方法を簡単に解説】</title>
		<link>https://nyanblog2222.com/programming/vba/2344/</link>
					<comments>https://nyanblog2222.com/programming/vba/2344/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 13 Sep 2020 13:11:00 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Switch　Select Case　違い]]></category>
		<category><![CDATA[VBA　Select Caseステートメント]]></category>
		<category><![CDATA[VBA　Switch関数]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2344</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/36.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/36.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/36-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/36-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/36-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />VBAには条件分岐の手段の一つとしてSwitch関数やSelect Caseステートメントがありますが、これらの違いや記述方法を紹介します。C言語やJAVA言語でのswitch文との比較もしてますので、そちらも良かったら [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/vba/2344/">【VBA】Switch関数とSelect Caseステートメント【違いや記述方法を簡単に解説】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/36.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/36.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/36-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/36-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/36-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>VBAには条件分岐の手段の一つとして<strong><span style="color:#b78d4a" class="has-inline-color">Switch関数</span></strong>や<strong><span style="color:#b78d4a" class="has-inline-color">Select Caseステートメント</span></strong>がありますが、これらの違いや記述方法を紹介します。<br>C言語やJAVA言語でのswitch文との比較もしてますので、そちらも良かったらどうぞ♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-70" checked><label class="toc-title" for="toc-checkbox-70">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Switch関数</a></li><li><a href="#toc2" tabindex="0">Select Caseステートメント</a></li><li><a href="#toc3" tabindex="0">参考（C言語のswitch文との比較）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Switch関数</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">Switch関数は、ある式（expr）を評価し、Trueであれば値や式（value）を返します。</span></strong></p>



<p>構文については以下となります。</p>



<figure class="wp-block-table"><table><tbody><tr><td>Switch(expr_1,value_1,[expr_2,value_2…,[expr_n,value_n]))<br>expr ：必須。評価する式を指定<br>value：必須。式がTrueの場合に返される値または式</td></tr></tbody></table></figure>



<p>記述例として、以下を用意しました。<br>変数の値と特定の値が一致すれば、メッセージを返し、イミディエイトウィンドウに表示します。</p>



<pre class="wp-block-code basic"><code>' PrintImmediate
' イミディエイトウィンドウにメッセージを表示
Sub PrintImmediate()
    
    Dim sMsg As String
    sMsg = GetMsg_Switch(2)
    
    Debug.Print sMsg
    
End Sub</code></pre>



<pre class="wp-block-code basic"><code>' GetMsg_Switch(Integer)
' Switch関数を使ってメッセージを取得
Function GetMsg_Switch(iMsgCase As Integer)

    GetMsg_Switch = Switch(iMsgCase = 1, "正常１", iMsgCase = 2, "正常２")

End Function</code></pre>



<p>結果は、「正常２」と表示されます。</p>



<p>Switch関数を使っていく上で知っておきたいポイントは以下になります。<br>（例については上記の記述例を元にしています。）<br><strong><span style="color:#b78d4a" class="has-inline-color">・Switch関数を変数に代入しないとコンパイルエラーとなる</span></strong><br>例）○GetMsg_Switch = Switch(iMsgCase = 1, &#8220;正常１&#8221;, iMsgCase = 2, &#8220;正常２&#8221;)<br>　　×Switch(iMsgCase = 1, &#8220;正常１&#8221;, iMsgCase = 2, &#8220;正常２&#8221;)<br><strong><span style="color:#b78d4a" class="has-inline-color">・全ての式を評価するため、除算エラー等が起きる式には要注意</span></strong><br>例）iMsgCase = 1で、<br>　　GetMsg_Switch = Switch(iMsgCase = 1, &#8220;正常１&#8221;, iMsgCase = 2, &#8220;正常２&#8221;, iMsgCase = 3, 5 / 0)<br>　　といったコードの場合、「iMsgCase = 3, 5 / 0」部分も評価し除算エラーとなります。<br><strong><span style="color:#b78d4a" class="has-inline-color">・式がFalseだった場合、Nullを返す</span></strong><br>例）iMsgCaseが3の場合、Nullを変数に代入しようとするため、エラーが起きます。</p>



<p>こういったマイナス要素があるため、私は次項の「Select Caseステートメント」がおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc2">Select Caseステートメント</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">Select Caseステートメントは、ある変数の値（testexpression）を複数の値（expressionlist-n）と比較し、一致していれば特定の処理（statements-n）を行います。</span></strong></p>



<p>構文については以下となります。</p>



<figure class="wp-block-table"><table><tbody><tr><td>Select Case testexpression<br>[ Case expressionlist-n [ statements-n ]]<br>[ Case Else [ elsestatements ]]<br>End Select<br><br>testexpression：必須。 任意の変数を指定<br>expressionlist-n：省略可能。Caseがある場合は必須<br>statements-n：省略可能。値が一致していた場合実行される処理<br>elsestatements 省略可能。値が一致しない場合に実行される処理</td></tr></tbody></table></figure>



<p>記述例として、以下を用意しました。<br>変数の値と特定の値が一致すれば、メッセージを返し、イミディエイトウィンドウに表示します。</p>



<pre class="wp-block-code"><code>' PrintImmediate
' イミディエイトウィンドウにメッセージを表示
Sub PrintImmediate()
    
    Dim sMsg As String
    sMsg = GetMsg_SelectCase(2)
    
    Debug.Print sMsg
    
End Sub</code></pre>



<pre class="wp-block-code"><code>' GetMsg_SelectCase(Integer)
' SelectCaseステートメントを使ってメッセージを取得
Function GetMsg_SelectCase(iMsgCase As Integer)

       
    Select Case iMsgCase
    Case 1
        GetMsg_SelectCase = "正常１"
    Case 2
        GetMsg_SelectCase = "正常２"
    Case Else
        GetMsg_SelectCase = "異常"
    End Select
        

End Function</code></pre>



<p>結果は、「正常２」と表示されます。<br>もし、sMsg = GetMsg_SelectCase(3)だった場合は、「異常」と表示されます。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">変数に想定外の値が入っていても、Case Elseがあるためエラーを出さずに対応できます。</span></strong></p>



<h2 class="wp-block-heading"><span id="toc3">参考（C言語のswitch文との比較）</span></h2>



<p>参考になりますが、C言語のswitch文は以下のような書き方をします。</p>



<pre class="wp-block-code"><code>int iMsgCase = 2;

switch(iMsgCase){
  case 1:
    printf("正常１¥n");
    break;
  case iMsgCase:
    printf("正常２¥n");
    break;
  default:
    printf("異常¥n");
}</code></pre>



<p>記述内容はほぼSelect Caseステートメントで、内容もほぼ同等の性能です。<br>逆にSwitch関数とは、名前は似てますが内容は似てません。</p>



<p>以上、今回はSwitch関数やSelect Caseステートメントについて紹介しました。<br>両者比較すると、<strong><span style="color:#b78d4a" class="has-inline-color">マイナスポイントの多いSwitch関数を使うよりは、Select Caseステートメントを使った方がよい</span></strong>のかなと思います。</p>



<p>Switch関数の強みは条件分岐を1行で書けるところかな？と当初考えましたが、いざコードを書いてみると1行に条件を詰め込むのは逆に読みにくいかもと感じました。。</p>



<p>以下まとめです。</p>



<figure class="wp-block-table"><table><tbody><tr><td>・個人差あるかもしれませんが性能は、<br>　Select Caseステートメント＞＞＞Switch関数<br>・C言語のswitch文とVBAのSwitch関数は似てるようで似てない<br>　　　　　　　　　　VBAでほぼ同等の性能はSelect Caseステートメント</td></tr></tbody></table></figure>



<p>本記事で参考にさせていただいたサイト：<br><a class="link" href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/switch-function">Microsoft Doc：Switch 関数</a><br><a class="link" href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/select-case-statement">Microsoft Doc：Select Case ステートメント</a></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/vba/2344/">【VBA】Switch関数とSelect Caseステートメント【違いや記述方法を簡単に解説】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/vba/2344/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】Shift-JIS・UTF-8等、各種文字コードのファイル読み込み【コピペで使えるサンプル付き】</title>
		<link>https://nyanblog2222.com/programming/2291/</link>
					<comments>https://nyanblog2222.com/programming/2291/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 06 Sep 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Shift-JIS]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[ファイル読み込み]]></category>
		<category><![CDATA[文字コード]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2291</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はAccess等で使われるVBAで、Shift-JIS（SJIS）・UTF-8等、各種文字コードのファイルを読み込む方法を紹介します。内容としては、OpenステートメントやADODB.Streamを使った手法です。自 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/2291/">【VBA】Shift-JIS・UTF-8等、各種文字コードのファイル読み込み【コピペで使えるサンプル付き】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/35.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/35-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はAccess等で使われるVBAで、Shift-JIS（SJIS）・UTF-8等、各種文字コードのファイルを読み込む方法を紹介します。<br>内容としては、OpenステートメントやADODB.Streamを使った手法です。<br>自作関数のサンプルもつけてますので、是非ご活用ください！<br>また、同時にダイアログを開いて対象のファイル名を取得する方法も紹介してますので、良かったらそちらもどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-72" checked><label class="toc-title" for="toc-checkbox-72">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">紹介する手法</a></li><li><a href="#toc2" tabindex="0">共通で使っているテストデータやサブ関数</a><ol><li><a href="#toc3" tabindex="0">テストデータ</a></li><li><a href="#toc4" tabindex="0">（サブ関数）ダイアログを開いて対象のファイル名を取得する</a></li></ol></li><li><a href="#toc5" tabindex="0">Openステートメントでcsvファイル読み込み（Shift-JISのみ可）</a></li><li><a href="#toc6" tabindex="0">ADODB.Streamでcsvファイルを読み込む（UTF-8、Shift-JIS他）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">紹介する手法</span></h2>



<p>まず、本記事の簡単なまとめから♪</p>



<figure class="wp-block-table"><table><tbody><tr><td>・Openステートメント<br>　Shift-JISのみ<br>・ADODB.Stream　←　☆汎用性があるため個人的にはおすすめ<br>　Shift-JIS・UTF-8他</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc2">共通で使っているテストデータやサブ関数</span></h2>



<p>説明の際に使用するテストデータや、自作関数の中で呼び出しているサブ関数です。<br>本記事とは内容が離れますので、飛ばしてもらっても大丈夫です。</p>



<h3 class="wp-block-heading"><span id="toc3">テストデータ</span></h3>



<p>今回テストとして読み込むcsvファイルは以下を使用します。<br>（同じ内容で文字コードがShift-JIS・UTF-8のデータを用意）</p>



<pre class="wp-block-code"><code>No	郵便番号	住所	名前
1	859-5326	東京都春日井市向谷町１－６５	ヤマモトコーポレーション株式会社
2	987-2523	千葉県向田市山本町６５８－４４	華井　譲
3	789-0001	千葉県向田市山本町　ジンダ－ビル２F　２０１号	蓮田不動産株式会社
4	653-6567	大阪府大東市浅田８－９９９	株式会社ハッターフ
5	198-3463	鹿児島県薩摩川内市浜本１２３－７７	山本　茂</code></pre>



<h3 class="wp-block-heading"><span id="toc4">（サブ関数）ダイアログを開いて対象のファイル名を取得する</span></h3>



<p>ダイアログを開いて対象のファイル名を取得するサブ関数を用意しました。<br>直接ファイルパスを次項から紹介する関数のコード上に書いてしまっても良かったのですが、それではコピペして使いにくいので。。</p>



<p>内容としては、GetFileName_csvを呼び出すと、ダイアログを開いてcsvファイルのファイル名を取得し、戻り値として返す関数になります。</p>



<pre class="wp-block-code"><code>' GetFileName_csv
' csvファイル名を取得
Function GetFileName_csv()

    'ダイアログを開いてcsvファイルのファイル名を取得
    'Application.FileDialogを使うには、
    '参照設定でMicrosoft Office 1X.0 Object Libraryの追加が必要
    With Application.FileDialog(msoFileDialogOpen)
        .Filters.Clear
        .Filters.Add "csvファイル", "*.csv"
        .AllowMultiSelect = False
        If .Show = True Then
            GetFileName_csv = .SelectedItems(1)
        End If
    End With

End Function</code></pre>



<h2 class="wp-block-heading"><span id="toc5">Openステートメントでcsvファイル読み込み（Shift-JISのみ可）</span></h2>



<p>Openステートメントで、csvファイルを読み込む方法です。<br>Openステートメントでは、文字コードに合わせて対応していくことができないので、Accessのデフォルトの文字コードであるShift-JISでしか正しく読み取りできません。</p>



<p>以下、Openステートメントを使用したcsvファイル読込関数関数です。</p>



<pre class="wp-block-code"><code>' ReadCSVFile_Open
' csvファイル読込関数（Openステートメントを使用）
Sub ReadCSVFile_Open()
    
    'ファイル名取得
    Dim sOpenFileName As String
    sOpenFileName = GetFileName_csv
    If sOpenFileName = "" Then Exit Sub

    'ファイルを読み込んでイミディエイトウィンドウに内容を表示する
    Dim sBuf  As String
    Open sOpenFileName For Input As #1 'ファイルを開いて&#91;#1]という番号で管理
    Do Until EOF(1)
       Line Input #1, sBuf '1行づつバッファへ格納
       Debug.Print sBuf
    Loop
    Close #1
    
End Sub</code></pre>



<p>こちらの関数を使用して、Shift-JISのファイルを読み込んだ結果はこちらです。</p>



<p>ファイル名：SJIS.csv</p>



<pre class="wp-block-code"><code>No  郵便番号    住所    名前
1   859-5326    東京都春日井市向谷町１－６５    ヤマモトコーポレーション株式会社
2   987-2523    千葉県向田市山本町６５８－４４  華井　譲
3   789-0001    千葉県向田市山本町　ジンダ－ビル２F　２０１号   蓮田不動産株式会社
4   653-6567    大阪府大東市浅田８－９９９  株式会社ハッターフ
5   198-3463    鹿児島県薩摩川内市浜本１２３－７７  山本　茂</code></pre>



<p>正確に読み取れてますね。</p>



<p>試しにこの関数を使って、UTF-8も読み取ってみました。</p>



<p>ファイル名：UTF-8.csv</p>



<pre class="wp-block-code"><code>No  驛ｵ萓ｿ逡ｪ蜿ｷ    菴乗園  蜷榊燕
1   859-5326    譚ｱ莠ｬ驛ｽ譏･譌･莠募ｸょ髄隹ｷ逕ｺ・托ｼ搾ｼ厄ｼ・繝､繝槭Δ繝医さ繝ｼ繝昴Ξ繝ｼ繧ｷ繝ｧ繝ｳ譬ｪ蠑丈ｼ夂､ｾ
2   987-2523    蜊・痩逵悟髄逕ｰ蟶ょｱｱ譛ｬ逕ｺ・厄ｼ包ｼ假ｼ搾ｼ費ｼ・闖ｯ莠輔隴ｲ
3   789-0001    蜊・痩逵悟髄逕ｰ蟶ょｱｱ譛ｬ逕ｺ縲繧ｸ繝ｳ繝・阪ン繝ｫ・巽縲・抵ｼ撰ｼ大捷 闢ｮ逕ｰ荳榊虚逕｣譬ｪ蠑丈ｼ夂､ｾ
4   653-6567    螟ｧ髦ｪ蠎懷､ｧ譚ｱ蟶よｵ・伐・假ｼ搾ｼ呻ｼ呻ｼ・譬ｪ蠑丈ｼ夂､ｾ繝上ャ繧ｿ繝ｼ繝・
5   198-3463    鮖ｿ蜈仙ｳｶ逵瑚湊鞫ｩ蟾晏・蟶よｵ懈悽・托ｼ抵ｼ難ｼ搾ｼ暦ｼ・螻ｱ譛ｬ縲闌・</code></pre>



<p>全角が化けてしまっていますね。<br>前述のとおり、UTF-8を含む他の文字コードには対応していませんので、読み取る必要があれば次項をお使いください。</p>



<h2 class="wp-block-heading"><span id="toc6">ADODB.Streamでcsvファイルを読み込む（UTF-8、Shift-JIS他）</span></h2>



<p>ADODB.Streamで、csvファイルを読み込む方法です。<br>ADODB.Streamでは、UTF-8、Shift-JISを含む各種文字コードに対応しています。</p>



<p>以下、Openステートメントを使用したcsvファイル読込関数関数です。</p>



<pre class="wp-block-code"><code>' ReadCSVFile_ADODB
' csvファイル読込関数（ADODB.Streamを使用）
Sub ReadCSVFile_ADODB()
    
    'ファイル名取得
    Dim sOpenFileName As String
    sOpenFileName = GetFileName_csv
    If sOpenFileName = "" Then Exit Sub

    'ファイルを読み込んでイミディエイトウィンドウに内容を表示する
    Dim sBuf  As String
    With CreateObject("ADODB.Stream")
       .Charset = "UTF-8" 'SJISの場合、"shift_jis"
       .Open
       .LoadFromFile sOpenFileName
        Do Until .EOS
           sBuf = .ReadText(-2) '1行づつバッファへ格納
           Debug.Print sBuf
        Loop
       .Close
    End With
    
End Sub</code></pre>



<p>なお、上記関数をそのままコピペすると、UTF-8に対応した関数になります。<br>shift_jisに対応させる場合、</p>



<pre class="wp-block-code"><code>.Charset = "UTF-8"</code></pre>



<p>の部分を、</p>



<pre class="wp-block-code"><code>.Charset = "shift_jis"</code></pre>



<p>に書き換えてください。</p>



<p>その他、UTF-8、Shift-JIS以外の文字コードで読み取る場合は、<br>「レジストリエディタ」の「HKEY_CLASSES_ROOT\MIME\Database\Charset」から確認してください。<br>レジストリエディタは、<br>「Windowsマーク」キーと「R」キーを同時押し→ファイル名を指定して実行の画面が出たら、「regedit」と入力してエンターを押すと開くことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="634" height="384" src="https://nyanblog2222.com/wp-content/uploads/2020/09/regedit_mojicd-min.png" alt="レジストリエディタ" class="wp-image-2305" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/regedit_mojicd-min.png 634w, https://nyanblog2222.com/wp-content/uploads/2020/09/regedit_mojicd-min-300x182.png 300w" sizes="auto, (max-width: 634px) 100vw, 634px" /></figure>



<p>それでは、まずshift_jisのファイルを読み込んでみました。</p>



<p>ファイル名：SJIS.csv</p>



<pre class="wp-block-code"><code>No  郵便番号    住所    名前
1   859-5326    東京都春日井市向谷町１－６５    ヤマモトコーポレーション株式会社
2   987-2523    千葉県向田市山本町６５８－４４  華井　譲
3   789-0001    千葉県向田市山本町　ジンダ－ビル２F　２０１号   蓮田不動産株式会社
4   653-6567    大阪府大東市浅田８－９９９  株式会社ハッターフ
5   198-3463    鹿児島県薩摩川内市浜本１２３－７７  山本　茂</code></pre>



<p>正確に読み取れてますね。</p>



<p>ファイル名：UTF-8.csv</p>



<pre class="wp-block-code"><code>No  郵便番号    住所    名前
1   859-5326    東京都春日井市向谷町１－６５    ヤマモトコーポレーション株式会社
2   987-2523    千葉県向田市山本町６５８－４４  華井　譲
3   789-0001    千葉県向田市山本町　ジンダ－ビル２F　２０１号   蓮田不動産株式会社
4   653-6567    大阪府大東市浅田８－９９９  株式会社ハッターフ
5   198-3463    鹿児島県薩摩川内市浜本１２３－７７  山本　茂</code></pre>



<p>こちらも、正しく読み取ることができました♪</p>



<p>以上、今回の記事が参考になれば幸いです。<br>関連として、もしUTF-8について知りたい！という方はこちらの記事もご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/4659/" title="【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/49-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/49-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/49-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について</div><div class="blogcard-snippet internal-blogcard-snippet">CSVファイルをExcelで確認すると文字化けすることはありませんか。それは文字コードがUTF-8のBOM無しで作成されているからかもしれません。本記事ではUTF-8のBOM付き、BOM無しの違い、確認方法、作成方法についてご紹介しています。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.07.15</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/2291/">【VBA】Shift-JIS・UTF-8等、各種文字コードのファイル読み込み【コピペで使えるサンプル付き】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/2291/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】インクリメントやデクリメントは使える？代替案は？</title>
		<link>https://nyanblog2222.com/programming/vba/2261/</link>
					<comments>https://nyanblog2222.com/programming/vba/2261/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 05 Sep 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[インクリメント]]></category>
		<category><![CDATA[デクリメント]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2261</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/34.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/34.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/34-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/34-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/34-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />C言語やJAVAなどで欠かせないインクリメントやデクリメントですが、ExcelやAccessなどで使用するVBAでも使えるか、調べてみました。 ・インクリメント変数の値を1増やす演算　例：i++、++i・デクリメント変数 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/vba/2261/">【VBA】インクリメントやデクリメントは使える？代替案は？</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/34.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/34.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/34-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/34-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/34-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>C言語やJAVAなどで欠かせないインクリメントやデクリメントですが、ExcelやAccessなどで使用するVBAでも使えるか、調べてみました。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">・インクリメント</span></strong><br>変数の値を1増やす演算　例：i++、++i<br><strong><span style="color:#b78d4a" class="has-inline-color">・デクリメント</span></strong><br>変数の値を1減らす演算　例：i－－、－－i</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-74" checked><label class="toc-title" for="toc-checkbox-74">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VBAでインクリメントやデクリメントは使えない？</a></li><li><a href="#toc2" tabindex="0">代替案について</a><ol><li><a href="#toc3" tabindex="0">加算代入演算子や減算代入演算子は？</a></li><li><a href="#toc4" tabindex="0">関数を作ってみるのは？</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VBAでインクリメントやデクリメントは使えない？</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">VBAにはインクリメントやデクリメントという概念がなく、使えません。</span></strong></p>



<p>試しに、i++やi－－と書くと以下のエラーメッセージが出ます。</p>



<pre class="wp-block-code"><code>コンパイルエラー:

修正候補:式</code></pre>



<p>++iやi－－と書くと以下のエラーメッセージが出ます。</p>



<pre class="wp-block-code"><code>コンパイル　エラー:

修正候補: 行番号 または 行ラベル または ステートメント または ステートメントの最後</code></pre>



<p>VBAでインクリメントやデクリメントが使えない理由としては、<br><strong><span style="color:#b78d4a" class="has-inline-color">VBA（Visual Basic for Applications）はBASICというプログラミング言語がルーツ</span></strong>なので、インクリメントやデクリメントが存在するC言語がルーツのプログラミング言語とは、<strong><span style="color:#b78d4a" class="has-inline-color">歴史が異なる</span></strong>からです。</p>



<figure class="wp-block-table"><table><tbody><tr><td>参考：VBA（Visual Basic for Applications）年表<br><br>(1964) BASIC<br>　　　↓<br>(1985) QuickBASIC<br>　　　↓<br>(1991) Microsoft Visual Basic<br>　　　↓<br>(1993) Visual Basic for Applications</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc2">代替案について</span></h2>



<p>気になる<strong><span style="color:#b78d4a" class="has-inline-color">代替案ですが、残念ながら有効なものはありません</span></strong>でした。</p>



<h3 class="wp-block-heading"><span id="toc3">加算代入演算子や減算代入演算子は？</span></h3>



<p>試してみましたが、インクリメントやデクリメントと似たことができる<strong><span style="color:#b78d4a" class="has-inline-color">加算代入演算子や減算代入演算子ではうまくいきませんでした。</span></strong></p>



<p>（参考）<br>・加算代入演算子<br>変数の値に右辺の値を加算する演算　例：i+=1<br>・減算代入演算子<br>変数の値に右辺の値を減算する演算　例：i-=1</p>



<p>以下、エラーメッセージです。</p>



<pre class="wp-block-code"><code>コンパイルエラー:

修正候補:式</code></pre>



<p>インクリメントやデクリメントと同様に、C言語がルーツのプログラミング言語で使用できる加算代入演算子や減算代入演算子についても、概念がないようですね。</p>



<h3 class="wp-block-heading"><span id="toc4">関数を作ってみるのは？</span></h3>



<p>無理やり捻りだすとするのであらば、<strong><span style="color:#b78d4a" class="has-inline-color">インクリメントやデクリメントする関数を作る</span></strong>のはどうでしょう。</p>



<p>例えば、以下の関数「Increment(ByRef)」でインクリメントできます。</p>



<pre class="wp-block-code basic"><code>'呼び出し元の関数
Public Function TestIncrement()
　Dim i As Int
　i = 0
　～
　Increment i
　～
End Function</code></pre>



<pre class="wp-block-code basic"><code>'インクリメント用関数
Sub Increment(ByRef i)
　i = i + 1
End Sub</code></pre>



<p>ただこれははっきり言ってしまえば、自己満足なコードです。<br>あまり分かりやすくなったとは言いづらいですし、作った本人はいいでしょうが、<strong><span style="color:#b78d4a" class="has-inline-color">他の人がコードを見たとき読みにくいコードに</span></strong>なるでしょうね。。</p>



<p>以上、今回はインクリメントやデクリメントがVBAでも使えるか、また代替案は何かないか調べてみました。<br>以下がそのまとめです。</p>



<figure class="wp-block-table"><table><tbody><tr><td>・VBAにインクリメントやデクリメントという概念はない<br>・代替案で有効なものもないため、<br>　　i = i + 1<br>　という一般的な書き方をするのが良い</td></tr></tbody></table></figure>



<p>そもそもVBAのルーツであるBASICはあくまで初心者向けの言語のため、いくらインクリメントやデクリメントが分かりやすく効率的だからといって、現状でもi = i + 1と1行で処理できるのですから、これ以上知識が必要となる機能追加は望まれないのかもしれませんね。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/vba/2261/">【VBA】インクリメントやデクリメントは使える？代替案は？</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/vba/2261/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【対処方法】指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。</title>
		<link>https://nyanblog2222.com/office/2244/</link>
					<comments>https://nyanblog2222.com/office/2244/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 04 Sep 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=2244</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/33.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/33.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/33-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/33-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/33-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />Accessマクロで関数（VBA）を呼び出した際に出てくる「指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。」の対処方法をいくつか紹介します。（内容についてはMicrosof [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/2244/">【対処方法】指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/33.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/33.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/33-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/33-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/33-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>Accessマクロで関数（VBA）を呼び出した際に出てくる「<strong><span style="color:#b78d4a" class="has-inline-color">指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。</span></strong>」の対処方法をいくつか紹介します。<br>（内容についてはMicrosoft Access 2010で確認）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="487" height="111" src="https://nyanblog2222.com/wp-content/uploads/2020/09/access_kansu_ng-min.png" alt="エラーメッセージ" class="wp-image-2250" srcset="https://nyanblog2222.com/wp-content/uploads/2020/09/access_kansu_ng-min.png 487w, https://nyanblog2222.com/wp-content/uploads/2020/09/access_kansu_ng-min-300x68.png 300w" sizes="auto, (max-width: 487px) 100vw, 487px" /></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-76" checked><label class="toc-title" for="toc-checkbox-76">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">マクロで呼び出す関数の名称が間違っている</a></li><li><a href="#toc2" tabindex="0">関数名に日本語が含まれる</a></li><li><a href="#toc3" tabindex="0">関数名とモジュール名が同じ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">マクロで呼び出す関数の名称が間違っている</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">関数名と、マクロで呼び出す関数の名称が異なっている</span></strong>とエラーメッセージが表示されます。</p>



<p>以下の事例だと、関数名が「FileOpen()」なのに対し、マクロでは「FileOpn()」となってしまっています。<br>この場合、マクロでは関数名と同じ「FileOpen()」を呼び出してください。</p>



<p>関数：</p>



<pre class="wp-block-code basic"><code>Public Function FileOpen()
　～
End Function</code></pre>



<p>マクロの関数（プロシージャ）呼び出し：</p>



<pre class="wp-block-code basic"><code>=FileOpn()</code></pre>



<h2 class="wp-block-heading"><span id="toc2">関数名に日本語が含まれる</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">関数名に日本語が含まれている</span></strong>とエラーメッセージが表示されます。</p>



<p>以下の事例だと、関数名が「Fileを開く()」となっており日本語が含まれています。<br>この場合、日本語は使わず「FileOpen()」などの名前にしてください。</p>



<p>関数：</p>



<pre class="wp-block-code basic"><code>Public Function Fileを開く()
　～
End Function</code></pre>



<h2 class="wp-block-heading"><span id="toc3">関数名とモジュール名が同じ</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">関数名とモジュール名が同じ</span></strong>場合エラーメッセージが表示されます。</p>



<p>以下の事例だと、関数名が「FileOpen()」に対し、モジュール名も「FileOpen」になってしまっています。<br>この場合、モジュール名は「ファイルを開く」など関数名と異なる名前にしてください。</p>



<p>関数：</p>



<pre class="wp-block-code basic"><code>Public Function FileOpen()
　～
End Function</code></pre>



<p>モジュール名：</p>



<pre class="wp-block-code basic"><code>FileOpen</code></pre>



<p>ちなみに「関数名とマクロ名が同じ」場合はエラーメッセージは出ません。</p>
<p>投稿 <a href="https://nyanblog2222.com/office/2244/">【対処方法】指定した式に、Microsoft Accessが見つけることができない関数名が含まれています。</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/2244/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【プログラミング】優れたコードを書くためにおすすめの本３選【初心者からのステップアップ】</title>
		<link>https://nyanblog2222.com/web-all/1964/</link>
					<comments>https://nyanblog2222.com/web-all/1964/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 11 Aug 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[Web全般]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[おすすめ]]></category>
		<category><![CDATA[デザインパターン]]></category>
		<category><![CDATA[リーダブルコード]]></category>
		<category><![CDATA[リファクタリング]]></category>
		<category><![CDATA[本]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1964</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/24.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/24.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/24-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/24-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/24-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは、今回はプログラミングにおいて優れたコードを書くためにおすすめの本（リーダブルコード・リファクタリング・デザインパターン）を紹介します。 プログラミング初心者の方は、まずデータフローやプログラミング言語の記述方 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/web-all/1964/">【プログラミング】優れたコードを書くためにおすすめの本３選【初心者からのステップアップ】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/24.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/24.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/24-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/24-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/24-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは、今回はプログラミングにおいて<span class="marker-under">優れたコードを書くためにおすすめの本（リーダブルコード・リファクタリング・デザインパターン）</span>を紹介します。</p>



<p>プログラミング初心者の方は、まずデータフローやプログラミング言語の記述方法について勉強していく方が多いかと思いますが、<br>今回紹介する本は、<span class="marker-under">初心者から中級者にステップアップしたい方に是非読んでもらいたい本</span>です。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/08/kaidan_woman_noboru-min.png" alt="" class="wp-image-1983" width="191" height="225" srcset="https://nyanblog2222.com/wp-content/uploads/2020/08/kaidan_woman_noboru-min.png 382w, https://nyanblog2222.com/wp-content/uploads/2020/08/kaidan_woman_noboru-min-255x300.png 255w" sizes="auto, (max-width: 191px) 100vw, 191px" /></figure>



<p><span class="bold-red">何をもって優れたコードか？</span><br>良かったらそちらも考えながら読んでみてくださいね♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-78" checked><label class="toc-title" for="toc-checkbox-78">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">本で解説に使っている言語は？</a></li><li><a href="#toc2" tabindex="0">プログラミングで優れたコードを書くためにおすすめの本３選</a><ol><li><a href="#toc3" tabindex="0">リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック</a></li><li><a href="#toc4" tabindex="0">Java言語で学ぶデザインパターン入門</a></li><li><a href="#toc5" tabindex="0">Java言語で学ぶリファクタリング入門</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">本で解説に使っている言語は？</span></h2>



<p>紹介する本のプログラミング言語は基本的に<span class="marker-under">Javaで解説</span>されています。</p>



<p>普段使っている言語でなければ、理解できるか不安になられる方も多いかもしれませんが、説明が文章で分かりやすく簡潔に書いてあり、図解も多く、<span class="marker-under">最低限何かしらの言語を知っていれば理解できる内容</span>ですので、あまり気にしなくても大丈夫です。<br>事実、私はC#メインで開発しておりJavaは全く経験がありませんでしたが、すすっと問題なく理解することができました。</p>



<p>なお、リファクタリングやデザインパターンの本はJavaで解説されていることが殆どですので、今回紹介する本以外でも、言語は気にせず人気のある良書を読んでみるのがいいと思います。</p>



<h2 class="wp-block-heading"><span id="toc2">プログラミングで優れたコードを書くためにおすすめの本３選</span></h2>



<h3 class="wp-block-heading"><span id="toc3">リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック</span></h3>


<div id="rinkerid4134" class="yyi-rinker-contents  yyi-rinker-postid-4134 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4873115655/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=4873115655&#038;linkId=10a255542fbf676652125d58099d46df" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック" data-vars-click-id="amazon_img 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/5658/9784873115658.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4873115655/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=4873115655&#038;linkId=10a255542fbf676652125d58099d46df" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック" data-vars-amp-click-id="amazon_title 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック" >リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4873115655/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=4873115655&amp;linkId=10a255542fbf676652125d58099d46df" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"  data-vars-amp-click-id="amazon 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00q0729.4ny1321f.g00q0729.4ny14a10/Rinker_t_20210907222413?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F11753651%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F15934325%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"  data-vars-amp-click-id="rakuten 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%2580%25E3%2583%2596%25E3%2583%25AB%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"  data-vars-amp-click-id="yahoo 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>



<p>今回紹介する本の中でも<span class="bold-red">一押し</span>の本で、<br><span class="marker-under-red">読みやすいコードを書くこと</span>を目的に作られた本です。</p>



<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow">
<p>本書は４部にわたって構成されており、その全てが小難しい知識不要で、それこそ今日から使えるテクニックになっています。</p>



<div class="wp-block-sbd-background-block sbd-bg-color sbd-inner-block-init">
<p> 第１部　表面上の改善<br>　名前・コメント・見た目のようなコード全体に適用できる簡単なヒント<br>第２部　ループとロジックの単純化<br>　プログラムのループ・ロジック・変数などを改善して理解しやすくする方法<br>第３部　コードの再構成<br>　巨大なコードブロックを再構成して問題を関数のレベルに分解する方法<br>第４部　選抜テーマ<br>　「理解しやすさ」をテストや大きなデータ構造に適用する方法<br>　　　　　　　　　　　　　　　　　　　　　　　　　　　　　（本文より） </p>
</div>



<p>誰が見ても読みやすいコードが書けるようになれば、<br><span class="marker-under">・他人がコードを読む時間を大きく省略できる。<br>・数か月後に見返したときにコードの内容を簡単に思い出せる。<br>・バグの少ないコードが書ける。<br>・コードを読めば内容が分かるので、コメントを書く必要すらなくなる。</span><br>などなど、良いことずくめです。</p>



<p>本当におすすめの本なので、一度でいいから読んでみてください♪</p>
</div>



<h3 class="wp-block-heading"><span id="toc4">Java言語で学ぶデザインパターン入門</span></h3>


<div id="rinkerid4135" class="yyi-rinker-contents  yyi-rinker-postid-4135 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8ATHGW&#038;linkId=2f56049d14f773b20e44e90bf3a22c6e" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4135 増補改訂版 Java言語で学ぶデザインパターン入門" data-vars-click-id="amazon_img 4135 増補改訂版 Java言語で学ぶデザインパターン入門"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/7038/9784797327038.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8ATHGW&#038;linkId=2f56049d14f773b20e44e90bf3a22c6e" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4135 増補改訂版 Java言語で学ぶデザインパターン入門" data-vars-amp-click-id="amazon_title 4135 増補改訂版 Java言語で学ぶデザインパターン入門" >増補改訂版 Java言語で学ぶデザインパターン入門</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=B00I8ATHGW&amp;linkId=2f56049d14f773b20e44e90bf3a22c6e" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4135 増補改訂版 Java言語で学ぶデザインパターン入門"  data-vars-amp-click-id="amazon 4135 増補改訂版 Java言語で学ぶデザインパターン入門">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00q0729.4ny1321f.g00q0729.4ny14a10/Rinker_t_20210907223344?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F1683430%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F11273727%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4135 増補改訂版 Java言語で学ぶデザインパターン入門"  data-vars-amp-click-id="rakuten 4135 増補改訂版 Java言語で学ぶデザインパターン入門">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DJava%25E8%25A8%2580%25E8%25AA%259E%25E3%2581%25A7%25E5%25AD%25A6%25E3%2581%25B6%25E3%2583%2587%25E3%2582%25B6%25E3%2582%25A4%25E3%2583%25B3%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3%25E5%2585%25A5%25E9%2596%2580" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4135 増補改訂版 Java言語で学ぶデザインパターン入門"  data-vars-amp-click-id="yahoo 4135 増補改訂版 Java言語で学ぶデザインパターン入門">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>



<p>デザインパターンとは、GOF（Gang of Four）と呼ばれる４人が<span class="marker-under">オブジェクト指向でよく使われる手法</span>をカタログとして整理し、出版したものです。</p>


<div id="rinkerid4136" class="yyi-rinker-contents  yyi-rinker-postid-4136 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4797311126/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=4797311126&#038;linkId=ca11a802fbbc821b7632e3958f95e5eb" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4136 オブジェクト指向における再利用のためのデザインパターン" data-vars-click-id="amazon_img 4136 オブジェクト指向における再利用のためのデザインパターン"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/1129/9784797311129.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4797311126/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=4797311126&#038;linkId=ca11a802fbbc821b7632e3958f95e5eb" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4136 オブジェクト指向における再利用のためのデザインパターン" data-vars-amp-click-id="amazon_title 4136 オブジェクト指向における再利用のためのデザインパターン" >オブジェクト指向における再利用のためのデザインパターン</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4797311126/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=4797311126&amp;linkId=ca11a802fbbc821b7632e3958f95e5eb" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4136 オブジェクト指向における再利用のためのデザインパターン"  data-vars-amp-click-id="amazon 4136 オブジェクト指向における再利用のためのデザインパターン">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00q0729.4ny1321f.g00q0729.4ny14a10/Rinker_t_20210907223433?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F1103415%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F10805005%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4136 オブジェクト指向における再利用のためのデザインパターン"  data-vars-amp-click-id="rakuten 4136 オブジェクト指向における再利用のためのデザインパターン">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2582%25AA%25E3%2583%2596%25E3%2582%25B8%25E3%2582%25A7%25E3%2582%25AF%25E3%2583%2588%25E6%258C%2587%25E5%2590%2591%25E3%2581%25AB%25E3%2581%258A%25E3%2581%2591%25E3%2582%258B%25E5%2586%258D%25E5%2588%25A9%25E7%2594%25A8%25E3%2581%25AE%25E3%2581%259F%25E3%2582%2581%25E3%2581%25AE%25E3%2583%2587%25E3%2582%25B6%25E3%2582%25A4%25E3%2583%25B3%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4136 オブジェクト指向における再利用のためのデザインパターン"  data-vars-amp-click-id="yahoo 4136 オブジェクト指向における再利用のためのデザインパターン">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>



<p>本書はこの本を、オブジェクト指向初心者にも簡単に理解できるようにまとめたデザインパターン入門書です。</p>



<p>本書は２３章（デザインパターン２３個分）にわたって構成されており、その全てで簡単なサンプルプログラムがついており、初心者でも分かりやすい内容になっています。</p>



<p>デザインパターンを学ぶことで、<br><span class="marker-under">・要求された仕様に対しての解決策（コード）が瞬時に浮かぶようになる<br>・仕様変更に対応しやすい<br>・バグが少なくなる</span><br>などのメリットや、デザインパターンを開発グループ全員が学ぶことで、<br><span class="marker-under">・開発者同士でイメージを言語化し、共有できる<br>・可読性が上がる</span><br>などのメリットがあります。</p>



<p>使用用途と合致したため、私が開発の際によく使っていたデザインパターンは、<br>「Adapter」「Template Method」「Factory Method」「Singleton」「Strategy」「Facade」「State」<br>です。どれも便利なので良かったら使ってみてくださいね♪</p>



<h3 class="wp-block-heading"><span id="toc5">Java言語で学ぶリファクタリング入門</span></h3>


<div id="rinkerid4137" class="yyi-rinker-contents  yyi-rinker-postid-4137 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8AT1EU/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8AT1EU&#038;linkId=eca8aa45c08ca08340747af59992e930" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]" data-vars-click-id="amazon_img 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/rakutenkobo-ebooks/cabinet/8227/2000001848227.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8AT1EU/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8AT1EU&#038;linkId=eca8aa45c08ca08340747af59992e930" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]" data-vars-amp-click-id="amazon_title 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]" >Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8AT1EU/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=B00I8AT1EU&amp;linkId=eca8aa45c08ca08340747af59992e930" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"  data-vars-amp-click-id="amazon 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00reb49.4ny1346a.g00reb49.4ny1473e/Rinker_t_20210907223513?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Frakutenkobo-ebooks%2Faa648d0824f533deb25300ebe7112e73%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Frakutenkobo-ebooks%2Fi%2F16334307%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"  data-vars-amp-click-id="rakuten 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DJava%25E8%25A8%2580%25E8%25AA%259E%25E3%2581%25A7%25E5%25AD%25A6%25E3%2581%25B6%25E3%2583%25AA%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25AF%25E3%2582%25BF%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25B0%25E5%2585%25A5%25E9%2596%2580" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"  data-vars-amp-click-id="yahoo 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>



<p>本書は、「リファクタリング 既存のコードを安全に改善する（ＭａｒｔｉｎＦｏｗｌｅｒ）」を元に、リファクタリングの本質がわかるように解説されているリファクタリング入門書です。</p>


<div id="rinkerid4138" class="yyi-rinker-contents  yyi-rinker-postid-4138 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B0827R4BDW/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B0827R4BDW&#038;linkId=1d6d233f8796bd252693c07d7d9f464e" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4138 リファクタリング 既存のコードを安全に改善する（第2版）" data-vars-click-id="amazon_img 4138 リファクタリング 既存のコードを安全に改善する（第2版）"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/rakutenkobo-ebooks/cabinet/4582/2000007974582.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B0827R4BDW/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B0827R4BDW&#038;linkId=1d6d233f8796bd252693c07d7d9f464e" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4138 リファクタリング 既存のコードを安全に改善する（第2版）" data-vars-amp-click-id="amazon_title 4138 リファクタリング 既存のコードを安全に改善する（第2版）" >リファクタリング 既存のコードを安全に改善する（第2版）</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B0827R4BDW/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=B0827R4BDW&amp;linkId=1d6d233f8796bd252693c07d7d9f464e" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4138 リファクタリング 既存のコードを安全に改善する（第2版）"  data-vars-amp-click-id="amazon 4138 リファクタリング 既存のコードを安全に改善する（第2版）">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00reb49.4ny1346a.g00reb49.4ny1473e/Rinker_t_20210907223621?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Frakutenkobo-ebooks%2F3502d28e297130d7893c47fbe1000ac8%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Frakutenkobo-ebooks%2Fi%2F18752311%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4138 リファクタリング 既存のコードを安全に改善する（第2版）"  data-vars-amp-click-id="rakuten 4138 リファクタリング 既存のコードを安全に改善する（第2版）">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2583%25AA%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25AF%25E3%2582%25BF%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25B0%2B%25E6%2597%25A2%25E5%25AD%2598%25E3%2581%25AE%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589%25E3%2582%2592%25E5%25AE%2589%25E5%2585%25A8%25E3%2581%25AB%25E6%2594%25B9%25E5%2596%2584%25E3%2581%2599%25E3%2582%258B%25EF%25BC%2588%25EF%25BC%25AD%25EF%25BD%2581%25EF%25BD%2592%25EF%25BD%2594%25EF%25BD%2589%25EF%25BD%258E%25EF%25BC%25A6%25EF%25BD%258F%25EF%25BD%2597%25EF%25BD%258C%25EF%25BD%2585%25EF%25BD%2592%25EF%25BC%2589" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4138 リファクタリング 既存のコードを安全に改善する（第2版）"  data-vars-amp-click-id="yahoo 4138 リファクタリング 既存のコードを安全に改善する（第2版）">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>



<p>以下本書より抜粋ですが、リファクタリングとは、<br><span class="marker-under">外見から見たプログラムの振る舞いを変えずに、プログラム内部の構造を改善する技法</span>です。プログラムの「体質改善」と呼ばれることもあります。</p>



<p>リファクタリングの目的は、<br><span class="marker-under">・バグを見つけやすくする<br>・機能追加しやすくする<br>・レビューしやすくする</span><br>ことです。</p>



<p>本書は１５章にわたって構成されており、<br>第１章～第４章では、コードを整える小規模のリファクタリング<br>第５章～第１０章では、クラスを整える中規模のリファクタリング<br>第１１章～第１５章では、クラスの関係を整える大規模のリファクタリング<br>を学びます。</p>



<p>なお、それぞれ簡単なサンプルプログラムがついており、初心者でも分かりやすい内容になっています。</p>



<p>元になったリファクタリングのタイトルに「既存のコードを安全に改善」と書かれている通り、<span class="marker-under">汚いコードをきれいなコードにする</span>のはもちろんですが、<span class="marker-under">リファクタリングを学んでいれば初めから<span class="bold-red">きれいなコード</span>を書くことができます</span>。また、リファクタリングの中にデザインパターンの要素もありますので、併せて読んでみてくださいね♪</p>



<p>以上、<br>今回はプログラミングにおいて優れたコードを書くために、以下の通りおすすめの本を紹介しました。</p>


<div id="rinkerid4134" class="yyi-rinker-contents  yyi-rinker-postid-4134 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4873115655/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=4873115655&#038;linkId=10a255542fbf676652125d58099d46df" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック" data-vars-click-id="amazon_img 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/5658/9784873115658.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4873115655/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=4873115655&#038;linkId=10a255542fbf676652125d58099d46df" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック" data-vars-amp-click-id="amazon_title 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック" >リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/4873115655/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=4873115655&amp;linkId=10a255542fbf676652125d58099d46df" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"  data-vars-amp-click-id="amazon 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00q0729.4ny1321f.g00q0729.4ny14a10/Rinker_t_20210907222413?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F11753651%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F15934325%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"  data-vars-amp-click-id="rakuten 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3D%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%2580%25E3%2583%2596%25E3%2583%25AB%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック"  data-vars-amp-click-id="yahoo 4134 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>


<div id="rinkerid4135" class="yyi-rinker-contents  yyi-rinker-postid-4135 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8ATHGW&#038;linkId=2f56049d14f773b20e44e90bf3a22c6e" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4135 増補改訂版 Java言語で学ぶデザインパターン入門" data-vars-click-id="amazon_img 4135 増補改訂版 Java言語で学ぶデザインパターン入門"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/7038/9784797327038.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8ATHGW&#038;linkId=2f56049d14f773b20e44e90bf3a22c6e" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4135 増補改訂版 Java言語で学ぶデザインパターン入門" data-vars-amp-click-id="amazon_title 4135 増補改訂版 Java言語で学ぶデザインパターン入門" >増補改訂版 Java言語で学ぶデザインパターン入門</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8ATHGW/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=B00I8ATHGW&amp;linkId=2f56049d14f773b20e44e90bf3a22c6e" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4135 増補改訂版 Java言語で学ぶデザインパターン入門"  data-vars-amp-click-id="amazon 4135 増補改訂版 Java言語で学ぶデザインパターン入門">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00q0729.4ny1321f.g00q0729.4ny14a10/Rinker_t_20210907223344?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F1683430%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F11273727%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4135 増補改訂版 Java言語で学ぶデザインパターン入門"  data-vars-amp-click-id="rakuten 4135 増補改訂版 Java言語で学ぶデザインパターン入門">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DJava%25E8%25A8%2580%25E8%25AA%259E%25E3%2581%25A7%25E5%25AD%25A6%25E3%2581%25B6%25E3%2583%2587%25E3%2582%25B6%25E3%2582%25A4%25E3%2583%25B3%25E3%2583%2591%25E3%2582%25BF%25E3%2583%25BC%25E3%2583%25B3%25E5%2585%25A5%25E9%2596%2580" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4135 増補改訂版 Java言語で学ぶデザインパターン入門"  data-vars-amp-click-id="yahoo 4135 増補改訂版 Java言語で学ぶデザインパターン入門">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>


<div id="rinkerid4137" class="yyi-rinker-contents  yyi-rinker-postid-4137 yyi-rinker-img-m yyi-rinker-catid-10 yyi-rinker-catid-163 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8AT1EU/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8AT1EU&#038;linkId=eca8aa45c08ca08340747af59992e930" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]" data-vars-click-id="amazon_img 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/rakutenkobo-ebooks/cabinet/8227/2000001848227.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;" loading="lazy"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8AT1EU/ref=as_li_qf_asin_il_tl?ie=UTF8&#038;tag=nyan222207-22&#038;creative=1211&#038;linkCode=as2&#038;creativeASIN=B00I8AT1EU&#038;linkId=eca8aa45c08ca08340747af59992e930" class="yyi-rinker-tracking" data-click-tracking="amazon_title 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]" data-vars-amp-click-id="amazon_title 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]" >Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a rel="nofollow noopener" href="https://oyakosodate.com/rinker/" target="_blank" >Rinker</a></div>
										<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a rel="nofollow" href="https://www.amazon.co.jp/gp/product/B00I8AT1EU/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=nyan222207-22&amp;creative=1211&amp;linkCode=as2&amp;creativeASIN=B00I8AT1EU&amp;linkId=eca8aa45c08ca08340747af59992e930" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"  data-vars-amp-click-id="amazon 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]">Amazon</a>					</li>
													<li class="rakutenlink">
						<a rel="nofollow" href="https://hb.afl.rakuten.co.jp/hgc/g00reb49.4ny1346a.g00reb49.4ny1473e/Rinker_t_20210907223513?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Frakutenkobo-ebooks%2Faa648d0824f533deb25300ebe7112e73%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Frakutenkobo-ebooks%2Fi%2F16334307%2F" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"  data-vars-amp-click-id="rakuten 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]">楽天市場</a>					</li>
													<li class="yahoolink">
						<a rel="nofollow" href="https://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3604765&amp;pid=887365800&amp;vc_url=https%3A%2F%2Fshopping.yahoo.co.jp%2Fsearch%3Fp%3DJava%25E8%25A8%2580%25E8%25AA%259E%25E3%2581%25A7%25E5%25AD%25A6%25E3%2581%25B6%25E3%2583%25AA%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25AF%25E3%2582%25BF%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25B0%25E5%2585%25A5%25E9%2596%2580" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="yahoo 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]"  data-vars-amp-click-id="yahoo 4137 Java言語で学ぶリファクタリング入門【電子書籍】[ 結城 浩 ]">Yahooショッピング</a><img loading="lazy" decoding="async" src="https://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3604765&#038;pid=887365800" height="1" width="1" border="0">					</li>
				                											</ul>
					</div>
	</div>
</div>



<p><br>何種類か「優れたコードを書くための本」を読んだ中で、<span class="marker-under">私自身が成長できたとっておきの良書</span>なので、是非皆さんも読んでみていただけたら嬉しいです♪</p>
<p>投稿 <a href="https://nyanblog2222.com/web-all/1964/">【プログラミング】優れたコードを書くためにおすすめの本３選【初心者からのステップアップ】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/web-all/1964/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【App Inventor】簡単スマホアプリ作成【MIT App Inventor 2】</title>
		<link>https://nyanblog2222.com/programming/app-inventor/1853/</link>
					<comments>https://nyanblog2222.com/programming/app-inventor/1853/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 01 Aug 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[App Inventor]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[MIT App Inventor 2]]></category>
		<category><![CDATA[MIT App Inventor 2 日本語化プロジェクト]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1853</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/111.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/111.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/111-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/111-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/111-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回は、App Inventor（MIT App Inventor 2 日本語化プロジェクト）を使ったAndroidアプリ作成について紹介します。子どもから大人まで、パソコンさえあればだれでも超簡単にスマホア [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/app-inventor/1853/">【App Inventor】簡単スマホアプリ作成【MIT App Inventor 2】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/111.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/111.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/111-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/111-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/111-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回は、App Inventor（<a class="link" href="https://appinventor.tmsoftwareinc.com/">MIT App Inventor 2 日本語化プロジェクト</a>）を使ったAndroidアプリ作成について紹介します。<br>子どもから大人まで、パソコンさえあればだれでも超簡単にスマホアプリが作れますよ♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-80" checked><label class="toc-title" for="toc-checkbox-80">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">App Inventorとは</a></li><li><a href="#toc2" tabindex="0">App Inventorを使用するメリット</a></li><li><a href="#toc3" tabindex="0">App Inventor開発の準備・始め方</a></li><li><a href="#toc4" tabindex="0">スマホアプリ開発初心者がApp Inventorでアプリを作ってみた</a><ol><li><a href="#toc5" tabindex="0">１．チュートリアルを確認</a></li><li><a href="#toc6" tabindex="0">２．開発</a></li><li><a href="#toc7" tabindex="0">３．ビルド</a></li><li><a href="#toc8" tabindex="0">４．スマートフォンで確認</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">App Inventorとは</span></h2>



<p>App Inventorとは、MIT（マサチューセッツ工科大学）が提供している<span class="bold-red">Androidアプリ作成ツール</span>です。</p>



<p>以下のように<span class="marker-under">パズルを作るように各パーツをドラッグアンドドロップするだけ</span>で、簡単にアプリを作成できます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="913" height="447" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-16-min.png" alt="App Inventor" class="wp-image-1856" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-16-min.png 913w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-16-min-300x147.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-16-min-768x376.png 768w" sizes="auto, (max-width: 913px) 100vw, 913px" /></figure>



<p>当初はGoogleが提供していましたが、現在はMITが「App Inventor 2」として研究開発・提供されています。また、今後はiOSにも対応予定となっています。<br><a class="link" href="https://appinventor.mit.edu/">MIT&nbsp;<em>App Inventor</em></a></p>



<p>現状、App Inventor 2は日本語対応しておらず、日本であまり知られているツールではありませんが、非公式で<span class="bold-red">日本語化プロジェクト</span>が進められており、今後きっかけ次第で大きく普及が期待できるツールです。<br><a class="link" href="https://appinventor.tmsoftwareinc.com/">MIT App Inventor 2 日本語化プロジェクト</a></p>



<p>作ったアプリはGoogle Storeで公開することも可能ですよ。</p>



<h2 class="wp-block-heading"><span id="toc2">App Inventorを使用するメリット</span></h2>



<p>App Inventorについて調べてみたところ、以下のようなメリットが書かれていました。</p>



<p><span class="bold-red">・誰でも作れる</span><br>コードでの記述が不要なので、子どもから大人まで誰でも作れます。</p>



<p><span class="bold-red">・開発環境不要</span><br>本来、Androidアプリ作成には以下サイトに書かれているとおり「Eclipse」や「Android Studio」などの開発環境が必要ですが、App Inventorの場合、Web上で開発するため不要です。<br><a class="link" href="https://www.sejuku.net/blog/5293">参考：初心者がスマホアプリを開発する時に必要な言語とツールまとめ</a></p>



<p><span class="bold-red">・バグが少ない</span><br>用意されたパーツを組み合わせて作成するため、発見がし辛いようなややこしいバグはありません。<br>デメリットでもありますが、できることは限られているためバグ自体も少ないです。</p>



<h2 class="wp-block-heading"><span id="toc3">App Inventor開発の準備・始め方</span></h2>



<p>App Inventorは基本的に<span class="marker-under">Googleアカウントさえあれば何もいらない</span>ため、以下だけです。</p>



<p>１．Googleアカウントを作る</p>



<p>２．<a class="link" href="https://appinventor.tmsoftwareinc.com/">MIT App Inventor 2 日本語化プロジェクト</a>にアクセスし、赤枠をクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="647" height="601" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-min.png" alt="App Inventor開発の準備・始め方" class="wp-image-1857" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-min.png 647w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-min-300x279.png 300w" sizes="auto, (max-width: 647px) 100vw, 647px" /></figure>



<p>３．Googleアカウントの認証</p>



<p>４．利用規約に同意</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="373" height="326" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-1-min.png" alt="App Inventor開発の準備・始め方" class="wp-image-1858" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-1-min.png 373w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-1-min-300x262.png 300w" sizes="auto, (max-width: 373px) 100vw, 373px" /></figure>



<p>５．完了。「プロジェクトを新規作成」から作成していきます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="490" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-2-min-1024x490.png" alt="App Inventor開発の準備・始め方" class="wp-image-1859" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-2-min-1024x490.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-2-min-300x144.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-2-min-768x367.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-2-min.png 1183w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">スマホアプリ開発初心者がApp Inventorでアプリを作ってみた</span></h2>



<p>スマホアプリ開発初心者の私が、<br>・App Inventorでの開発はどんなものか<br>・普段のシステム開発と比べてどうか<br>を感じるためにApp Inventorでアプリを作ってみました。</p>



<p>アプリの内容は、<br>アプリを立ち上げた際に表示される「挨拶」ボタンを押したら、「Hello! Nyanblog!!」と音声がでる<br>という簡単なものです。<br>ただApp Inventorを使わずコーディングするとなると、以下サイトのようにAPIの知識の知識も必要でしょうし、すぐにはできないでしょうね。コーディング初心者だときっと厳しいと思います。<br><a class="link" href="https://qiita.com/maKunugi/items/90cbefe97887470fb328">アプリ開発に利用可能な音声合成まとめ</a></p>



<h3 class="wp-block-heading"><span id="toc5">１．チュートリアルを確認</span></h3>



<p><a class="link" href="https://appinventor.tmsoftwareinc.com/tutorials">MIT App Inventor 2 日本語化プロジェクト チュートリアル</a>の動画を上から４つほど見てから作り始めています。<br>もしこの記事を見て初めて作られる方は、動画でとても分かりやすく解説してくださってるので、<span class="marker-under">１度チュートリアルを見てから始めてみてください</span>ね。</p>



<h3 class="wp-block-heading"><span id="toc6">２．開発</span></h3>



<p>１．プロジェクト作成<br>「プロジェクトを新規作成」→プロジェクト名を入力</p>



<figure class="wp-block-image"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-24-2-min-1024x490.png" alt="開発"/></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="364" height="207" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-0-min.png" alt="開発" class="wp-image-1860" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-0-min.png 364w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-0-min-300x171.png 300w" sizes="auto, (max-width: 364px) 100vw, 364px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="482" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-2-min-1024x482.png" alt="開発" class="wp-image-1861" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-2-min-1024x482.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-2-min-300x141.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-2-min-768x362.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-2-min-1536x723.png 1536w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-2-min.png 1890w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>２．挨拶ボタンの作成<br>ユーザーインターフェースの「ボタン」を画面にドラッグアンドドロップ→右側のプロパティで、「高さ」と「幅」を画面いっぱいに表示＋「テキスト」をご挨拶</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="922" height="306" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-3-min.png" alt="開発" class="wp-image-1862" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-3-min.png 922w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-3-min-300x100.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-3-min-768x255.png 768w" sizes="auto, (max-width: 922px) 100vw, 922px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="519" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-6-min-1024x519.png" alt="開発" class="wp-image-1863" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-6-min-1024x519.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-6-min-300x152.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-6-min-768x389.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-6-min.png 1205w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>３－１．挨拶ボタンの下に猫の画像を表示するため、使うファイルをアップロード<br>メディアの「ファイルをアップロード」→ファイルを選択</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="394" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-7-min.png" alt="開発" class="wp-image-1864" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-7-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-7-min-300x148.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-7-min-768x378.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="707" height="439" src="https://nyanblog2222.com/wp-content/uploads/2020/08/2020-07-25-8-min.png" alt="開発" class="wp-image-1933" srcset="https://nyanblog2222.com/wp-content/uploads/2020/08/2020-07-25-8-min.png 707w, https://nyanblog2222.com/wp-content/uploads/2020/08/2020-07-25-8-min-300x186.png 300w" sizes="auto, (max-width: 707px) 100vw, 707px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="341" height="154" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-9-min.png" alt="開発" class="wp-image-1866" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-9-min.png 341w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-9-min-300x135.png 300w" sizes="auto, (max-width: 341px) 100vw, 341px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="235" height="114" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-10-min.png" alt="開発" class="wp-image-1867"/></figure>



<p>３－２．アップロードしたファイルを表示する<br>「イメージ」を画面にドラッグアンドドロップ→「高さ」と「幅」を画面いっぱいに表示</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="794" height="241" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-13-min.png" alt="開発" class="wp-image-1868" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-13-min.png 794w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-13-min-300x91.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-13-min-768x233.png 768w" sizes="auto, (max-width: 794px) 100vw, 794px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="555" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-16-min-1024x555.png" alt="開発" class="wp-image-1869" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-16-min-1024x555.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-16-min-300x162.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-16-min-768x416.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-16-min.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>４－１．「Hello!Nyanblog!!」と音声化できるように前準備<br>メディアから「テキスト音声化」を画面にドラッグアンドドロップ</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="249" height="523" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-26-min.png" alt="開発" class="wp-image-1879" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-26-min.png 249w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-26-min-143x300.png 143w" sizes="auto, (max-width: 249px) 100vw, 249px" /></figure>



<p>４－２．ロジック部分を作るため、画面切り替え<br>画面右上の「ブロック編集」</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="453" height="235" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-17-min.png" alt="開発" class="wp-image-1870" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-17-min.png 453w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-17-min-300x156.png 300w" sizes="auto, (max-width: 453px) 100vw, 453px" /></figure>



<p>４－３．パーツを組み合わせる<br>ブロックの「ボタン」をクリック→選択肢が表示されるので、「いつもボタン～」の赤枠部分をビューアーにドラッグアンドドロップ</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="746" height="738" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-19-min.png" alt="開発" class="wp-image-1871" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-19-min.png 746w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-19-min-300x297.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-19-min-120x120.png 120w" sizes="auto, (max-width: 746px) 100vw, 746px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="529" height="289" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-20-min.png" alt="開発" class="wp-image-1872" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-20-min.png 529w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-20-min-300x164.png 300w" sizes="auto, (max-width: 529px) 100vw, 529px" /></figure>



<p>４－４．パーツを組み合わせる<br>「テキスト音声化１」をクリック→赤枠部分をドラッグアンドドロップで、先ほど追加したパーツに組み合わせる</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="436" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-21-min-1024x436.png" alt="開発" class="wp-image-1873" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-21-min-1024x436.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-21-min-300x128.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-21-min-768x327.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-21-min.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="434" height="165" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_1-min.png" alt="開発" class="wp-image-1874" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_1-min.png 434w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_1-min-300x114.png 300w" sizes="auto, (max-width: 434px) 100vw, 434px" /></figure>



<p>４－５．パーツを組み合わせる<br>「テキスト」をクリック→赤枠部分をドラッグアンドドロップで、先ほど追加したパーツに組み合わせる→空白になっているテキストをクリック→「Hello!Nyanblog!!」と入力</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="410" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_2-min-1024x410.png" alt="開発" class="wp-image-1875" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_2-min-1024x410.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_2-min-300x120.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_2-min-768x308.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-22_2-min.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="587" height="163" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-23-min.png" alt="開発" class="wp-image-1876" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-23-min.png 587w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-23-min-300x83.png 300w" sizes="auto, (max-width: 587px) 100vw, 587px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="611" height="137" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-25-min.png" alt="開発" class="wp-image-1877" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-25-min.png 611w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-25-min-300x67.png 300w" sizes="auto, (max-width: 611px) 100vw, 611px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-26-min-1024x576.png" alt="開発" class="wp-image-1878" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-26-min-1024x576.png 1024w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-26-min-300x169.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-26-min-768x432.png 768w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-26-min-1536x864.png 1536w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-26-min.png 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>これで完成です。<br>事前にチュートリアルを見ていたのもありますが、<span class="marker-under">初めてやってもここまで１０分もかかりません</span>でした。App Inventor恐るべし。</p>



<h3 class="wp-block-heading"><span id="toc7">３．ビルド</span></h3>



<p>App Inventorで作った画面を、アプリ化します。</p>



<p>画面上部の「ビルド」タブ→アプリ（apk用のQRコードを表示します）をクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="372" height="135" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-27-min.png" alt="ビルド" class="wp-image-1880" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-27-min.png 372w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-27-min-300x109.png 300w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="370" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-28-min.png" alt="ビルド" class="wp-image-1881" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-28-min.png 800w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-28-min-300x139.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-28-min-768x356.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<p>スマートフォンで読み取る用のQRが出てきます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="290" height="353" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-30-min.png" alt="ビルド" class="wp-image-1882" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-30-min.png 290w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-25-30-min-246x300.png 246w" sizes="auto, (max-width: 290px) 100vw, 290px" /></figure>



<h3 class="wp-block-heading"><span id="toc8">４．スマートフォンで確認</span></h3>



<p>１．App InventorのQRコード読み取り用アプリをインストール</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182834_com.android.vending-min.jpg" alt="スマートフォンで確認" class="wp-image-1883" width="300" height="377" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182834_com.android.vending-min.jpg 600w, https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182834_com.android.vending-min-239x300.jpg 239w" sizes="auto, (max-width: 300px) 100vw, 300px" /></figure>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182848_com.huawei.android.launcher-min.jpg" alt="スマートフォンで確認" class="wp-image-1884" width="113" height="134"/></figure>



<p>２．App InventorのQRコード読み取り用アプリを起動し、「scan QR code」を押す→読み取りの画面になるため、先ほどビルドしたQRを読み取る<br>この後、いくつか注意喚起される場合がありますが、気にせずインストール</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182852_edu.mit_.appinventor.aicompanion3-min.jpg" alt="スマートフォンで確認" class="wp-image-1885" width="300" height="331" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182852_edu.mit_.appinventor.aicompanion3-min.jpg 600w, https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182852_edu.mit_.appinventor.aicompanion3-min-272x300.jpg 272w" sizes="auto, (max-width: 300px) 100vw, 300px" /></figure>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182926_com.google.android.packageinstaller-min-473x1024.jpg" alt="スマートフォンで確認" class="wp-image-1886" width="237" height="512" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182926_com.google.android.packageinstaller-min-473x1024.jpg 473w, https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182926_com.google.android.packageinstaller-min-709x1536.jpg 709w, https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182926_com.google.android.packageinstaller-min.jpg 800w" sizes="auto, (max-width: 237px) 100vw, 237px" /></figure>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_182958_com.huawei.android.launcher-min.jpg" alt="スマートフォンで確認" class="wp-image-1887" width="108" height="123"/></figure>



<p>４．最後に、アプリを起動させ、動作確認して完了。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_183005_appinventor.ai_nyan22220801.HelloNyanblog-min-537x1024.jpg" alt="スマートフォンで確認" class="wp-image-1888" width="269" height="512" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_183005_appinventor.ai_nyan22220801.HelloNyanblog-min-537x1024.jpg 537w, https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_183005_appinventor.ai_nyan22220801.HelloNyanblog-min-157x300.jpg 157w, https://nyanblog2222.com/wp-content/uploads/2020/07/Screenshot_20200725_183005_appinventor.ai_nyan22220801.HelloNyanblog-min.jpg 600w" sizes="auto, (max-width: 269px) 100vw, 269px" /></figure>



<p>問題なく、音声がでました♪</p>



<p>以上、私自身アプリを実際に作ってみて、率直な感想は「<span class="bold-red">超簡単！</span>」でした。<br>機能が限られていたり、繰り返しや分岐が増えるとややこしくなりそうなので<span class="marker-under">多機能の本格的なアプリは厳しくとも、趣味で作るレベルの単機能アプリはそれなりに作れる</span>んじゃないだろうか、という印象です。</p>



<p>App Inventorは、<br><span class="marker-under">・こどものプログラミング学習のきっかけ<br>・日頃の「こういうのがあれば」を形にできる。公開できる。</span><br>など、社会にとっても非常に有益なツールです。<br>MITで現在も開発中ですし、今後も徐々に機能が追加されていけばなと思います。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/app-inventor/1853/">【App Inventor】簡単スマホアプリ作成【MIT App Inventor 2】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/app-inventor/1853/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】つみたてNISAシミュレーション（2）【VBA】</title>
		<link>https://nyanblog2222.com/office/1821/</link>
					<comments>https://nyanblog2222.com/office/1821/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 20 Jul 2020 10:30:59 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[シミュレーション]]></category>
		<category><![CDATA[つみたてNISA]]></category>
		<category><![CDATA[投資]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1821</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/51.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/51.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/51-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/51-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/51-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はつみたてNISAの資産運用シミュレーションをExcelVBAで作ってみました。計算方法は金融庁のシミュレーションサイトと同様のものとなります。よかったら前回の記事もどうぞ♪ マクロ（VBA）が難易度が高い！と思われ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/1821/">【Excel】つみたてNISAシミュレーション（2）【VBA】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/51.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/51.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/51-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/51-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/51-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は<strong><span style="color: #b78d4a;" class="has-inline-color">つみたてNISAの資産運用シミュレーション</span></strong>を<strong><span style="color: #b78d4a;" class="has-inline-color">ExcelVBA</span></strong>で作ってみました。<br>計算方法は金融庁のシミュレーションサイトと同様のものとなります。<br>よかったら前回の記事もどうぞ♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/office/1745/" title="【Excel】つみたてNISAシミュレーション（1）【計算方法】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/50-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/50-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/50-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/50-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/50-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Excel】つみたてNISAシミュレーション（1）【計算方法】</div><div class="blogcard-snippet internal-blogcard-snippet">金融庁が公開しているつみたてNISAの資産運用シミュレーションをExcelで作ってみようと思います。金融庁のサイトでは具体的な計算方法はありませんでしたが、試行錯誤しながら調べてみましたので気になる方はどうぞ♪1 つみたてNISAとは2 金融庁の資産運用シミュレーション3 計算方法4 グラフ5 まとめ……。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.07.16</div></div></div></div></a>
</div></figure>



<p>マクロ（VBA）が難易度が高い！と思われる方は一度こちらも見てくださいね♪<br>練習になるかもしれません。</p>




<a href="https://nyanblog2222.com/office/4621/" title="【Excel VBA】初心者でも簡単にマクロを作る方法" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/54-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/54-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/54-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Excel VBA】初心者でも簡単にマクロを作る方法</div><div class="blogcard-snippet internal-blogcard-snippet">業務効率化したい方必見！OfficeのExcel VBAで&quot;初心者でも簡単に&quot;マクロを作成する方法を紹介しています。知識0でも理解できるようサンプルはもちろん画像たっぷりで説明していますので、是非見て試してみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2022.07.10</div></div></div></div></a>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-82" checked><label class="toc-title" for="toc-checkbox-82">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">つみたてNISAシミュレーション作成手順</a><ol><li><a href="#toc2" tabindex="0">１．EXCELシート作成</a></li><li><a href="#toc3" tabindex="0">２．VBAコード記述</a></li><li><a href="#toc4" tabindex="0">３．マクロ設定</a></li></ol></li><li><a href="#toc5" tabindex="0">シミュレーション使用方法について</a></li><li><a href="#toc6" tabindex="0">色々と分析してみた</a><ol><li><a href="#toc7" tabindex="0">利回りが3%と5%どれくらい差が出る？（20年・月20,000円・利回り3%or利回り5%）</a></li><li><a href="#toc8" tabindex="0">20年間最大額積み立てた場合、いくら貯まる？（20年・月33,333円・利回り5%）</a></li><li><a href="#toc9" tabindex="0">老後2000万円問題！月5000円積み立てると何年で2000万円貯まる？（60年・月5,000円・利回り5%）</a></li><li><a href="#toc10" tabindex="0">万が一、今後経済が不況に陥り、利回り-5%（赤字）だとどれだけ損する？（20年・月20,000円・利回り-5%）</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">つみたてNISAシミュレーション作成手順</span></h2>



<p>今回は、<br>１．EXCELシート作成<br>２．VBAコード記述<br>３．マクロ設定<br>の流れで紹介していきます。</p>



<h3 class="wp-block-heading"><span id="toc2">１．EXCELシート作成</span></h3>



<p>まず、入力フォームとして以下を作成します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="666" height="134" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-0-min.png" alt="EXCELシート作成" class="wp-image-1797" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-0-min.png 666w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-0-min-300x60.png 300w" sizes="auto, (max-width: 666px) 100vw, 666px" /></figure>



<p>ボタンについては「開発」タブ→「挿入」→「ボタン」から作成できます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="176" height="207" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-1-min.png" alt="EXCELシート作成" class="wp-image-1798"/></figure>



<h3 class="wp-block-heading"><span id="toc3">２．VBAコード記述</span></h3>



<p>まず、「開発」タブ→「Visual Basic」からVBA記述画面を開きます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="542" height="102" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-4-min.png" alt="VBAコード記述" class="wp-image-1801" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-4-min.png 542w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-4-min-300x56.png 300w" sizes="auto, (max-width: 542px) 100vw, 542px" /></figure>



<p>記述していくVBAコードについては以下です。<br>内容の説明については、コードのコメントを参照ください。</p>



<p>基本的に、前回紹介した計算方法のイメージ通り作成します。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">１．計算①　配列に月々の複利計算結果を格納</span></strong></p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">２．計算②　①の配列から、月々の累計元本・積立額を算出。年毎に配列へ格納</span></strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="822" height="369" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-min.png" alt="VBAコード記述" class="wp-image-1802" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-min.png 822w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-min-300x135.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-min-768x345.png 768w" sizes="auto, (max-width: 822px) 100vw, 822px" /></figure>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">３．出力用配列作成　②の配列を元に出力したい要素を計算し、配列へ格納</span></strong></p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">４．出力　出力用配列から、それぞれEXCELシートに出力していく</span></strong><br>　（３までで出力用データの計算は全て行い、<br>　　後は４でほぼそのまま出力するだけのイメージ）</p>



<p>■TumitateNisaマクロ</p>



<pre class="wp-block-code basic"><code>Sub TumitateNisa()

    '積立年数から月数をセット
    Dim TOSHIKIKAN_NEN As Integer
    TOSHIKIKAN_NEN = Range("C2").Value2
    Dim TOSHIKIKAN_NEN_ARRAY As Integer
    TOSHIKIKAN_NEN_ARRAY = TOSHIKIKAN_NEN - 1
    Dim TOSHIKIKAN_TUKI As Integer
    TOSHIKIKAN_TUKI = TOSHIKIKAN_NEN * 12
    Dim TOSHIKIKAN_TUKI_ARRAY As Integer
    TOSHIKIKAN_TUKI_ARRAY = TOSHIKIKAN_TUKI - 1
    
    '月投資額をセット
    Dim TOSHIGAKU_TUKI As Long
    TOSHIGAKU_TUKI = Range("C3").Value2
    
    '利回り（年）から利回り（月）表面金利をセット
    Dim RIMAWAEI_TUKI As Double
    RIMAWAEI_TUKI = 1 + (Range("C4").Value2 / 12 / 100)
    
    '各配列用　年数が最大100年まで（12か月*100年）
    'コードがややこしくなるのと、
    'あまり増えても環境によってはEXCELがフリーズしたりするので
    '今回は動的配列にはしない
    Const MAXARRAY_1200 As Integer = 1200
    
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 計算①　配列に月々の複利計算結果を格納
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim TumitateArray(MAXARRAY_1200, MAXARRAY_1200) As Double
    For i = 0 To TOSHIKIKAN_TUKI_ARRAY
        
        Dim Tumitate_Tuki As Double
        Tumitate_Tuki = TOSHIGAKU_TUKI
        For j = 0 To TOSHIKIKAN_TUKI_ARRAY
        
            TumitateArray(i, j) = 0
            
            If j &gt;= i Then
                TumitateArray(i, j) = Tumitate_Tuki
                
                Tumitate_Tuki = Tumitate_Tuki * RIMAWAEI_TUKI
            End If
    
        Next j
    
    Next i
    
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 計算②　①の配列から、月々の累計元本・積立額を算出。年毎に配列へ格納
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim YearSumArray(MAXARRAY_1200, 1) As Double
    Dim GanponSum As Double
    GanponSum = 0
    Dim YearNum As Integer
    YearNum = 0
    For j = 0 To TOSHIKIKAN_TUKI_ARRAY
        
        If j &gt; 0 And j Mod 12 = 0 Then
            YearArrayNum = YearArrayNum + 1
        End If
        
        Dim TumitateSum As Double
        TumitateSum = 0
        For i = 0 To TOSHIKIKAN_TUKI_ARRAY
            TumitateSum = TumitateSum + TumitateArray(i, j)
        Next i
        
        '累計元本
        GanponSum = GanponSum + TOSHIGAKU_TUKI
        YearSumArray(YearArrayNum, 0) = GanponSum
        '累計積立額
        YearSumArray(YearArrayNum, 1) = TumitateSum
    
    Next j
    
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 出力用配列作成　②の配列を元に出力したい要素を計算し、配列へ格納
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim YearTumitateArray(MAXARRAY_1200, 3) As Double
    For i = 0 To TOSHIKIKAN_NEN_ARRAY
        '累計元本
        YearTumitateArray(i, 0) = YearSumArray(i, 0)
        '累計運用益
        YearTumitateArray(i, 1) = YearSumArray(i, 1) - YearSumArray(i, 0)
        '累計積立額
        YearTumitateArray(i, 2) = YearSumArray(i, 1)
        '累計節税額
        YearTumitateArray(i, 3) = YearTumitateArray(i, 1) * (20.315 / 100)
    
    Next i

    '''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 出力　出力用配列から、それぞれEXCELシートに出力していく
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    '前回のシュミレーション結果をクリアしておく
    Range("B7:F106").Clear
    
    '出力開始位置の一つ上にへカーソル移動
    Range("B6").Select

    'それぞれEXCELシートに出力
    For i = 0 To TOSHIKIKAN_NEN_ARRAY
        
        ActiveCell.Offset(1, 0).Activate
        '年
        ActiveCell.Value2 = i + 1
        '累計元本
        ActiveCell.Offset(0, 1).Value2 = Round(YearTumitateArray(i, 0))
        '累計運用益
        ActiveCell.Offset(0, 2).Value2 = Round(YearTumitateArray(i, 1))
        '累計積立額
        ActiveCell.Offset(0, 3).Value2 = Round(YearTumitateArray(i, 2))
        '累計節税額
        ActiveCell.Offset(0, 4).Value2 = Round(YearTumitateArray(i, 3))
        
    Next i
    
    '罫線を引く
    ActiveCell.CurrentRegion.Select
    Selection.Borders.LineStyle = xlContinuous
        
    '桁区切りする
    Selection.NumberFormatLocal = "#,###"
    
    '最終行の文字を赤色にする
    Selection.Rows(Selection.Rows.Count).EntireRow.Select
    Selection.Font.ColorIndex = 3
    
    'カーソルを年数に戻す
    Range("C2").Select

End Sub</code></pre>



<h3 class="wp-block-heading"><span id="toc4">３．マクロ設定</span></h3>



<p>最後に作成したマクロをボタンに登録します。<br>「右クリック」→「マクロの登録」</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="380" height="256" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-2-min.png" alt="マクロ設定" class="wp-image-1799" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-2-min.png 380w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-2-min-300x202.png 300w" sizes="auto, (max-width: 380px) 100vw, 380px" /></figure>



<p>マクロを選択して、完了です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="368" height="341" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-3-min.png" alt="マクロ設定" class="wp-image-1800" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-3-min.png 368w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-3-min-300x278.png 300w" sizes="auto, (max-width: 368px) 100vw, 368px" /></figure>



<h2 class="wp-block-heading"><span id="toc5">シミュレーション使用方法について</span></h2>



<p>使用方法は簡単です。<br>「年数」「月投資額」「利回り（年）」を入力して、<br>「つみたてNISAシミュレーションを開始する」ボタンをクリックするだけ♪</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="566" height="465" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5-min.png" alt="シミュレーション使用方法について" class="wp-image-1803" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5-min.png 566w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5-min-300x246.png 300w" sizes="auto, (max-width: 566px) 100vw, 566px" /></figure>



<p>試しに、金融庁のシミュレーションと比べてみましたが、<br>問題なく同じ結果となりました。<br><a class="link" href="https://www.fsa.go.jp/policy/nisa2/moneyplan_sim/index.html">資産運用シミュレーション ： 金融庁</a></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="818" height="881" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-1-min.png" alt="シミュレーション使用方法について" class="wp-image-1804" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-1-min.png 818w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-1-min-279x300.png 279w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-1-min-768x827.png 768w" sizes="auto, (max-width: 818px) 100vw, 818px" /></figure>



<h2 class="wp-block-heading"><span id="toc6">色々と分析してみた</span></h2>



<p>せっかくなので、いくつかのパターンでシミュレーションしてみました♪</p>



<h3 class="wp-block-heading"><span id="toc7">利回りが3%と5%どれくらい差が出る？（20年・月20,000円・利回り3%or利回り5%）</span></h3>



<p>2%変わるだけで、運用益が倍変わることが分かります。</p>



<p>[3%の場合]</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="569" height="460" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-6.png" alt="シミュレーション" class="wp-image-1810" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-6.png 569w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-6-300x243.png 300w" sizes="auto, (max-width: 569px) 100vw, 569px" /></figure>



<p>[5%の場合]</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="566" height="465" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5.png" alt="シミュレーション" class="wp-image-1811" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5.png 566w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5-300x246.png 300w" sizes="auto, (max-width: 566px) 100vw, 566px" /></figure>



<h3 class="wp-block-heading"><span id="toc8">20年間最大額積み立てた場合、いくら貯まる？（20年・月33,333円・利回り5%）</span></h3>



<p>つみたてNISAは年40万円・20年間つみたてが可能です。<br>そこで仮に平均利回りが5%だった場合、以下の結果となりました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="562" height="455" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-8.png" alt="シミュレーション" class="wp-image-1809" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-8.png 562w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-8-300x243.png 300w" sizes="auto, (max-width: 562px) 100vw, 562px" /></figure>



<h3 class="wp-block-heading"><span id="toc9">老後2000万円問題！月5000円積み立てると何年で2000万円貯まる？（60年・月5,000円・利回り5%）</span></h3>



<p>月5,000円ですと、56年で達成可能なようです。<br>元本と運用益の差から、複利の凄さがよくわかりますね。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="567" height="583" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-9.png" alt="シミュレーション" class="wp-image-1812" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-9.png 567w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-9-292x300.png 292w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="571" height="600" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-10.png" alt="シミュレーション" class="wp-image-1813" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-10.png 571w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-10-286x300.png 286w" sizes="auto, (max-width: 571px) 100vw, 571px" /></figure>



<h3 class="wp-block-heading"><span id="toc10">万が一、今後経済が不況に陥り、利回り-5%（赤字）だとどれだけ損する？（20年・月20,000円・利回り-5%）</span></h3>



<p>前述の利回り5%と比べると、意外に損失が低いことが分かります。</p>



<p>[-5%の場合]</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="574" height="463" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-2-min.png" alt="シミュレーション" class="wp-image-1815" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-2-min.png 574w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-19-2-min-300x242.png 300w" sizes="auto, (max-width: 574px) 100vw, 574px" /></figure>



<p>[5%の場合]</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="566" height="465" src="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5.png" alt="シミュレーション" class="wp-image-1811" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5.png 566w, https://nyanblog2222.com/wp-content/uploads/2020/07/2020-07-18-5-300x246.png 300w" sizes="auto, (max-width: 566px) 100vw, 566px" /></figure>
<p>投稿 <a href="https://nyanblog2222.com/office/1821/">【Excel】つみたてNISAシミュレーション（2）【VBA】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/1821/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript/JS】Promiseの使い方(then/resolve/reject)</title>
		<link>https://nyanblog2222.com/programming/javascript/1627/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1627/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 18 Jul 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Promise]]></category>
		<category><![CDATA[then]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1627</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/75.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/75.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/75-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/75-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/75-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回は非同期処理で使うPromiseについて、使い方を紹介していきます。 Promiseは同期、非同期処理の考え方が分からないとチンプンカンプンになってしまうので、よく分からない方は先にこちらの記事をご覧くだ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1627/">【JavaScript/JS】Promiseの使い方(then/resolve/reject)</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/75.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/75.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/75-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/75-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/75-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回は非同期処理で使う<strong><span style="color: #b78d4a;" class="has-inline-color">Promise</span></strong>について、使い方を紹介していきます。</p>



<p>Promiseは<strong><span style="color: #b78d4a;" class="has-inline-color">同期、非同期処理</span></strong>の考え方が分からないとチンプンカンプンになってしまうので、よく分からない方は先にこちらの記事をご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/JavaScript/984/" title="【JavaScript】非同期処理と処理の順番について【初心者・入門】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/78-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/78-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】非同期処理と処理の順番について【初心者・入門】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScriptは同期的でシングルスレッドの処理で実行されていますが、非同期処理が可能な言語です。ここでは、非同期処理と同期処理・スレッドについてまず説明し、その後遅延処理について説明していきます。同期処理はプログラムの記述順に1つずつ実行されます。そのため、次の処理は前の処理が終わらないと実行するこ...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.02</div></div></div></div></a>
</div></figure>



<p>Promiseは<strong><span style="color: #b78d4a;" class="has-inline-color">非同期処理が完了した後に結果を返して</span></strong>います。<br>それでは、基本的な記述方法から始めていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-84" checked><label class="toc-title" for="toc-checkbox-84">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">基本的な「Promise」の書き方</a></li><li><a href="#toc2" tabindex="0">「then」を使ってコールバック処理を実行する方法</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">基本的な「Promise」の書き方</span></h2>



<p>まずは、Promiseオブジェクトを生成することです。<br><strong><span style="color: #b78d4a;" class="has-inline-color">newでPromiseのオブジェクト</span></strong>を、objに設定します。</p>



<pre class="wp-block-code javascript"><code>var obj = new Promise(function(resolve, reject) {
    resolve("成功");
});</code></pre>



<p>また、Promiseの<strong><span style="color: #b78d4a;" class="has-inline-color">引数の関数では、二つの関数を引数として</span></strong>取ることができ、それぞれ以下の状態での処理を実施することができます。</p>



<p>・resolve：<strong><span style="color: #b78d4a;" class="has-inline-color">処理成功</span></strong>時の処理<br>・reject：<strong><span style="color: #b78d4a;" class="has-inline-color">処理失敗</span></strong>時の処理</p>



<h2 class="wp-block-heading"><span id="toc2">「then」を使ってコールバック処理を実行する方法</span></h2>



<p>続いて、Promiseでthenを使用してコールバック処理を実行してみましょう。</p>



<pre class="wp-block-code java"><code>var promise_obj = new Promise(function(resolve, reject) {
    resolve();
});

promise_obj.then(function(success, failure) {
    console.log("こっちが後に出力されるよ");
});

console.log("こっちが先に出力されるよ");</code></pre>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">then関数</span></strong>はPromiseが返され、処理が成功もしくは失敗した場合にコールバック関数を取ります。</p>



<p>また、<strong><span style="color: #b78d4a;" class="has-inline-color">Promise.then()</span></strong>は非同期処理のため、6行目の方が先に処理として登録されますが、8行目の方が先に実行されます。<br>このように、非同期処理では時間がかかる処理が終わる前に後の処理が完了することがあります。</p>



<p>いかがでしたでしょうか。<br>今回はPromiseを使って基本的な非同期処理の制御方法について、ご紹介していきました。<br>他にもさまざまな関数が使用できるので、良かったら試してみてください。</p>



<p></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1627/">【JavaScript/JS】Promiseの使い方(then/resolve/reject)</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1627/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】Vue.jsの基本（1）【入門】</title>
		<link>https://nyanblog2222.com/programming/javascript/1638/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1638/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 07 Jul 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Vue]]></category>
		<category><![CDATA[オプション]]></category>
		<category><![CDATA[マスタッシュ]]></category>
		<category><![CDATA[初心者]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1638</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/74.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/74.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/74-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/74-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/74-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はVue.jsの基本的な使い方をご紹介します。実践には及びませんが、初心者の方にはおススメの記事になります。 目次 Vue.jsとはVueインスタンスを作成new Vueでインスタンスを作成オプションel [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1638/">【JavaScript】Vue.jsの基本（1）【入門】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/74.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/74.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/74-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/74-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/74-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回はVue.jsの基本的な使い方をご紹介します。<br>実践には及びませんが、初心者の方にはおススメの記事になります。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-86" checked><label class="toc-title" for="toc-checkbox-86">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Vue.jsとは</a></li><li><a href="#toc2" tabindex="0">Vueインスタンスを作成</a><ol><li><a href="#toc3" tabindex="0">new Vueでインスタンスを作成</a></li><li><a href="#toc4" tabindex="0">オプション</a><ol><li><a href="#toc5" tabindex="0">el : element</a></li><li><a href="#toc6" tabindex="0">data</a></li><li><a href="#toc7" tabindex="0">methods</a></li><li><a href="#toc8" tabindex="0">computed</a></li><li><a href="#toc9" tabindex="0">watch</a></li></ol></li></ol></li><li><a href="#toc10" tabindex="0">データ表示：マスタッシュ構文</a></li><li><a href="#toc11" tabindex="0">ひとこと</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Vue.jsとは</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">JavaScriptのフレームワーク</span></strong>の1つでUI（ユーザインタフェース）を構築するフロントエンドアプリケーションの開発で使用されています。<br>また、<strong><span style="color:#b78d4a" class="has-inline-color">SPA（Single Page Application）</span></strong>開発に使われることが多いフレームワークになります。</p>



<p>SPAとは<strong><span style="color:#b78d4a" class="has-inline-color">単一ページでコンテンツを切り替えるWebアプリケーション</span></strong>を指していますが、以前はFlashが多くの方で使用されていました。<br>ご存じの方も多いと思いますが、Flashは2020年末にサポートが終了することもあり、Vueを使用するようになった開発者も多いと思います。</p>



<h2 class="wp-block-heading"><span id="toc2">Vueインスタンスを作成</span></h2>



<h3 class="wp-block-heading"><span id="toc3">new Vueでインスタンスを作成</span></h3>



<p>まずは、Vueオブジェクトのインスタンスを作成します。<br>コンストラクタで引数にオプションを設定することができます。</p>



<h3 class="wp-block-heading"><span id="toc4">オプション</span></h3>



<h4 class="wp-block-heading"><span id="toc5">el : element</span></h4>



<p>idやclassを指定して、どのHTMLとVueインスタンスを紐づけるか、指定できます。</p>



<pre class="wp-block-code html"><code>&lt;div id="sample">&lt;/div></code></pre>



<pre class="wp-block-code javascript"><code>new Vue({
  el : "#sample"
})</code></pre>



<h4 class="wp-block-heading"><span id="toc6">data</span></h4>



<p>Vueで使用するデータを定義することができます。</p>



<pre class="wp-block-code html"><code>&lt;div id="sample">
  &lt;p>こんにちは、{{ name }}さん&lt;/p>
&lt;/div></code></pre>



<pre class="wp-block-code javascript"><code>new Vue({
  el: "#sample",
  data: {
    name: "山田　花子"
  }
})</code></pre>



<p>// 処理結果<br>こんにちは、山田　花子さん</p>



<h4 class="wp-block-heading"><span id="toc7">methods</span></h4>



<p>Vueで使用する関数を定義できます。</p>



<pre class="wp-block-code html"><code>&lt;div id="app">
  &lt;p> {{count}}回&lt;/p>
  &lt;button v-on:click="count_up">カウント&lt;/button>
&lt;/div></code></pre>



<pre class="wp-block-code javascript"><code>new Vue({
  el: "#app",
  data: {
    count:0
  },
  methods: {
    count_up: function() {
      this.count++;
    }
  }
})</code></pre>



<p>実行画面でボタンをクリックするたびに「1回&#8230;2回&#8230;」とカウントが上がっていきます。</p>



<h4 class="wp-block-heading"><span id="toc8">computed</span></h4>



<p>dataオプションの値を使用して、関数で別の計算をする。<br><strong><span style="color:#b78d4a" class="has-inline-color">計算結果がキャッシュに格納</span></strong>されるため、<strong><span style="color:#b78d4a" class="has-inline-color">処理が高速</span></strong>なのが特徴。</p>



<h4 class="wp-block-heading"><span id="toc9">watch</span></h4>



<p>dataオプションの特定の値を監視して、変更時に関数を実行する。</p>



<h2 class="wp-block-heading"><span id="toc10">データ表示：マスタッシュ構文</span></h2>



<p>先ほどのdataオプションの項目にもありましたが、Vueでデータを表示するのにマスタッシュを使用することで表示することができます。</p>



<p>例：<br>&lt;p&gt;こんにちは、<strong><span style="color:#b78d4a" class="has-inline-color">{{</span></strong> name <strong><span style="color:#b78d4a" class="has-inline-color">}}</span></strong>さん&lt;/p&gt;</p>



<p>マスタッシュとは、口ひげの意味があり、「{」を横にすると口ひげに見えることからこの名が付いています。</p>



<h2 class="wp-block-heading"><span id="toc11">ひとこと</span></h2>



<p>いかがでしたでしょうか。<br>Vueは最近JavaScriptで特に注目を集めているフレームワークの一つです。</p>



<p>良かったら次回の記事もご覧ください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1638/">【JavaScript】Vue.jsの基本（1）【入門】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1638/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】スクロール中にヘッダーを固定する方法【簡単・コピペOK】</title>
		<link>https://nyanblog2222.com/programming/javascript/1630/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1630/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 04 Jul 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[スクロール]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1630</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/73.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/73.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/73-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/73-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/73-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。ホームページを閲覧している中で、始めはヘッダーが固定されていなかったのに、途中から常に規定の位置で固定されているページをお見掛けしたことはありませんか？ 今回はスクロール中にヘッダーナビゲーションを固定させる [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1630/">【JavaScript】スクロール中にヘッダーを固定する方法【簡単・コピペOK】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/73.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/73.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/73-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/73-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/73-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。ホームページを閲覧している中で、始めはヘッダーが固定されていなかったのに、途中から常に規定の位置で固定されているページをお見掛けしたことはありませんか？</p>



<p>今回はスクロール中にヘッダーナビゲーションを固定させる方法をご紹介していきたいと思います。</p>



<p>また、本記事のコードではJQueryを使用しています。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-88" checked><label class="toc-title" for="toc-checkbox-88">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML</a></li><li><a href="#toc2" tabindex="0">CSS</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモページ</a></li><li><a href="#toc5" tabindex="0">ひとこと</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML</span></h2>



<p>HTMLでは、トップ画像とナビゲーション、サイトの長さを出すためにsection・footer要素を置いています。</p>



<pre class="wp-block-code html"><code>&lt;div id="top_visual">&lt;/div>
&lt;nav>
    &lt;div class="wrapper">
        &lt;ul>
            &lt;li class="item">&lt;a href="#news">News&lt;/a>&lt;/li>
            &lt;li class="item">&lt;a href="#about">About&lt;/a>&lt;/li>
            &lt;li class="item">&lt;a href="#blog">Blog&lt;/a>&lt;/li>
            &lt;li class="item">&lt;a href="#contact">Contact&lt;/a>&lt;/li>
        &lt;/ul>
    &lt;/div>
&lt;/nav>
&lt;section id="news">
    &lt;div class="wrapper">
        &lt;h1>News&lt;/h1>
        &lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p>
    &lt;/div>
&lt;/section>
&lt;section id="about">
    &lt;div class="wrapper">
        &lt;h1>About&lt;/h1>
        &lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p>
    &lt;/div>
&lt;/section>
&lt;section id="blog">
    &lt;div class="wrapper">
        &lt;h1>Blog&lt;/h1>
        &lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p>
    &lt;/div>
&lt;/section>
&lt;section id="contact">
    &lt;div class="wrapper">
        &lt;h1>Contact&lt;/h1>
        &lt;p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p>
    &lt;/div>
&lt;/section>
&lt;footer>
    &lt;p>© 2020 nyanblog&lt;/p>
&lt;/footer></code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSS</span></h2>



<p>CSSで見た目を整えていきます。<br>また、JavaScriptでつけ外しをする「nav.fixed」でヘッダーを固定しています。</p>



<pre class="wp-block-code css"><code>@charset "utf-8";

*{
    margin: 0;
}

#top_visual {
    background: url(../img/visual.jpg) center center / cover no-repeat;
    height: 480px;
}

nav {
    background: #fff;
    width: 100%;
}

nav.fix {
    position: fixed;
    right: 0;
    top: 0;
}

.wrapper {
    margin: 0 auto;
    max-width: 100%;
}

nav ul {
    justify-content: flex-end;
    display: flex;
    list-style: none;

}

.item {
    margin: 0 2em;
    padding: 17px 0;
}

.item a {
    color: #B78D4A;
    text-decoration: none;
}

.item a:hover{
    color: #D5BC94;
}

h1 {
    font-size: 1.25rem;
    padding: 2rem 0;
    color: #B78D4A;
    font-weight: normal;
}

p {
    line-height: 2;
    padding-bottom: 4rem;
    color: #555A60;
}

section{
    background-color: #F0F0F0;
    padding: 2em;

}

section .wrapper{
    max-width: 800px;
}

footer {
    background-color: #B78D4A;
    padding: 2em;
}

footer p {
    font-size: .8em;
    color: #fff;
    max-width: 800px;
    padding: 0;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>JavaScriptでスクロールイベントするたびに、<strong><span style="color:#b78d4a" class="has-inline-color">スクロールの位置とnav要素の位置と比較</span></strong>しています。<br>スクロールの位置を超えると、<strong><span style="color:#b78d4a" class="has-inline-color">nav要素に「fix」クラスを付与</span></strong>し、上部に固定させます。</p>



<pre class="wp-block-code javascript"><code>$(function() {
    var pos = $("nav").offset().top;
    var height = $("nav").outerHeight();
    $(window).scroll(function () {
        if ($(this).scrollTop() > pos) {
            $("nav").addClass("fix");
            $("body").css("padding-top", height);
        } else {
            $("nav").removeClass("fix");
            $("body").css("padding-top", 0);
        }
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモページ</span></h2>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/scroll_event/" target="_blank" aria-label="undefined (opens in a new tab)">デモページはこちら</a></strong>です。<br>実際にスクロールで動かしてヘッダーが固定されることを確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc5">ひとこと</span></h2>



<p>いかがでしたでしょうか。<br>今回はスクロールイベントを利用して、ヘッダーナビゲーションを固定させる方法をご紹介しました。</p>



<p>簡単にコピペで実装することができますので、良かったら試してみてください。<br>本記事をご覧くださり、ありがとうございました！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1630/">【JavaScript】スクロール中にヘッダーを固定する方法【簡単・コピペOK】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1630/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JQuery】遅延実行でイベントを発生させる方法</title>
		<link>https://nyanblog2222.com/programming/javascript/1620/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1620/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 02 Jul 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[clearInterval]]></category>
		<category><![CDATA[clearTimeout]]></category>
		<category><![CDATA[setInterval]]></category>
		<category><![CDATA[setTimeout]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1620</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/72.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/72.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/72-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/72-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/72-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回は一定時間後に処理を実行することができる、遅延実行についてご紹介します。 目次 setTimeout・clearTimeout関数setInterval・clearInterval関数setTimeout [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1620/">【JQuery】遅延実行でイベントを発生させる方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/72.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/72.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/72-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/72-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/72-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回は一定時間後に処理を実行することができる、遅延実行についてご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-90" checked><label class="toc-title" for="toc-checkbox-90">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">setTimeout・clearTimeout関数</a></li><li><a href="#toc2" tabindex="0">setInterval・clearInterval関数</a></li><li><a href="#toc3" tabindex="0">setTimeoutとsetIntervalの違い</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">setTimeout・clearTimeout関数</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">setTimeout関数</span></strong>は一定時間後に処理を実行する時に使用する関数です。<br>JavaScriptでは、基本的に同期（上から順番に）処理していきますが、<strong><span style="color:#b78d4a" class="has-inline-color">明示的に時間をずらして実行したい場合、この関数を利用</span></strong>します。</p>



<p>こちらの例を見てみましょう。<br>この<strong><span style="color:#b78d4a" class="has-inline-color">スクリプトを実行すると、1秒後に</span></strong>コンソール画面に「実行するよ」と表示されます。</p>



<pre class="wp-block-code javascript"><code>setTimeout(function () {
    console.log("実行するよ");
}, 1000);</code></pre>



<p>また、このようにすると繰り返し処理を実行することもできます。</p>



<pre class="wp-block-code javascript"><code>var cnt = 0;
var countUp = function () {
    cnt++;
    console.log(cnt);
    var timeout = setTimeout(countUp, 1000);
}
countUp();</code></pre>



<p>繰り返しsetTimeout関数を使用すると、無限処理になってしまうので、それを止めるために<strong><span style="color:#b78d4a" class="has-inline-color">clearTimeout関数</span></strong>を使用します。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">clearTimeout関数</span></strong>は、<strong><span style="color:#b78d4a" class="has-inline-color">setTimeout関数で宣言した処理を解除するための関数</span></strong>です。</p>



<pre class="wp-block-code javascript"><code>var cnt = 0;
var countUp = function () {
    cnt++;
    console.log(cnt);
    var timeout = setTimeout(countUp, 1000);

    if (cnt > 4) {
        clearTimeout(timeout);
    }
}
countUp();</code></pre>



<p>このように<strong><span style="color:#b78d4a" class="has-inline-color">clearTimeout関数</span></strong>を使用することで、指定の条件で<strong><span style="color:#b78d4a" class="has-inline-color">繰り返し処理を終了</span></strong>することができます。</p>



<h2 class="wp-block-heading"><span id="toc2">setInterval・clearInterval関数</span></h2>



<p>先ほど、setTimeout関数で繰り返しの遅延実行を行いましたが似たような関数でsetInterval関数があります。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">setInterval関数</span></strong>は、<strong><span style="color:#b78d4a" class="has-inline-color">一定時間ごとに処理を実行</span></strong>することができます。</p>



<p>一方、<strong><span style="color:#b78d4a" class="has-inline-color">clearInterval関数</span></strong>は<strong><span style="color:#b78d4a" class="has-inline-color">setInterval関数で宣言した処理を解除する関数</span></strong>です。<br>こちらが使用例になります。<br>カウントが5になるまで実行し、超えると処理を止めるようにしています。</p>



<pre class="wp-block-code javascript"><code>var cnt = 0;
var countUp = function () {
    cnt++;
    console.log(cnt);
}
var interval = setInterval(function () {
    countUp();
    if (cnt > 4) {
        clearInterval(interval);
    }
}, 1000);</code></pre>



<h2 class="wp-block-heading"><span id="toc3">setTimeoutとsetIntervalの違い</span></h2>



<p>ぱっと見では、setTimeout関数とsetInterval関数の違いはなさそうですが、時間間隔に少し違いがあります。</p>



<p>・<strong><span style="color:#b78d4a" class="has-inline-color">setTimeout関数</span></strong>：<strong><span style="color:#b78d4a" class="has-inline-color">処理終了時点</span></strong>から次に実行するタイミングを指定</p>



<p>・<strong><span style="color:#b78d4a" class="has-inline-color">setInterval関数</span></strong>：<strong><span style="color:#b78d4a" class="has-inline-color">処理開始時点</span></strong>から何秒間隔で実行するかを指定</p>



<p>そのため、setInterval関数では、間隔の秒数を超過した処理が行われた場合、時間の感覚がずれる可能性があります。<br>用途に応じて、関数を使い分けるのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">setTmeout関数</span></strong>では、<strong><span style="color:#b78d4a" class="has-inline-color">一定時間後</span></strong>に処理。<br><strong><span style="color:#b78d4a" class="has-inline-color">setInterval関数</span></strong>では、<strong><span style="color:#b78d4a" class="has-inline-color">一定時間毎</span></strong>に処理。</p>



<p>両者の違いは<strong><span style="color:#b78d4a" class="has-inline-color">間隔時間の開始時点</span></strong>が異なることをご紹介していきました。<br>遅延関数を使用したい場合、よく使う関数になると思いますので、参考にしてみてください。</p>



<p>良かったら次回の記事も見てみてくださいね！<br>それでは、本記事をご覧くださり、ありがとうございました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1620/">【JQuery】遅延実行でイベントを発生させる方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1620/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)</title>
		<link>https://nyanblog2222.com/programming/javascript/1566/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1566/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 30 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[getJSON]]></category>
		<category><![CDATA[JSON]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1566</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/82.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/82.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はJSONデータの基本操作方法を紹介しました。詳しくは、こちらからご覧ください。 今回はJQueryを使用したJSONファイルの読み込み方になります。コピペでも実装可能なので、宜しければご覧ください。 目 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1566/">【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/82.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/82.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はJSONデータの基本操作方法を紹介しました。<br>詳しくは、こちらからご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1526" title="【JSON入門】JSONデータの参照・追加（更新）・削除" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONデータの参照・追加（更新）・削除</div><div class="blogcard-snippet internal-blogcard-snippet">こんにちは。前回はJSONファイルとは何かというのを紹介していきました。詳しくは、こちらからご覧ください。 今回はJSONデータの扱い方の続編となります。宜しければご覧ください。 操作するデータ こちらが今回サンプルのデータです。json_...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.28</div></div></div></div></a>
</div></figure>



<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">JQueryを使用したJSONファイルの読み込み方</span></strong>になります。<br>コピペでも実装可能なので、宜しければご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-92" checked><label class="toc-title" for="toc-checkbox-92">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">フォルダ構成</a></li><li><a href="#toc2" tabindex="0">JSONファイルの用意</a></li><li><a href="#toc3" tabindex="0">JSONファイルの読み込み</a><ol><li><a href="#toc4" tabindex="0">$.ajax()</a><ol><li><a href="#toc5" tabindex="0">読み込みの設定</a></li><li><a href="#toc6" tabindex="0">読み込み後の処理</a></li><li><a href="#toc7" tabindex="0">注意点</a></li></ol></li><li><a href="#toc8" tabindex="0">$.getJSON()</a></li></ol></li><li><a href="#toc9" tabindex="0">読み込みに失敗する場合</a><ol><li><a href="#toc10" tabindex="0">コンソール画面でエラーを確認</a></li><li><a href="#toc11" tabindex="0">JSONファイルのミスを防ぐWEBツール</a></li><li><a href="#toc12" tabindex="0">JSON変換ツール</a></li></ol></li><li><a href="#toc13" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">フォルダ構成</span></h2>



<p>今回使用するファイルのフォルダ構成はこちらです。</p>



<pre class="wp-block-code plaintext"><code>フォルダ構成
│
├─index.html
│    htmlファイル
├─script.js
│    javascript(JQuery)ファイル
└─data.json
     jsonファイル</code></pre>



<h2 class="wp-block-heading"><span id="toc2">JSONファイルの用意</span></h2>



<p>まずは読み込むJSONファイルを準備します。<br>ファイルの場所は、ローカルファイルではセキュリティの問題で絶対パスで設定できないため、相対パスで簡単に設定できる場所に配置してください。</p>



<p>絶対パス：C:\Users\Guest\AppData&#8230;やhttps://nyanblog2222.comなどルートディレクトリからやURLなど、<strong><span style="color:#b78d4a" class="has-inline-color">目的地までの経路を頭から最後まで</span></strong>記述</p>



<p>相対パス：../javascript/script.js など、<strong><span style="color:#b78d4a" class="has-inline-color">現在地から目的地までの経路</span></strong>を記述</p>



<p>こちらがファイルの内容です。</p>



<p>ファイル：data.json</p>



<pre class="wp-block-code json"><code>&#91;
    {
        "name": "yamada",
        "school_year": 2,
        "test": {
            "japanese": 65,
            "english": 80
        }
    },
    {
        "name": "hayashi",
        "school_year": 2,
        "test": {
            "japanese": 45,
            "english": 95
        }
    },
    {
        "name": "sato",
        "school_year": 1,
        "test": {
            "japanese": 75,
            "english": 35
        }
    }
]</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JSONファイルの読み込み</span></h2>



<h3 class="wp-block-heading"><span id="toc4">$.ajax()</span></h3>



<p>$.ajax()での読み込み方法です。</p>



<pre class="wp-block-code javascript"><code>$.ajax({
    // 読み込みの設定
    type: "GET",
    url: "data.json", // ファイルパス（相対パス）
    dataType: "json", // ファイル形式
    async: false // 非同期通信フラグ
}).then(
    function (json) {
        // 読み込み成功時の処理
        console.log("読み込みに成功しました");
        console.log(json)
        json.forEach(function (data) {
            console.log(data)
        });
    },
    function () {
        // 読み込み失敗時の処理
        console.log("読み込みに失敗しました");
    }
);</code></pre>



<h4 class="wp-block-heading"><span id="toc5">読み込みの設定</span></h4>



<p>1～6行目で<span style="color:#b78d4a" class="has-inline-color"><strong>jsonを読み込む際の設定</strong></span>を記述しています。<br>ファイル名やファイルの配置を変更する場合、4行目の&#8221;data.json&#8221;を変更してください。<br>また、6行目の<strong><span style="color:#b78d4a" class="has-inline-color">async</span></strong>では、非同期通信フラグを設定しています。<br>デフォルトではtrueですが<strong><span style="color:#b78d4a" class="has-inline-color">falseに設定すると、読み込みが終わるまで他の処理を進めることができません</span></strong>。逆に読み込みが終わってる次の処理へ行いたい対場合、falseにした方が良いです。</p>



<h4 class="wp-block-heading"><span id="toc6">読み込み後の処理</span></h4>



<p>7行目で<strong><span style="color:#b78d4a" class="has-inline-color">then(成功,失敗)</span></strong>の処理が分かれています。<br>8～15行目では<strong><span style="color:#b78d4a" class="has-inline-color">読み込み成功時の処理</span></strong>を、16～19行目では<strong><span style="color:#b78d4a" class="has-inline-color">読み込み失敗時の処理</span></strong>を記述しています。</p>



<p>また、11行目でJSONファイルのデータ全てをコンソールへ出力、<br>12～14行目でJSON内の配列データを1つずつコンソールへ出力しています。</p>



<p>then()ではなく、<strong><span style="color:#b78d4a" class="has-inline-color">done()・fail()</span></strong>を使うことも可能です。<br>また、どの場合でも処理する<strong><span style="color:#b78d4a" class="has-inline-color">conplete()</span></strong>関数もあります。</p>



<h4 class="wp-block-heading"><span id="toc7">注意点</span></h4>



<p>Jquery1.8未満では、<strong><span style="color:#b78d4a" class="has-inline-color">success()、error()、conplete()</span></strong>が使用されていましたが、現在は<strong><span style="color:#b78d4a" class="has-inline-color">非推奨の関数</span></strong>となっております。<br>上記の関数が無くなることに備えて、<strong><span style="color:#b78d4a" class="has-inline-color">done()、fail()、complete()</span></strong>を使用するようにしましょう。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">done、fail、complete関数を使用</span></strong>した場合の記述です。</p>



<pre class="wp-block-code javascript"><code>$.ajax({
    // 読み込み設定
}).done(function(json){
    // 成功
}).fail(function(){
    // 失敗
}).always(function(){
    // 常に最後に処理
});</code></pre>



<h3 class="wp-block-heading"><span id="toc8">$.getJSON()</span></h3>



<p>$.getJSON()での読み込み方法です。</p>



<pre class="wp-block-code javascript"><code>$.getJSON("data.json")
    .done(function (json) {
        // 成功
    }).fail(function () {
        // 失敗
    }).always(function () {
        // 常に最後に処理
    });</code></pre>



<p>JSONファイルの読み込み -&gt; $.ajax() -&gt; 注意点で記述しているコードと似ています。<br><strong><span style="color:#b78d4a" class="has-inline-color">設定部分が$.ajax()と比べて少し簡略化</span></strong>されているところが違いですね！</p>



<p>$.ajax()でも、$.getJSON()でも使いやすいと思いますので、自分の好みで使用を決めていいと思います。</p>



<h2 class="wp-block-heading"><span id="toc9">読み込みに失敗する場合</span></h2>



<h3 class="wp-block-heading"><span id="toc10">コンソール画面でエラーを確認</span></h3>



<p>JSONファイルはちょっとしたミスで読み込めない場合が多くあります。<br>もちろん失敗した理由が分からなければ修正する方法も分かりません。</p>



<p>そこで、失敗時の関数でこのように記述し、コンソール画面を確認することである程度はエラーの内容を理解することができます。</p>



<pre class="wp-block-code javascript"><code>$.ajax({
    ・・・略
}).then(
    function (json) {
        ・・・略
    },
    function (jqXHR, textStatus, errorThrown) {
        // 読み込み失敗時の処理
        console.log("読み込みに失敗しました");
        // httpステータス
        console.log("jqXHR : " + jqXHR.status);
        // タイムアウト、パースエラー
        console.log("textStatus : " + textStatus);
        // エラーの詳細情報
        console.log("errorThrown : " + errorThrown.message);
    }
);</code></pre>



<p>大体は<strong><span style="color:#b78d4a" class="has-inline-color">「jqXHR.status」</span></strong>と<strong><span style="color:#b78d4a" class="has-inline-color">「errorThrown.message」</span></strong>の内容をネット検索等、調べたらエラーを解決することができると思います。</p>



<h3 class="wp-block-heading"><span id="toc11">JSONファイルのミスを防ぐWEBツール</span></h3>



<p><strong><a rel="noopener" class="link broken_link" href="https://lab.syncer.jp/Tool/JSON-Viewer/" target="_blank" label="undefined (opens in a new tab)">JSON Pretty Linter</a></strong></p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">JSONファイルの記述ミスを防ぐため</span></strong>のおすすめはこちらです。<br>こちらで事前にチェックすることでエラーの割合はかなり減ると思います。</p>



<h3 class="wp-block-heading"><span id="toc12">JSON変換ツール</span></h3>



<p><strong><a rel="noopener" class="link" aria-label="undefined (opens in a new tab)" href="https://csvjson.com/" target="_blank">CSV to JSON – CSVJSON</a></strong></p>



<p>CSVやSQLからJSONに変換できるツールです。<br>CSVやSQLを良く使用されるかたは一度使用してみてはいかがでしょうか。</p>



<h2 class="wp-block-heading"><span id="toc13">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回はJQueryでJSONファイルを読み込む方法をご紹介しました。</p>



<p>JSONファイルを読み込むには、こちらの2つの方法で実装できます。<br>・<strong><span style="color:#b78d4a" class="has-inline-color">$.ajax()</span></strong><br>・<strong><span style="color:#b78d4a" class="has-inline-color">$.getJSON()</span></strong></p>



<p>また、JSONファイルの読み込みには、ちょっとしたミスでエラーが発生しますので、<strong><span style="color:#b78d4a" class="has-inline-color">デバッグでステータスコードを調べること</span></strong>が解決の近道です。</p>



<p>今回は全3回のJSONの記事でしたが、新しくJSONの内容を学んだ後には新しい記事を投稿しようとおもいます。良かったら次回も見てみてくださいね！</p>



<p>↓↓↓【JSON入門シリーズ♪】</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1514/" title="【JSON入門】JSONとは？JS相互変換について(stringify/parse)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONとは？JS相互変換について(stringify/parse)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JSONの基本知識と基本的な使い方（JSONとJavaScriptオブジェクトとの相互変換）を紹介します。相互変換については、stringfy関数を使用したエンコード方法（encode）、parse関数を使用したデコード方法（decode）を分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.27</div></div></div></div></a>
</div></figure>



<p><br></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1526/" title="【JSON入門】JSONデータの参照・追加（更新）・削除" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONデータの参照・追加（更新）・削除</div><div class="blogcard-snippet internal-blogcard-snippet">こんにちは。前回はJSONファイルとは何かというのを紹介していきました。詳しくは、こちらからご覧ください。 今回はJSONデータの扱い方の続編となります。宜しければご覧ください。 操作するデータ こちらが今回サンプルのデータです。json_...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.28</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1566/" title="【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/82-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/82-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JQueryを使用したJSONファイルの読み込み方を紹介します。「$.ajax()」や「$.getJSON()」を使った読み込み方法や、読み込みに失敗する場合の対処方法など分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.30</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1566/">【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1566/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JSON入門】JSONデータの参照・追加（更新）・削除</title>
		<link>https://nyanblog2222.com/programming/javascript/1526/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1526/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 28 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[データフォーマット]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1526</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/81.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/81.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はJSONファイルとは何かというのを紹介していきました。詳しくは、こちらからご覧ください。 今回はJSONデータの扱い方の続編となります。宜しければご覧ください。 目次 操作するデータJSONデータを参照 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1526/">【JSON入門】JSONデータの参照・追加（更新）・削除</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/81.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/81.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はJSONファイルとは何かというのを紹介していきました。<br>詳しくは、こちらからご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1514/" title="【JSON入門】JSONとは？JS相互変換について(stringify/parse)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONとは？JS相互変換について(stringify/parse)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JSONの基本知識と基本的な使い方（JSONとJavaScriptオブジェクトとの相互変換）を紹介します。相互変換については、stringfy関数を使用したエンコード方法（encode）、parse関数を使用したデコード方法（decode）を分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.27</div></div></div></div></a>
</div></figure>



<p>今回はJSONデータの扱い方の続編となります。<br>宜しければご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-94" checked><label class="toc-title" for="toc-checkbox-94">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">操作するデータ</a></li><li><a href="#toc2" tabindex="0">JSONデータを参照</a><ol><li><a href="#toc3" tabindex="0">データの参照方法</a></li><li><a href="#toc4" tabindex="0">特定のデータのみ参照する方法</a></li></ol></li><li><a href="#toc5" tabindex="0">JSONデータを追加</a><ol><li><a href="#toc6" tabindex="0">新規プロパティを指定して値を追加</a></li><li><a href="#toc7" tabindex="0">push関数でオブジェクトを追加</a></li><li><a href="#toc8" tabindex="0">値やオブジェクトを更新する場合</a></li></ol></li><li><a href="#toc9" tabindex="0">JSONデータを削除</a></li><li><a href="#toc10" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">操作するデータ</span></h2>



<p>こちらが今回サンプルのデータです。<br><strong><span style="color:#b78d4a" class="has-inline-color">json_dataが配列</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">testはオブジェクト</span></strong>になっています。<br>※違いは<strong><span style="color:#b78d4a" class="has-inline-color">” [ ] ”</span></strong>で括られているか、<strong><span style="color:#b78d4a" class="has-inline-color">” { } ”</span></strong>で括られているかです。</p>



<pre class="wp-block-code json"><code>var json_data = &#91;
    { name : "yamada", school_year : 2, test : { japanese : 65, english : 80 }, },
    { name : "hayashi", school_year : 2,  test : { japanese : 45, english : 95 }, },
    { name : "sato", school_year : 1,  test : { jananese : 75, english : 35 }, }
];</code></pre>



<h2 class="wp-block-heading"><span id="toc2">JSONデータを参照</span></h2>



<p>まずは、作成したJSONデータを参照する方法です。</p>



<h3 class="wp-block-heading"><span id="toc3">データの参照方法</span></h3>



<p>json_dataは<strong><span style="color:#b78d4a" class="has-inline-color">配列のため、添え字でデータを参照</span></strong>することができます。<br>それ以外は<strong><span style="color:#b78d4a" class="has-inline-color">オブジェクトの構造になっており、「オブジェクト.プロパティ</span>」</strong>のように、ドットで参照することができます。</p>



<pre class="wp-block-code javascript"><code>// name、school_year：プロパティ
console.log(json_data&#91;0].name); // => yamada
console.log(json_data&#91;1].school_year); // => 2

// testプロパティ（オブジェクト）にenglishプロパティを保持
console.log(json_data&#91;2].test.english); // => 35</code></pre>



<h3 class="wp-block-heading"><span id="toc4">特定のデータのみ参照する方法</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">filter関数</span></strong>を使用することで、特定のデータのみ参照することができます。</p>



<pre class="wp-block-code javascript"><code>// filter関数
var data = json_data.filter(function (item) {
    // 英語が50点以上の人のデータを取得
    return item.test.english >= 50;
});

// 条件に一致したデータの”name”を参照
data.forEach(function (value){
    console.log(value.name) // => yamada, hayashi
});</code></pre>



<h2 class="wp-block-heading"><span id="toc5">JSONデータを追加</span></h2>



<h3 class="wp-block-heading"><span id="toc6">新規プロパティを指定して値を追加</span></h3>



<p>プロパティと値をそのままデータに追加する方法です。</p>



<p>それぞれ、<br>　配列と同じ階層に<strong><span style="color:#b78d4a" class="has-inline-color">areaプロパティ「&#8221;Tokyo&#8221;」</span></strong>が追加<br>　配列添字 [1] 内のオブジェクトに<strong><span style="color:#b78d4a" class="has-inline-color">areaプロパティ「&#8221;Osaka&#8221;」</span></strong>が追加<br>になっています。</p>



<pre class="wp-block-code javascript"><code>json_data.area = "Tokyo";
json_data&#91;1].area = "Osaka";

console.log(json_data)
// { name : "yamada", school_year : 2, test : { japanese : 65, english : 80 }, },
// { name : "hayashi", school_year : 2,  test : { japanese : 45, english : 95 }, area: "Osaka" },
// { name : "sato", school_year : 1,  test : { jananese : 75, english : 35 }, },
// area: "Toyko"</code></pre>



<h3 class="wp-block-heading"><span id="toc7">push関数でオブジェクトを追加</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">オブジェクトを作成してpush関数</span></strong>を使う方法です。<br>push関数で追加したオブジェクトは末尾に追加されます。</p>



<pre class="wp-block-code javascript"><code>var new_data = { name : "tanaka", school_year : 3, test : { japanese : 85, english : 60 }, };
json_data.push(new_data);

// 末尾のデータ
console.log(json_data&#91;json_data.length - 1])
// { name : "tanaka", school_year : 3, test : { japanese : 85, english : 60 }, }</code></pre>



<h3 class="wp-block-heading"><span id="toc8">値やオブジェクトを更新する場合</span></h3>



<p>データ内の値やオブジェクトを更新する場合、<strong><span style="color:#b78d4a" class="has-inline-color">配列やオブジェクトをそのまま指定して値を設定するだけで更新が可能</span></strong>です。</p>



<pre class="wp-block-code javascript"><code>// プロパティの値を指定
json_data&#91;1].area = "Osaka";
console.log(json_data&#91;1].area) // => Osaka

json_data&#91;1].area = "Nagoya";
console.log(json_data&#91;1].area) // => Nagoya</code></pre>



<pre class="wp-block-code javascript"><code>// オブジェクトを更新
console.log(json_data&#91;2])
// { name : "hayashi", school_year : 2,  test : { japanese : 45, english : 95 }, }

var new_data = { name : "tanaka", school_year : 3, test : { japanese : 85, english : 60 }, };

// name:"hayashi"オブジェクトを"tanaka"オブジェクトに更新
json_data&#91;2] = new_data;
console.log(json_data&#91;2])
// { name : "tanaka", school_year : 3, test : { japanese : 85, english : 60 }, }</code></pre>



<h2 class="wp-block-heading"><span id="toc9">JSONデータを削除</span></h2>



<p>指定のプロパティを削除するときは、<strong><span style="color:#b78d4a" class="has-inline-color">「delete」演算子</span></strong>を使用します。</p>



<pre class="wp-block-code"><code>// 各配列の"school_year"を削除
json_data.forEach(function (value) {
    delete value.school_year;
    console.log(value)
});

// { name : "yamada", test : { japanese : 65, english : 80 }, },
// { name : "hayashi", test : { japanese : 45, english : 95 }, },
// { name : "sato", test : { jananese : 75, english : 35 }, },</code></pre>



<p>配列の要素を削除したい場合は、<strong><span style="color:#b78d4a" class="has-inline-color">削除したい要素をfalse条件</span></strong>にして<strong><span style="color:#b78d4a" class="has-inline-color">filter関数</span></strong>を使えば可能です。</p>



<h2 class="wp-block-heading"><span id="toc10">最後に</span></h2>



<p>いかがでしたでしょうか。<br>今回はJSONデータの扱い方続編ということで、<strong><span style="color:#b78d4a" class="has-inline-color">基本的な操作方法（参照・追加（更新）・削除）</span></strong>についてご紹介しました。<br>次はもう少し応用的な操作方法をご紹介できたらと思います。</p>



<p>良かったら次回も見てみてくださいね！</p>



<p>↓↓↓【JSON入門シリーズ♪】<br></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1514/" title="【JSON入門】JSONとは？JS相互変換について(stringify/parse)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONとは？JS相互変換について(stringify/parse)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JSONの基本知識と基本的な使い方（JSONとJavaScriptオブジェクトとの相互変換）を紹介します。相互変換については、stringfy関数を使用したエンコード方法（encode）、parse関数を使用したデコード方法（decode）を分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.27</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1526/" title="【JSON入門】JSONデータの参照・追加（更新）・削除" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONデータの参照・追加（更新）・削除</div><div class="blogcard-snippet internal-blogcard-snippet">こんにちは。前回はJSONファイルとは何かというのを紹介していきました。詳しくは、こちらからご覧ください。 今回はJSONデータの扱い方の続編となります。宜しければご覧ください。 操作するデータ こちらが今回サンプルのデータです。json_...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.28</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1566/" title="【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/82-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/82-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JQueryを使用したJSONファイルの読み込み方を紹介します。「$.ajax()」や「$.getJSON()」を使った読み込み方法や、読み込みに失敗する場合の対処方法など分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.30</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1526/">【JSON入門】JSONデータの参照・追加（更新）・削除</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1526/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JSON入門】JSONとは？JS相互変換について(stringify/parse)</title>
		<link>https://nyanblog2222.com/programming/javascript/1514/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1514/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 27 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[データフォーマット]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1514</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/80.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/80.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。JSONファイルについて、ご存じでしょうか。本記事はJSONファイルについてと、基本的な扱い方についてご紹介します。 目次 JSONファイルとはどういうファイルなの？JSONの良いところオブジェクトとは似て非 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1514/">【JSON入門】JSONとは？JS相互変換について(stringify/parse)</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/80.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/80.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。JSONファイルについて、ご存じでしょうか。<br>本記事は<strong><span style="color:#b78d4a" class="has-inline-color">JSONファイルについて</span></strong>と、<strong><span style="color:#b78d4a" class="has-inline-color">基本的な扱い方について</span></strong>ご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-96" checked><label class="toc-title" for="toc-checkbox-96">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">JSONファイルとは</a><ol><li><a href="#toc2" tabindex="0">どういうファイルなの？</a></li><li><a href="#toc3" tabindex="0">JSONの良いところ</a></li><li><a href="#toc4" tabindex="0">オブジェクトとは似て非なるもの</a></li></ol></li><li><a href="#toc5" tabindex="0">JSONの基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">オブジェクトからJSONへ（エンコード encode）</a></li><li><a href="#toc7" tabindex="0">JSONからオブジェクトへ（デコード decode）</a></li></ol></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">JSONファイルとは</span></h2>



<h3 class="wp-block-heading"><span id="toc2">どういうファイルなの？</span></h3>



<p>JSONは「<strong><span style="color:#b78d4a" class="has-inline-color">JavaScript Object Notation</span></strong>」で直訳すると、「JavaScriptのオブジェクト表記法」となります。</p>



<p>つまり、<strong><span style="color:#b78d4a" class="has-inline-color">情報のやりとりができるテキストベースのデータ形式</span></strong>を表しています。<br>同じようなデータ形式で、XMLファイルが代表的な例としてよく挙げられています。</p>



<h3 class="wp-block-heading"><span id="toc3">JSONの良いところ</span></h3>



<p>JSONの特徴は主にこちらの3点を満たしており、この特徴を持つことで、<strong><span style="color:#b78d4a" class="has-inline-color">サーバ間の通信</span></strong>や<strong><span style="color:#b78d4a" class="has-inline-color">さまざまなプログラミング言語との共有</span></strong>を可能にしています。</p>



<ul class="wp-block-list"><li>テキストデータのため、<strong><span style="color:#b78d4a" class="has-inline-color">軽量</span></strong></li><li><strong><span style="color:#b78d4a" class="has-inline-color">オブジェクトのように</span></strong>扱える</li><li><strong><span style="color:#b78d4a" class="has-inline-color">単純な構造</span></strong></li></ul>



<h3 class="wp-block-heading"><span id="toc4">オブジェクトとは似て非なるもの</span></h3>



<p>先ほどのJSONの良いところでも上げましたが、相互変換が可能なため、JSONはオブジェクトのように扱うことができます。</p>



<p>しかし、JSONは<strong><span style="color:#b78d4a" class="has-inline-color">テキストデータであり、オブジェクトではありません</span></strong>。</p>



<p>こちらの例を見てください。</p>



<pre class="wp-block-code javascript"><code>// object
var obj = { name: "Taro", old: 17, tel: "000-0000-1" };

// JSON
var json = { "name": "Hanako", "old": 18, "tel": "000-0000-2" };</code></pre>



<p>テキストデータに変換する前のJSONは、連想配列に似た構造となっていますが、明確な違いがあります。<br>それはこちらです。</p>



<ul class="wp-block-list"><li>プロパティのみ含めることができ、<strong><span style="color:#b78d4a" class="has-inline-color">関数は含められない</span></strong></li><li>プロパティをダブルクォーテーション（<strong><span style="color:#b78d4a" class="has-inline-color">””</span></strong>）で括る<br>→括られた文字列のみプロパティとして使用できる</li></ul>



<p>また、注意点として、<strong><span style="color:#b78d4a" class="has-inline-color">カンマ、コロンが1つでも抜けているとJSONとして無効になる</span></strong>場合もあります。</p>



<p>この辺りを理解しておくだけでも、開発するときに違うと思います。</p>



<h2 class="wp-block-heading"><span id="toc5">JSONの基本的な使い方</span></h2>



<p>さっそく、試してみましょう。<br>今回はJSONとJavaScriptのオブジェクトとの、相互変換を行ってみます。</p>



<h3 class="wp-block-heading"><span id="toc6">オブジェクトからJSONへ（エンコード encode）</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">stringfy関数</span></strong><br>・JavaScriptのオブジェクトからJSONへの変換<br>・JSONデータとして通信する前に変換することが多い</p>



<pre class="wp-block-code javascript"><code>// object
var obj = { name: "Taro", old: 17, tel: "000-0000-1" };

var json = JSON.stringify(obj);
console.log(json)</code></pre>



<h3 class="wp-block-heading"><span id="toc7">JSONからオブジェクトへ（デコード decode）</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">parse関数</span></strong><br>・JSONからJavaScriptへの変換<br>ファイルから読み込み後、プログラムで使用しやすいように<strong><span style="color:#b78d4a" class="has-inline-color">デコードする必要がある</span></strong>。</p>



<p>注意する点として、jsonはテキストベースなので全体をシングルクォートで括っています。</p>



<pre class="wp-block-code javascript"><code>// JSON
var json = '{ "name": "Hanako", "old": 18, "tel": "000-0000-2" }';

var obj = JSON.parse(json);
console.log(obj)</code></pre>



<h2 class="wp-block-heading"><span id="toc8">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回はJSONの基本的な知識と、基本的な扱い方について、ご紹介しました。<br>次回はJSON登録や更新などについて、ご紹介していきます。</p>



<p>良かったら次回も見てみてくださいね！</p>



<p>↓↓↓【JSON入門シリーズ♪】</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1514/" title="【JSON入門】JSONとは？JS相互変換について(stringify/parse)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/80-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/80-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONとは？JS相互変換について(stringify/parse)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JSONの基本知識と基本的な使い方（JSONとJavaScriptオブジェクトとの相互変換）を紹介します。相互変換については、stringfy関数を使用したエンコード方法（encode）、parse関数を使用したデコード方法（decode）を分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.27</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1526/" title="【JSON入門】JSONデータの参照・追加（更新）・削除" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/81-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/81-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JSONデータの参照・追加（更新）・削除</div><div class="blogcard-snippet internal-blogcard-snippet">こんにちは。前回はJSONファイルとは何かというのを紹介していきました。詳しくは、こちらからご覧ください。 今回はJSONデータの扱い方の続編となります。宜しければご覧ください。 操作するデータ こちらが今回サンプルのデータです。json_...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.28</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1566/" title="【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/82-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/82-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/82-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JSON入門】JQueryでのJSON読み込み方法(ajax/getJSON)</div><div class="blogcard-snippet internal-blogcard-snippet">JSON入門として、JQueryを使用したJSONファイルの読み込み方を紹介します。「$.ajax()」や「$.getJSON()」を使った読み込み方法や、読み込みに失敗する場合の対処方法など分かりやすく解説♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.30</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1514/">【JSON入門】JSONとは？JS相互変換について(stringify/parse)</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1514/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】Canvasで複数の画像を1つのimgタグで順番に出力してみよう【HTML5】</title>
		<link>https://nyanblog2222.com/programming/javascript/1506/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1506/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 25 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[img要素]]></category>
		<category><![CDATA[画像]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1506</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/92.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/92.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/92-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/92-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/92-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はJavaScriptでcanvas要素を使って、複数の画像を1つのimg要素へ出力する方法をご紹介します。 同じフォルダ構成＋ファイル名の画像さえあれば、コピペで再現できます！ 目次 HTMLCSSJa [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1506/">【JavaScript】Canvasで複数の画像を1つのimgタグで順番に出力してみよう【HTML5】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/92.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/92.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/92-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/92-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/92-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回はJavaScriptでcanvas要素を使って、複数の画像を1つのimg要素へ出力する方法をご紹介します。</p>



<p>同じフォルダ構成＋ファイル名の画像さえあれば、コピペで再現できます！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-98" checked><label class="toc-title" for="toc-checkbox-98">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML</a></li><li><a href="#toc2" tabindex="0">CSS</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモ</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML</span></h2>



<p>今回のHTMLは至ってシンプルです。<br><strong><span style="color:#b78d4a" class="has-inline-color">img要素を作成する親div</span></strong>を記述しています。</p>



<pre class="wp-block-code html"><code>&lt;body>
    &lt;div id="result">&lt;/div>
&lt;/body></code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSS</span></h2>



<p>今回はCSSは使用していないので、不要です。<br>※ その代わりJavaScriptがしっかり目です。</p>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>JavaScriptはこちらです。<br>今回はJQueryは使っていません。</p>



<p>要所要所で、解説用にコメントを記述してみました。</p>



<pre class="wp-block-code javascript"><code>window.onload = function () {
    // 色々宣言・初期化
    var canvas = document.createElement("canvas");
    canvas.width = 0;
    canvas.height = 0;
    var images = &#91;];
    var srcs = &#91;
        'img/1.jpg',
        'img/2.jpg',
        'img/3.jpg',
        'img/4.jpg',
    ];
    var loadCount = 0;

    // Canvas上に画像を表示
    for (var i = 0; i &lt; srcs.length; i++) {
        // Imageのインスタンスを生成し、それぞれの画像を設定
        images&#91;i] = new Image();
        images&#91;i].src = srcs&#91;i];

        // 画像の読み込みが終わったら
        images&#91;i].onload = function () {
            // カウントを取る
            loadCount++;

            // 画像全てloadが終わったら
            if (loadCount === images.length) {
                // ロード後の処理
                loadProcess(images, canvas);
            }
        };
    }
};

// ロード後の処理
function loadProcess(images, canvas) {
    // 画像それぞれのサイズを計算して、canvasのサイズを設定
    setCanvasSize(images, canvas);

    // canvasをクリアにする
    let ctx = canvas.getContext('2d');
    ctx.clearRect(0, 0, canvas.width, canvas.height);

    // カンバスに画像を描画
    drowImage(images, ctx);

    // canvasを画像に変換
    canvasToImage(canvas);
}

// カンバスサイズを設定
function setCanvasSize(images, canvas) {
    for (let i = 0; i &lt; images.length; i++) {
        // 横幅は一番大きい画像に設定
        if (canvas.width &lt; images&#91;i].naturalWidth) {
            canvas.width = images&#91;i].naturalWidth;
        }
        // 高さはプラスしていく
        canvas.height += images&#91;i].naturalHeight;
    }
}

// カンバスに画像を描画
function drowImage(images, ctx) {
    var set_y = 0;
    for (let i = 0; i &lt; images.length; i++) {
        ctx.drawImage(images&#91;i], 0, set_y);
        // 前の画像分、高さをずらして表示させるため、set_yに現在の画像の高さを設定
        set_y += images&#91;i].naturalHeight;
    }
}

// canvasからImgに変換
function canvasToImage(canvas) {
    // img要素を作成
    var outputImg = document.createElement('img');
    // canvasを画像に変換
    outputImg.src = canvas.toDataURL('image/png');
    // 変換したimg要素をdiv要素の中に追加
    document.getElementById('result').appendChild(outputImg);
}</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモ</span></h2>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/canvas_img/" target="_blank">デモページはこちら</a></strong>です。<br>サイズの取得を確認できるよう、さまざまな画像を使ってみました。</p>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>このようなcanvasの使い方もできるんですねぇ。。。<br>色んな描画の使い方ができるので、もっと！もっと！とできるようになりたいです。<br>（ちょっとしたミニゲームっぽいのもそろそろ作ってみたい。。。）</p>



<p>今回に限った話ではないですが、実務でC#をやっておきながら、JavaScriptでオブジェクト指向の書き方が全然できておらず、猛勉強中です。</p>



<p>可読性も上げたいと思っているので、近いうちに記事にできるようしっかり勉強していきます。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1506/">【JavaScript】Canvasで複数の画像を1つのimgタグで順番に出力してみよう【HTML5】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1506/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】アナログ時計の作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/1382/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1382/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 24 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Dateオブジェクト]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1382</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。先日JavaScriptでカウントダウンタイマーを作成してみました！詳しくはこちらをご欄ください。 今回はDateオブジェクトを使用して、アナログ時計を作成してみました。良かったら試してみてください。 目次  [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1382/">【JavaScript】アナログ時計の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/64.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/64-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。先日JavaScriptでカウントダウンタイマーを作成してみました！<br>詳しくはこちらをご欄ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/1200/" title="【JavaScript】カウントダウンタイマーの作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/69-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/69-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/69-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】カウントダウンタイマーの作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）でカウントダウンタイマーを作成しました。サンプル付きでデモもあるので分かりやすくなっています。コピペでも良いのでよかったら試してみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2021.08.13</div></div></div></div></a>
</div></figure>



<p>今回はDateオブジェクトを使用して、アナログ時計を作成してみました。<br>良かったら試してみてください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-100" checked><label class="toc-title" for="toc-checkbox-100">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML</a></li><li><a href="#toc2" tabindex="0">CSS</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモ</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML</span></h2>



<p>まずは、HTMLからです。<br>それぞれの役割はこちらです。</p>



<p>wrapperクラス：ラッパー<br>clockクラス：時計全体<br>scaleクラス：時計のメモリの枠<br>　※ JavaScriptでそれぞれのメモリを設定します。<br>hourクラス：時針<br>minクラス：分針<br>secクラス：秒針</p>



<pre class="wp-block-code html"><code>&lt;body&gt;
    &lt;div class="wrapper"&gt;
        &lt;div class="clock"&gt;
            &lt;div class="scale"&gt;&lt;/div&gt;
            &lt;div class="hour line"&gt;&lt;/div&gt;
            &lt;div class="min line"&gt;&lt;/div&gt;
            &lt;div class="sec line"&gt;&lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSS</span></h2>



<p>こちらがスタイルの設定です。</p>



<pre class="wp-block-code css"><code>@<strong>charset</strong> "utf-8";

.wrapper {
    width: 100%;
    padding: 40px;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    flex-direction: column;
}

.clock {
    background-color: rgba(255, 243, 217, 0.2);
    border: 3px solid #C6A35B;
    width: 400px;
    height: 400px;
    position: relative;
    border-radius: 50%;
}

.clock::after {
    width: 16px;
    height: 16px;
    background: #C6A35B;
    content: "";

    position: absolute;
    top: calc(50% - 8px);
    left: calc(50% - 8px);
    border-radius: 50%;
}

.line {
    position: absolute;
    transform-origin: bottom;
}

.hour {
    width: 8px;
    height: 140px;
    background: #C6A35B;
    top: calc(50% - 140px);
    left: calc(50% - 4px);
}

.min {
    width: 4px;
    height: 180px;
    background: #C6A35B;
    top: calc(50% - 180px);
    left: calc(50% - 2px);
}

.sec {
    width: 1px;
    height: 180px;
    background: #D4BB92;
    top: calc(50% - 180px);
    left: calc(50% - 0.5px);
}

.scale {
    position: relative;
    width: 100%;
    height: 100%;
}

.scale &gt; <strong>div</strong> {
    position: absolute;
    top: 0;
    left: calc(50% - 2px);
    width: 4px;
    height: 50%;
    transform-origin: bottom;
}

.scale &gt; <strong>div</strong>::after {
    position: absolute;
    top: 0;
    content: "";
    width: 4px;
    height: 12px;
    background-color: #C6A35B;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>JavaScriptで針の動きと、時計のメモリを設定しています。</p>



<p>・setIntervalは1秒ごとなので1000でも良いですが、起動後に1秒待つ必要があるため、100で設定しています。<br>・針やメモリはstyle.transformでrotateを指定して角度を設定しています。<br>・window.onloadの関数内では、scaleクラスの要素の最後にdiv要素を追加しています。</p>



<pre class="wp-block-code javascript"><code>setInterval(<strong>function</strong> () {
    <em>// 時間を取得</em>
    <strong>var</strong> now = <strong>new</strong> Date();

    <em>// 針の角度</em>
    <strong>var</strong> deg_h = now.getHours() * (360 / 12) + now.getMinutes() * (360 / 12 / 60);
    <strong>var</strong> deg_m = now.getMinutes() * (360 / 60);
    <strong>var</strong> deg_s = now.getSeconds() * (360 / 60);

    <em>// それぞれの針に角度を設定</em>
    document.querySelector(".hour").style.transform = `rotate(${deg_h}deg)`;
    document.querySelector(".min").style.transform = `rotate(${deg_m}deg)`;
    document.querySelector(".sec").style.transform = `rotate(${deg_s}deg)`;
}, 100);

window.onload = <strong>function</strong> () {
    <em>// メモリを追加</em>
    <strong>for</strong> (<strong>let</strong> i = 1; i &lt;= 12; i++) {
        <em>// scaleクラスの要素の最後にdiv要素を追加</em>
        <strong>let</strong> scaleElem = document.querySelector(".scale");
        <strong>let</strong> addElem = document.createElement("div");
        scaleElem.appendChild(addElem);

        <em>// 角度をつける</em>
        document.querySelector(".scale div:nth-child(" + i + ")").style.transform = `rotate(${i * 30}deg)`;
    }
}</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモ</span></h2>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/analog_clock/" target="_blank">デモページはこちら</a></strong>です。<br>実際の時刻に合わせて時計が動いているのが分かります。</p>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回はJavaScriptでアナログ時計を作成してみました。</p>



<p>Dateオブジェクト以外にも、CSSのtransformの使い方やJavaScriptで要素内に要素を追加する方法も中で行っているので、ぜひ試してみてください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1382/">【JavaScript】アナログ時計の作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1382/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）</title>
		<link>https://nyanblog2222.com/windows/1449/</link>
					<comments>https://nyanblog2222.com/windows/1449/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 23 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[シャットダウン]]></category>
		<category><![CDATA[スクリプト]]></category>
		<category><![CDATA[タスクスケジューラ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1449</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/106.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/106.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はタイトルの方法2つめとして、「ローカルグループポリシーで設定」する方法をご紹介しました。詳しくは、こちらをご覧ください。 今回は「タスクスケジューラーで設定」する方法をご紹介します。 目次 タスクスケジ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1449/">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/106.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/106.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はタイトルの方法2つめとして、<strong><span style="color: #b78d4a;" class="has-inline-color">「ローカルグループポリシーで設定」</span></strong>する方法をご紹介しました。<br>詳しくは、こちらをご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1422/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法1つめとして、「バッチファイルにシャットダウンのコマンドを設定」する方法をご紹介しました。今回は「ローカルグループポリシーで設定」する方法をご紹介します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.21</div></div></div></div></a>
</div></figure>



<p>今回は<strong><span style="color: #b78d4a;" class="has-inline-color">「タスクスケジューラーで設定」</span></strong>する方法をご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-102" checked><label class="toc-title" for="toc-checkbox-102">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">タスクスケジューラーで設定</a><ol><li><a href="#toc2" tabindex="0">タスクスケジューラを表示</a></li></ol></li><li><a href="#toc3" tabindex="0">タスクの設定</a><ol><li><a href="#toc4" tabindex="0">全般タブ</a></li><li><a href="#toc5" tabindex="0">トリガータブ</a></li><li><a href="#toc6" tabindex="0">操作タブ</a></li><li><a href="#toc7" tabindex="0">条件タブ</a></li><li><a href="#toc8" tabindex="0">設定タブ</a></li></ol></li><li><a href="#toc9" tabindex="0">使用できる条件</a></li><li><a href="#toc10" tabindex="0">利点と欠点</a></li><li><a href="#toc11" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">タスクスケジューラーで設定</span></h2>



<h3 class="wp-block-heading"><span id="toc2">タスクスケジューラを表示</span></h3>



<p>まずは、タスクスケジューラを表示させます。<br><strong><span style="color: #b78d4a;" class="has-inline-color">「Windows」キーを右クリック</span></strong>し、<strong><span style="color: #b78d4a;" class="has-inline-color">「コンピューターの管理」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="396" height="631" src="https://nyanblog2222.com/wp-content/uploads/2020/06/SnapCrab_NoName_2020-6-19_9-10-27_No-00-min.png" alt="コンピュータの管理画面を表示" class="wp-image-1463" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/SnapCrab_NoName_2020-6-19_9-10-27_No-00-min.png 396w, https://nyanblog2222.com/wp-content/uploads/2020/06/SnapCrab_NoName_2020-6-19_9-10-27_No-00-min-188x300.png 188w" sizes="auto, (max-width: 396px) 100vw, 396px" /></figure>



<p>すると、こちらの画面が表示されます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="798" height="601" src="https://nyanblog2222.com/wp-content/uploads/2020/06/7dd9f84015338c6a598b751329606e5d.png" alt="コンピュータの管理" class="wp-image-1464" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/7dd9f84015338c6a598b751329606e5d.png 798w, https://nyanblog2222.com/wp-content/uploads/2020/06/7dd9f84015338c6a598b751329606e5d-300x226.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/06/7dd9f84015338c6a598b751329606e5d-768x578.png 768w" sizes="auto, (max-width: 798px) 100vw, 798px" /></figure>



<p>左上の画面から、<br><strong><span style="color: #b78d4a;" class="has-inline-color">「コンピューターの管理（ローカル）」</span></strong><br>→<strong><span style="color: #b78d4a;" class="has-inline-color">「システムツール」</span></strong><br>→<strong><span style="color: #b78d4a;" class="has-inline-color">「タスク スケジューラ」</span></strong><br>をクリックする。</p>



<p>真ん中、右画面にタスクスケジューラの画面が出てくるので、右画面にある<strong><span style="color: #b78d4a;" class="has-inline-color">「タスクの作成&#8230;」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="887" height="601" src="https://nyanblog2222.com/wp-content/uploads/2020/06/8ed2aab5ba019e1f279b48e7cbe38b11.png" alt="タスクスケジューラー、タスクの作成をクリック" class="wp-image-1465" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/8ed2aab5ba019e1f279b48e7cbe38b11.png 887w, https://nyanblog2222.com/wp-content/uploads/2020/06/8ed2aab5ba019e1f279b48e7cbe38b11-300x203.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/06/8ed2aab5ba019e1f279b48e7cbe38b11-768x520.png 768w" sizes="auto, (max-width: 887px) 100vw, 887px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">タスクの設定</span></h2>



<h3 class="wp-block-heading"><span id="toc4">全般タブ</span></h3>



<p>こちらの画面で、名前にタスクの<strong><span style="color: #b78d4a;" class="has-inline-color">名前を入力</span></strong>してください。<br>どのタスクか分かりやすくするものなので、何でも大丈夫です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="582" height="430" src="https://nyanblog2222.com/wp-content/uploads/2020/06/e6b6c084b357180b244c1126d1af2462-1.png" alt="タスクの設定　全般タグ" class="wp-image-1472" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/e6b6c084b357180b244c1126d1af2462-1.png 582w, https://nyanblog2222.com/wp-content/uploads/2020/06/e6b6c084b357180b244c1126d1af2462-1-300x222.png 300w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<h3 class="wp-block-heading"><span id="toc5">トリガータブ</span></h3>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">トリガータブ</span></strong>を選択し、<strong><span style="color: #b78d4a;" class="has-inline-color">「新規」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="582" height="430" src="https://nyanblog2222.com/wp-content/uploads/2020/06/27bef472906d8062111d9d0ab9c5f599-1.png" alt="タスクの設定　トリガータグ" class="wp-image-1473" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/27bef472906d8062111d9d0ab9c5f599-1.png 582w, https://nyanblog2222.com/wp-content/uploads/2020/06/27bef472906d8062111d9d0ab9c5f599-1-300x222.png 300w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<p>「新しいトリガー」画面が表示されるので、<br><strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>部分の設定を行ってください。</p>



<ul class="wp-block-list"><li>タスクの開始：<strong><span style="color: #b78d4a;" class="has-inline-color">「ユーザーセッションからの切断時」</span></strong>を選択</li><li>設定：<strong><span style="color: #b78d4a;" class="has-inline-color">「特定のユーザー」</span></strong>を選択</li><li><strong><span style="color: #b78d4a;" class="has-inline-color">「ローカル コンピューターからの接続」</span></strong>を選択</li><li>詳細設定：<strong><span style="color: #b78d4a;" class="has-inline-color">「停止するまでの時間」</span></strong>　チェックを<strong><span style="color: #b78d4a;" class="has-inline-color">外す</span></strong></li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="646" height="556" src="https://nyanblog2222.com/wp-content/uploads/2020/06/0bb1721fd15f18aa2ff47d938424e049-1.png" alt="新しいトリガー" class="wp-image-1474" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/0bb1721fd15f18aa2ff47d938424e049-1.png 646w, https://nyanblog2222.com/wp-content/uploads/2020/06/0bb1721fd15f18aa2ff47d938424e049-1-300x258.png 300w" sizes="auto, (max-width: 646px) 100vw, 646px" /></figure>



<p>設定が終わりましたら、<strong><span style="color: #b78d4a;" class="has-inline-color">「OK」</span></strong>をクリックします。</p>



<h3 class="wp-block-heading"><span id="toc6">操作タブ</span></h3>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">「操作」</span></strong>タブをクリックし、<strong><span style="color: #b78d4a;" class="has-inline-color">「新規」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="582" height="430" src="https://nyanblog2222.com/wp-content/uploads/2020/06/5a2ddf74daebefb2ed1e175556874c97-1.png" alt="タスクの設定　操作タグ" class="wp-image-1475" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/5a2ddf74daebefb2ed1e175556874c97-1.png 582w, https://nyanblog2222.com/wp-content/uploads/2020/06/5a2ddf74daebefb2ed1e175556874c97-1-300x222.png 300w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">「新しい操作」</span></strong>画面が表示されるので、<br>操作に<strong><span style="color: #b78d4a;" class="has-inline-color">「プログラムの開始」</span></strong>が選択されていることを確認し、<br><strong><span style="color: #b78d4a;" class="has-inline-color">「プログラム／スクリプト」</span></strong>に<strong><span style="color: #b78d4a;" class="has-inline-color">「参照」からファイルを選択して</span></strong>ファイルパスが入力されていることを確認してください。</p>



<p>必要あれば、「引数の追加」「開始」にも入力してください。<br>設定が終わりましたら、<strong><span style="color: #b78d4a;" class="has-inline-color">「OK」</span></strong>をクリックしてください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="494" height="540" src="https://nyanblog2222.com/wp-content/uploads/2020/06/14f30ec0feb93a556ff4c0dcd5dac3fe-1.png" alt="新しい操作" class="wp-image-1476" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/14f30ec0feb93a556ff4c0dcd5dac3fe-1.png 494w, https://nyanblog2222.com/wp-content/uploads/2020/06/14f30ec0feb93a556ff4c0dcd5dac3fe-1-274x300.png 274w" sizes="auto, (max-width: 494px) 100vw, 494px" /></figure>



<p>画像の<strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>のように、<strong><span style="color: #b78d4a;" class="has-inline-color">操作と詳細に入力されていること</span></strong>を確認してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="582" height="430" src="https://nyanblog2222.com/wp-content/uploads/2020/06/bfde1c81e35c77ec8968fcf8e208dda4-1.png" alt="タスクの設定　操作タグ" class="wp-image-1477" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/bfde1c81e35c77ec8968fcf8e208dda4-1.png 582w, https://nyanblog2222.com/wp-content/uploads/2020/06/bfde1c81e35c77ec8968fcf8e208dda4-1-300x222.png 300w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<h3 class="wp-block-heading"><span id="toc7">条件タブ</span></h3>



<p>条件タブをクリックし、<br>・アイドル状態<br>・電源<br>・ネットワーク<br>の設定が必要であれば、適宜変更してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="582" height="430" src="https://nyanblog2222.com/wp-content/uploads/2020/06/7945c9b7f119ac7fc14cff4e1f846d18.png" alt="タスクの設定　条件タグ" class="wp-image-1480" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/7945c9b7f119ac7fc14cff4e1f846d18.png 582w, https://nyanblog2222.com/wp-content/uploads/2020/06/7945c9b7f119ac7fc14cff4e1f846d18-300x222.png 300w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<h3 class="wp-block-heading"><span id="toc8">設定タブ</span></h3>



<p>設定タブをクリックして、<br><strong><span style="color: #b78d4a;" class="has-inline-color">「タスクを停止するまでの時間」のチェックを外して</span></strong>ください。<br>※ バックアップなど時間のかからない処理であれば、不要です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="582" height="430" src="https://nyanblog2222.com/wp-content/uploads/2020/06/b843256aa1532811e1c4c4cfb0983471.png" alt="タスクの設定　設定タグ" class="wp-image-1484" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/b843256aa1532811e1c4c4cfb0983471.png 582w, https://nyanblog2222.com/wp-content/uploads/2020/06/b843256aa1532811e1c4c4cfb0983471-300x222.png 300w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<p>全て設定が終わりましたら、<strong><span style="color: #b78d4a;" class="has-inline-color">「OK」</span></strong>を押して設定は完了です。</p>



<h2 class="wp-block-heading"><span id="toc9">使用できる条件</span></h2>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">この機能は制約があり、</span></strong>使用できない場合は主に2つあります。</p>



<ul class="wp-block-list"><li><strong><span style="color: #b78d4a;" class="has-inline-color">Guest</span></strong>や<strong><span style="color: #b78d4a;" class="has-inline-color">制限のあるユーザ</span></strong>では使用できない場合がある</li><li>Windows10 Homeなど、<strong><span style="color: #b78d4a;" class="has-inline-color">Professionalより下のエディションだとローカルグループポリシーでの設定ができない</span></strong></li></ul>



<p>そのため、<strong><span style="color: #b78d4a;" class="has-inline-color">「シャットダウンしても実行されていない」</span></strong>と疑問に感じた際はこちらの理由を疑ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc10">利点と欠点</span></h2>



<p>利点：<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">UIでの操作が可能</span></strong><br>・シャットダウンに限らず、<strong><span style="color: #b78d4a;" class="has-inline-color">さまざまな条件で設定</span></strong>することができる</p>



<p>欠点：<br>・使用できる条件がある</p>



<h2 class="wp-block-heading"><span id="toc11">まとめ</span></h2>



<p>今回は以下の3本立ての記事にしてみましたが、いかがでしたでしょうか。</p>



<p>（１）「バッチファイルにシャットダウンのコマンドを設定」する方法</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1401/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/104-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/104-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）</div><div class="blogcard-snippet internal-blogcard-snippet">シャットダウンの時にバッチやプログラムを実行する方法をご紹介します。今回はバッチファイルにシャットダウンのコマンドを設定する方法を説明します。シャットダウン前に行いたい処理をバッチファイル記述し、最後にshutdownのコマンドを入れることで処理が終わり次第、自動的にシャットダウンをしてくれます。こちら...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.20</div></div></div></div></a>
</div></figure>



<p>（２）「ローカルグループポリシーで設定」する方法</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1422/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法1つめとして、「バッチファイルにシャットダウンのコマンドを設定」する方法をご紹介しました。今回は「ローカルグループポリシーで設定」する方法をご紹介します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.21</div></div></div></div></a>
</div></figure>



<p>（３）「タスクスケジューラーで設定」する方法（本記事）</p>



<p>3つの方法がありましたが、ご自分の環境と方法にあったやり方で良かったら試してみてくださいね！</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1449/">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/1449/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</title>
		<link>https://nyanblog2222.com/windows/1422/</link>
					<comments>https://nyanblog2222.com/windows/1422/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 21 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[シャットダウン]]></category>
		<category><![CDATA[スクリプト]]></category>
		<category><![CDATA[ローカルグループポリシー]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1422</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/105.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/105.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はタイトルの方法1つめとして、「バッチファイルにシャットダウンのコマンドを設定」する方法をご紹介しました。詳しくは、こちらをご覧ください。 今回は「ローカルグループポリシーで設定」する方法をご紹介します。 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1422/">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/105.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/105.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はタイトルの方法1つめとして、<strong><span style="color: #b78d4a;" class="has-inline-color">「バッチファイルにシャットダウンのコマンドを設定」</span></strong>する方法をご紹介しました。<br>詳しくは、こちらをご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1401/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/104-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/104-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）</div><div class="blogcard-snippet internal-blogcard-snippet">シャットダウンの時にバッチやプログラムを実行する方法をご紹介します。今回はバッチファイルにシャットダウンのコマンドを設定する方法を説明します。シャットダウン前に行いたい処理をバッチファイル記述し、最後にshutdownのコマンドを入れることで処理が終わり次第、自動的にシャットダウンをしてくれます。こちら...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.20</div></div></div></div></a>
</div></figure>



<p><br>今回は<strong><span style="color: #b78d4a;" class="has-inline-color">「ローカルグループポリシーで設定」</span></strong>する方法をご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-104" checked><label class="toc-title" for="toc-checkbox-104">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ローカルグループポリシーで設定</a><ol><li><a href="#toc2" tabindex="0">ローカルグループポリシー　エディタを表示</a></li><li><a href="#toc3" tabindex="0">シャットダウンプロパティを表示</a></li><li><a href="#toc4" tabindex="0">スクリプトの追加</a></li></ol></li><li><a href="#toc5" tabindex="0">使用できる条件</a></li><li><a href="#toc6" tabindex="0">利点と欠点</a></li><li><a href="#toc7" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ローカルグループポリシーで設定</span></h2>



<h3 class="wp-block-heading"><span id="toc2">ローカルグループポリシー　エディタを表示</span></h3>



<p>ローカルグループポリシー　エディタを表示させていきます。<br>まずは、<strong><span style="color: #b78d4a;" class="has-inline-color">「Windows」キー+「R」キー</span></strong>を押します。</p>



<p>名前欄に<strong><span style="color: #b78d4a;" class="has-inline-color">「gpedit.msc」</span></strong>を入力して「OK」をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="416" height="225" src="https://nyanblog2222.com/wp-content/uploads/2020/06/f4138c8b41f922eb2ca600164b0d004d.png" alt="ファイル名を指定して実行" class="wp-image-1438" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/f4138c8b41f922eb2ca600164b0d004d.png 416w, https://nyanblog2222.com/wp-content/uploads/2020/06/f4138c8b41f922eb2ca600164b0d004d-300x162.png 300w" sizes="auto, (max-width: 416px) 100vw, 416px" /></figure>



<p>また、こちらの画面は<br><strong><span style="color: #b78d4a;" class="has-inline-color">スタートボタンを右クリック→「ファイル名を指定して実行」を選択</span></strong><br>でも表示されます。</p>



<p>すると、こちらの画面<strong><span style="color: #b78d4a;" class="has-inline-color">「ローカルグループポリシー　エディター」</span></strong>が表示されます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="794" height="569" src="https://nyanblog2222.com/wp-content/uploads/2020/06/0a4635a9194382866c2d5877939e91f6.png" alt="ローカルグループポリシーエディタを表示" class="wp-image-1439" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/0a4635a9194382866c2d5877939e91f6.png 794w, https://nyanblog2222.com/wp-content/uploads/2020/06/0a4635a9194382866c2d5877939e91f6-300x215.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/06/0a4635a9194382866c2d5877939e91f6-768x550.png 768w" sizes="auto, (max-width: 794px) 100vw, 794px" /></figure>



<h3 class="wp-block-heading"><span id="toc3">シャットダウンプロパティを表示</span></h3>



<p>続いて、左のツリーから辿って、<strong><span style="color: #b78d4a;" class="has-inline-color">シャットダウンプロパティ</span></strong>を表示させます。</p>



<p>上から<br><strong><span style="color: #b78d4a;" class="has-inline-color">「コンピューターの構成」</span></strong><br>→<strong><span style="color: #b78d4a;" class="has-inline-color">「Windowsの設定」</span></strong><br>→<strong><span style="color: #b78d4a;" class="has-inline-color">「スクリプト（スタートアップ/シャットダウン）」</span></strong><br>を順番に選択すると、<br>右画面に「スタートアップ」と<strong><span style="color: #b78d4a;" class="has-inline-color">「シャットダウン」</span></strong>が表示されます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="644" height="462" src="https://nyanblog2222.com/wp-content/uploads/2020/06/5cdc03f67ef942f198ddbfbccec77f29-1.png" alt="ローカルグループポリシーエディターからシャットダウンプロパティを表示" class="wp-image-1441" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/5cdc03f67ef942f198ddbfbccec77f29-1.png 644w, https://nyanblog2222.com/wp-content/uploads/2020/06/5cdc03f67ef942f198ddbfbccec77f29-1-300x215.png 300w" sizes="auto, (max-width: 644px) 100vw, 644px" /></figure>



<p>「シャットダウン」をダブルクリックして、<strong><span style="color: #b78d4a;" class="has-inline-color">「シャットダウンのプロパティ」</span></strong>を表示させます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="505" height="558" src="https://nyanblog2222.com/wp-content/uploads/2020/06/784514585c8425482a93476129aec763.png" alt="シャットダウンプロパティ" class="wp-image-1442" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/784514585c8425482a93476129aec763.png 505w, https://nyanblog2222.com/wp-content/uploads/2020/06/784514585c8425482a93476129aec763-272x300.png 272w" sizes="auto, (max-width: 505px) 100vw, 505px" /></figure>



<h3 class="wp-block-heading"><span id="toc4">スクリプトの追加</span></h3>



<p>シャットダウンのプロパティ画面より、<strong><span style="color: #b78d4a;" class="has-inline-color">「追加」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="505" height="558" src="https://nyanblog2222.com/wp-content/uploads/2020/06/742098ed1d323b969b5f9e2c6020d634.png" alt="シャットダウンプロパティより追加をクリック" class="wp-image-1443" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/742098ed1d323b969b5f9e2c6020d634.png 505w, https://nyanblog2222.com/wp-content/uploads/2020/06/742098ed1d323b969b5f9e2c6020d634-272x300.png 272w" sizes="auto, (max-width: 505px) 100vw, 505px" /></figure>



<p>「スクリプトの追加」画面が表示されるので、<strong><span style="color: #b78d4a;" class="has-inline-color">「参照」</span></strong>をクリックして実行したいファイルを選択してください。</p>



<p>「スクリプトのパラメーター」は実行時の引数を設定することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="483" height="260" src="https://nyanblog2222.com/wp-content/uploads/2020/06/5d5c334b829d58c1e589560cdd8288f1.png" alt="スクリプト名設定" class="wp-image-1445" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/5d5c334b829d58c1e589560cdd8288f1.png 483w, https://nyanblog2222.com/wp-content/uploads/2020/06/5d5c334b829d58c1e589560cdd8288f1-300x161.png 300w" sizes="auto, (max-width: 483px) 100vw, 483px" /></figure>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">「OK」</span></strong>ボタンを押して、「シャットダウンのプロパティ」画面に戻りましょう。</p>



<p><strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>のようにファイル名が設定されていることを確認したら、<strong><span style="color: #b78d4a;" class="has-inline-color">「OK」</span></strong>をクリックして設定は終了です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="505" height="558" src="https://nyanblog2222.com/wp-content/uploads/2020/06/8e5ad9f9cbf9adddbebb83ffdb4cd2c7.png" alt="ファイルの設定を確認" class="wp-image-1447" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/8e5ad9f9cbf9adddbebb83ffdb4cd2c7.png 505w, https://nyanblog2222.com/wp-content/uploads/2020/06/8e5ad9f9cbf9adddbebb83ffdb4cd2c7-272x300.png 272w" sizes="auto, (max-width: 505px) 100vw, 505px" /></figure>



<h2 class="wp-block-heading"><span id="toc5">使用できる条件</span></h2>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">この機能は制約があり、</span></strong>使用できない場合は主に2つあります。</p>



<ul class="wp-block-list"><li><strong><span style="color: #b78d4a;" class="has-inline-color">高速スタートアップ有効時は使用できない</span></strong></li><li>Windows10 Homeなど、<strong><span style="color: #b78d4a;" class="has-inline-color">Professionalより下のエディションだとローカルグループポリシーでの設定ができない</span></strong></li></ul>



<p>そのため、<strong><span style="color: #b78d4a;" class="has-inline-color">「シャットダウンしても実行されていない」</span></strong>と疑問に感じた際はこちらの理由を疑ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc6">利点と欠点</span></h2>



<p>利点：<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">UIでの操作で設定が少なく、簡単</span></strong></p>



<p>欠点：<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">使用できる条件が3つの中で一番厳しい</span></strong></p>



<h2 class="wp-block-heading"><span id="toc7">まとめ</span></h2>



<p><p>いかがでしたでしょうか。<br>今回の方法は<strong><span style="color: #b78d4a;" class="has-inline-color">UIの操作だけで簡単に設定できる</span></strong>のですが、制約が多いところだけが残念です。<br>条件さえ満たしていれば簡単にできるので、良かったら試してみてくださいね！</p> <p>本シリーズは以下の３本立てなので、良かったら見てくださいね♪<br>（１）「バッチファイルにシャットダウンのコマンドを設定」する方法</p></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1401/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/104-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/104-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）</div><div class="blogcard-snippet internal-blogcard-snippet">シャットダウンの時にバッチやプログラムを実行する方法をご紹介します。今回はバッチファイルにシャットダウンのコマンドを設定する方法を説明します。シャットダウン前に行いたい処理をバッチファイル記述し、最後にshutdownのコマンドを入れることで処理が終わり次第、自動的にシャットダウンをしてくれます。こちら...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.20</div></div></div></div></a>
</div></figure>



<p><p>（２）「ローカルグループポリシーで設定」する方法（本記事）<br>（３）「タスクスケジューラーで設定」する方法</p></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1449/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/106-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/106-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法2つめとして、「ローカルグループポリシーで設定」する方法をご紹介しました。今回はシャットダウン時に実行するプログラムの設定をタスクスケジューラーで行う方法をご紹介します。まずは、タスクスケジューラを表示させます。「Windows」キーを右クリックし、「コンピューターの管理」をクリックし...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.23</div></div></div></div></a>
</div></figure>



<p><p><span style="background-color: rgb(255, 255, 255);"></span></p></p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1422/">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/1422/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）</title>
		<link>https://nyanblog2222.com/windows/1401/</link>
					<comments>https://nyanblog2222.com/windows/1401/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 20 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[シャットダウン]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1401</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/104.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/104.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />以前、スタートアップの機能を使って、Windows10を起動するときに自動でログインする方法やスタートアップで自動に実行する方法をご紹介しました。詳しくは、こちらをご覧ください。 今回はシャットダウンの時にバッチやプログ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1401/">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/104.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/104.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/104-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>以前、スタートアップの機能を使って、Windows10を起動するときに自動でログインする方法やスタートアップで自動に実行する方法をご紹介しました。<br>詳しくは、こちらをご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1265/" title="Windows10　PCを起動後、自動でログイン" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/103-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/103-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/103-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/103-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/103-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Windows10　PCを起動後、自動でログイン</div><div class="blogcard-snippet internal-blogcard-snippet">Windows10を使っている方でPCを起動してからログインする時、毎回パスワードを入力していますか？パスワードはセキュリティ的にもつけておきたいけど、毎回入力するのは面倒という方へ、この方法を使えば毎回入力しなくてもログインすることができます。簡単にできるので、良かったら試してみてください。「Windo...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.13</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1210/" title="【Vagrant】自動起動・終了方法（vagrant up/vagrant halt）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/102-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/102-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Vagrant】自動起動・終了方法（vagrant up/vagrant halt）</div><div class="blogcard-snippet internal-blogcard-snippet">パソコン起動時のVagrant自動起動方法と、シャットダウン時のVagrant自動終了方法を紹介します♪実行環境はWindows10で、コマンドは「vagrant up/vagrant halt」を使用します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.11</div></div></div></div></a>
</div></figure>



<p>今回はシャットダウンの時にバッチやプログラムを実行する方法をご紹介します。</p>



<ul class="wp-block-list"><li>バッチファイルにシャットダウンのコマンドを設定</li><li>ローカルグループポリシーで設定</li><li>タスクスケジューラで設定</li></ul>



<p>こちらの3つの方法をご紹介しますので、今回は3本立ての記事になります。<br>今回はバッチファイルでのシャットダウンコマンドの設定についてご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-106" checked><label class="toc-title" for="toc-checkbox-106">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">バッチファイルにシャットダウンのコマンドを設定</a></li><li><a href="#toc2" tabindex="0">注意する点</a></li><li><a href="#toc3" tabindex="0">利点と欠点</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">バッチファイルにシャットダウンのコマンドを設定</span></h2>



<p>今回の方法ではシャットダウン前に行いたい処理をバッチファイル記述し、<strong><span style="color: #b78d4a;" class="has-inline-color">最後にshutdownのコマンドを入れることで</span></strong>処理が終わり次第、自動的にシャットダウンをしてくれます。</p>



<p>こちらがシャットダウンのコマンド例です。</p>



<figure class="wp-block-table">
<table>
<tbody>
<tr>
<th class="text-aline-center">処理</th>
<th class="text-aline-center" width="30%">コマンド</th>
<th class="text-aline-center">説明</th>
</tr>
<tr>
<th>シャットダウン</th>
<td>shutdown /s /f /t 0</td>
<td>確認なしで実行中のアプリケーションを強制終了してシャットダウンを実行</td>
</tr>
<tr>
<th>再起動</th>
<td>shutdown /r /f /t 0</td>
<td>確認なしで実行中のアプリケーションを強制終了して再起動を実行</td>
</tr>
<tr>
<th>ログオフ・サインアウト</th>
<td>shutdown /l /f /t 0</td>
<td>確認なしで実行中のアプリケーションを強制終了してログオフ・サインアウトを実行</td>
</tr>
</tbody>
</table>
</figure>



<p>でてきたshutdownコマンドのオプションについてです。</p>



<figure class="wp-block-table">
<table>
<tbody>
<tr>
<th class="text-aline-center">オプション</th>
<th class="text-aline-center">説明</th>
</tr>
<tr>
<th>/l</th>
<td>ログオフ</td>
</tr>
<tr>
<th>/s</th>
<td>シャットダウン</td>
</tr>
<tr>
<th>/r</th>
<td>再起動</td>
</tr>
<tr>
<th>/t 10</th>
<td>10秒後にシャットダウン(10は例)<br>すぐにシャットダウンしたい場合は0を設定</td>
</tr>
<tr>
<th>/f</th>
<td>アプリケーションを強制終了</td>
</tr>
</tbody>
</table>
</figure>



<p>バッチをデスクトップなどすぐ操作できる場所に置いておけば、手間なく実行できるところが良いですね！</p>



<h2 class="wp-block-heading"><span id="toc2">注意する点</span></h2>



<p>ヒューマンエラーなだけなのですが、バッチの機能だけ使いたくて間違ってシャットダウン込みのバッチを叩かないようにしましょう。</p>



<p>PCがシャットダウンしてしまいます。（苦笑）<br>…はい。当たり前ですね。</p>



<p>筆者は始め、この方法でバッチを叩いてシャットダウンしていたのですが、間違ってシャットダウンしてしまうことがしばしばありました。<br>そのため、最初にシャットダウンするかどうかを確認するコマンドを入れることにしました。<br>（完全自動では無くなりましたが、ミスが多くなるよりかはマシだと思います。）</p>



<p>こちらは例ですが、もしよければ参考にしてください。</p>



<pre class="wp-block-code dos"><code>@ECHO OFF
<em>
REM 入力値でシャットダウンするかどうか決める</em>
@ECHO 処理完了後、シャットダウンしますか？
@ECHO ( Y / N )
SET INPUT=
SET /P INPUT=

<strong>IF</strong> "%INPUT%"=="y" ( 
	<strong>GOTO</strong> :SHUT_DOWN_ON
) <strong>ELSE</strong> <strong>IF</strong> "%INPUT%"=="n" ( 
	<strong>GOTO</strong> :SHUT_DOWN_OFF
)
<em>
REM //////////////////////////////////////////////////////////</em>
<em>REM ここにシャットダウン前に行いたい処理を組み込むか呼び出す</em>
<em>REM //////////////////////////////////////////////////////////</em>

:SHUT_DOWN_ON
@ECHO シャットダウンコマンドを入力します。
<strong>EXIT</strong> 0

:SHUT_DOWN_OFF
@ECHO 何か処理が必要であれば、入れてください。
<strong>EXIT</strong> 0</code></pre>



<h2 class="wp-block-heading"><span id="toc3">利点と欠点</span></h2>



<p>利点：<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">実行に制約がない</span></strong>ためどなたでも実行が可能<br>・自分で好きにさまざまな制御が可能</p>



<p>弱点：<br>・バッチを直接記述しなくてはならないため、<strong><span style="color: #b78d4a;" class="has-inline-color">バグっていると繰り返し修正が必要</span></strong></p>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>バッチファイルの最後にshutdownコマンドを記述する方法をご紹介しました。</p>



<p><p>今回の方法では制約がありませんので、バッチが得意な方、勉強したい方には特におすすめです。</p> <p>また本シリーズは以下の３本立てなので、良かったら見てくださいね♪<br>（１）「バッチファイルにシャットダウンのコマンドを設定」する方法（本記事）<br>（２）「ローカルグループポリシーで設定」する方法</p></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1422/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法1つめとして、「バッチファイルにシャットダウンのコマンドを設定」する方法をご紹介しました。今回は「ローカルグループポリシーで設定」する方法をご紹介します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.21</div></div></div></div></a>
</div></figure>



<p><p>（３）「タスクスケジューラーで設定」する方法</p></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1449/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/106-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/106-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法2つめとして、「ローカルグループポリシーで設定」する方法をご紹介しました。今回はシャットダウン時に実行するプログラムの設定をタスクスケジューラーで行う方法をご紹介します。まずは、タスクスケジューラを表示させます。「Windows」キーを右クリックし、「コンピューターの管理」をクリックし...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.23</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/windows/1401/">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（1）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/1401/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【C#】constを使用する時の注意点</title>
		<link>https://nyanblog2222.com/programming/c-sharp/1299/</link>
					<comments>https://nyanblog2222.com/programming/c-sharp/1299/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 16 Jun 2020 09:05:00 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[const]]></category>
		<category><![CDATA[enum]]></category>
		<category><![CDATA[struct]]></category>
		<category><![CDATA[定数]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1299</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/97.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/97.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/97-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/97-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/97-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回は「const、readonly、static readonlyの使い方・違いについて」説明していきました。詳しくは、こちらの記事をご覧ください。 今回は前回入りきらなかった「const」を使用する時の注 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/1299/">【C#】constを使用する時の注意点</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/97.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/97.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/97-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/97-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/97-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回は「const、readonly、static readonlyの使い方・違いについて」説明していきました。<br>詳しくは、こちらの記事をご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/c-sharp/1279/" title="【C#】const、readonly、static readonlyの使い方・違いについて" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/96-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/96-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【C#】const、readonly、static readonlyの使い方・違いについて</div><div class="blogcard-snippet internal-blogcard-snippet">今回はC#の定数の定義について、ご紹介していきます。const、readonly、static readonlyについて、目にしたことはあると思います。では、それぞれの違いや使い方はご存じでしょうか。const：コンパイル時に決定する定数。readonly：読み取り専用のインスタンス。static r...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.15</div></div></div></div></a>
</div></figure>



<p><br>今回は前回入りきらなかった「const」を使用する時の注意点を解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-108" checked><label class="toc-title" for="toc-checkbox-108">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">constのバージョン管理問題  </a></li><li><a href="#toc2" tabindex="0">列挙型の代わりに構造体のconstを使わない</a></li><li><a href="#toc3" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">constのバージョン管理問題  </span></h2>



<p>constで宣言した定数は<strong><span style="color:#b78d4a" class="has-inline-color">アクセス修飾子をpublicにすべきでない</span></strong>。と言われています。<br>なぜかというと、const定数はコンパイル時点で値が決定します。<br>例えば、クラスライブラリのMyClassには、constの定数”MAX_COUNT”が宣言されています。</p>



<pre class="wp-block-code cs"><code><strong>public</strong> <strong>class</strong> <strong>MyClass</strong> {
  <strong>public</strong> <strong>const</strong> <strong>int</strong> MAX_COUNT = 25;
}</code></pre>



<p>Program.exeに含まれるProcessクラスでは、ライブラリを読み込んでMyClass.MAX_COUNTを使います。</p>



<pre class="wp-block-code cs"><code><strong>public</strong> <strong>class</strong> <strong>Process</strong> {
  <strong>for</strong>(<strong>int</strong> i = 0; i &lt; MyClass.MAX_COUNT; i++) {
    …
  }
}</code></pre>



<p>仕様が変わりMAX_COUNTが30になったので、constの定数を変更しました。</p>



<pre class="wp-block-code cs"><code>public class MyClass {
  public const int MAX_COUNT = 30;
}</code></pre>



<p>このとき、クラスライブラリだけコンパイルして差し替えた場合、Program.exeで使用するときはMyClass.MAX_COUNTの値はどうなるでしょうか？</p>



<p>…正解は<strong><span class="has-inline-color has-pale-pink-color">MyClass.MAX_COUNTの値は25</span></strong>になります。</p>



<p>理由はProgram.exeで使用しているMyClass.MAX_COUNTの値は<strong><span style="color:#b78d4a" class="has-inline-color">Program.exeをコンパイルするときに値が決まっているから</span></strong>です。</p>



<p>これをバージョンアップするときに起こる問題として、<strong><span style="color:#b78d4a" class="has-inline-color">constのバージョン管理問題</span></strong>や<strong><span style="color:#b78d4a" class="has-inline-color">constのバージョニング問題</span></strong>と言います。</p>



<h2 class="wp-block-heading"><span id="toc2">列挙型の代わりに構造体のconstを使わない</span></h2>



<p>構造体のconstで、列挙型のような使い方をすると、予期せぬ不具合を生み出すことがあります。</p>



<p>こちらは構造体での使用例です。<br>12行目でstatusに&#8221;5&#8243;を設定していますが、何も問題なく<strong><span style="color:#b78d4a" class="has-inline-color">ビルドが通ります</span></strong>。</p>



<p>しかし、開発者はStatus構造体内の定数を設定したいはずなので、statusに&#8221;5&#8243;を代入してしまうことは以降の処理で不具合を起こしかねません。</p>



<pre class="wp-block-code cs"><code>struct Status
{
    public const int INIT = 0;
    public const int FAILED = 1;
    public const int SUCCESS = 2;
    public const int FINAL = 3;
}

var status = Status.INIT;

// Statusには存在しない値を設定できる
status = 5;</code></pre>



<p>続いて、列挙型での使用例です。<br>12行目のように列挙型での宣言後、<strong><span style="color:#b78d4a" class="has-inline-color">Statusに存在しない値を設定すると、ビルドエラー</span></strong>になります。</p>



<pre class="wp-block-code cs"><code>enum Status
{
    INIT = 0;
    FAILED = 1;
    SUCCESS = 2;
    FINAL = 3;
}

var status = Status.INIT;

// Statusに存在しない値を設定すると、ビルドエラーになる
status = 5;</code></pre>



<h2 class="wp-block-heading"><span id="toc3">まとめ</span></h2>



<p>今回は前回の定数の解説に引き続き、「const」に焦点を当てて注意点を解説していきました。</p>



<p>特に<strong><span style="color:#b78d4a" class="has-inline-color">「バージョン管理問題」</span></strong>は現象が起こった際にハマりやすいところだと思いますので、頭の片隅に置いておいた方が良いと思います！</p>



<p>良かったら他の記事もご覧になってください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/1299/">【C#】constを使用する時の注意点</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/c-sharp/1299/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【C#】const、readonly、static readonlyの使い方・違いについて</title>
		<link>https://nyanblog2222.com/programming/c-sharp/1279/</link>
					<comments>https://nyanblog2222.com/programming/c-sharp/1279/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[const]]></category>
		<category><![CDATA[readonly]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[定数]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1279</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/96.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/96.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はC#の定数の定義について、ご紹介していきます。 const、readonly、static readonlyについて、目にしたことはあると思います。では、それぞれの違いや使い方はご存じでしょうか。 特に [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/1279/">【C#】const、readonly、static readonlyの使い方・違いについて</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/96.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/96.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/96-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回はC#の定数の定義について、ご紹介していきます。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">const、readonly、static readonly</span></strong>について、目にしたことはあると思います。<br>では、それぞれの違いや使い方はご存じでしょうか。</p>



<p>特に今まで曖昧だった方向けに本記事をご覧になっていただければと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-110" checked><label class="toc-title" for="toc-checkbox-110">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">constについて</a><ol><li><a href="#toc2" tabindex="0">使用例</a></li></ol></li><li><a href="#toc3" tabindex="0">readonlyについて</a><ol><li><a href="#toc4" tabindex="0">使用例</a></li><li><a href="#toc5" tabindex="0">補足</a></li></ol></li><li><a href="#toc6" tabindex="0">static readonlyについて</a><ol><li><a href="#toc7" tabindex="0">使用例</a></li></ol></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">constについて</span></h2>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">コンパイル時に決定する定数</span></strong></li><li>自動的にでstatic扱い。<br>生成したインスタンスから取得できない。</li><li>宣言時のみ初期化可能</li><li><strong><span style="color:#b78d4a" class="has-inline-color">文字列以外の参照型での初期化はできない。</span></strong><br>（生成したインスタンスは設定不可）</li><li>固定の値を埋め込むため、readonlyより処理速度が速い<br>ただし、ファイルサイズは大きくなる</li><li><strong><span style="color:#b78d4a" class="has-inline-color">デフォルト引数やswitchで使用可能</span></strong></li><li>publicで使用すると<strong><a class="link" href="https://nyanblog2222.com/c-sharp/1299/#const" target="_blank">constのバージョン管理問題</a></strong>があるため、privateでの使用を推奨</li></ul>



<h3 class="wp-block-heading"><span id="toc2">使用例</span></h3>



<pre class="wp-block-code cs"><code>/// &lt;summary>最大数&lt;/summary>
private const int MAX_COUNT = 5;
/// &lt;summary>みかん&lt;/summary>
private const string MIKAN = "みかん";

// 例：for文の条件式で使用
for (int i = 1; i &lt; MAX_COUNT; i++)
{
 // ...処理
}

// switch文の判定で使用
switch (fruits)
{
  case MIKAN:
    return 15;
    break;
  // ...処理
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">readonlyについて</span></h2>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">実行時に決定する</span></strong>読み取り専用変数</li><li><strong><span style="color:#b78d4a" class="has-inline-color">宣言、コンストラクタのどちらかで初期化</span></strong>が可能。<br>（コンストラクタ内で変更も可）</li><li>デフォルト引数やswitchで使用不可</li><li>生成したインスタンスを含め<strong><span style="color:#b78d4a" class="has-inline-color">あらゆる値型や参照型を設定することが可能</span></strong></li><li>constと比べ、ファイルサイズを下げることができるが、処理速度が遅い<br>（どちらも僅かなのでそこまで気にする必要はないと思います。）</li></ul>



<p>readonlyはコンストラクタ内で初期化、変更ができるのが大きな特徴となります。</p>



<h3 class="wp-block-heading"><span id="toc4">使用例</span></h3>



<pre class="wp-block-code cs"><code>class Program
{
    /// &lt;summary>
    /// メイン関数
    /// &lt;/summary>
    /// &lt;param name="args">引数&lt;/param>
    static void Main(string&#91;] args)
    {
        Class1 class1 = new Class1("読み取り専用");

        // コンソール画面に「読み取り専用」と出力
        Console.WriteLine(class1.YOMITORI_SENYOU);
    }
}

class Class1
{
    public readonly string YOMITORI_SENYOU;

    /// &lt;summary>
    /// コンストラクタ
    /// &lt;/summary>
    public Class1(string value)
    {
        YOMITORI_SENYOU = value;
    }
}</code></pre>



<h3 class="wp-block-heading"><span id="toc5">補足</span></h3>



<p>読み取り専用のインスタンス変数という意味では、readonlyを使わず<span style="font-weight: bold; color: rgb(183, 141, 74);" class="has-inline-color">「setアクセサなし」の「getアクセサ」のみのプロパティを作成</span>しても、良いと思います。</p>



<pre class="wp-block-code cs"><code>// 例：setは記述されていないため、読み取り専用になります。
public string Fruits
{
    get { return "みかん"; }
}</code></pre>



<h2 class="wp-block-heading"><span id="toc6">static readonlyについて</span></h2>



<ul class="wp-block-list"><li>constと異なり、<strong><span style="color:#b78d4a" class="has-inline-color">バージョン管理問題が起こらない</span></strong>。</li><li><strong><span style="color:#b78d4a" class="has-inline-color">生成したインスタンス</span></strong>や<strong><span style="color:#b78d4a" class="has-inline-color">コンパイル時に計算できない値</span></strong>でも設定することができます。</li></ul>



<p>他はconstと同様の機能を持っています。</p>



<h3 class="wp-block-heading"><span id="toc7">使用例</span></h3>



<pre class="wp-block-code cs"><code>/// &lt;summary>テーブル一覧&lt;/summary>
public static readonly string&#91;] TABLE_LIST = { "table1", "table2", "table3" };

foreach (string table in TABLE_LIST)
{
    // ..処理
}</code></pre>



<h2 class="wp-block-heading"><span id="toc8">まとめ</span></h2>



<p>いかがでしたでしょうか。</p>



<p>本記事ではconstよりも<strong><span style="color:#b78d4a" class="has-inline-color">static readonly</span></strong>がおすすめさせていただきます。<br>また、読み取り専用のインスタンスとして、<strong><span style="color:#b78d4a" class="has-inline-color">readonly</span></strong>や<strong><span style="color:#b78d4a" class="has-inline-color">getアクセサのみのプロパティ</span></strong>で実行できます。</p>



<p>特にconstとstatic readonlyについては、バージョン管理問題があるため、さまざまな書籍で<strong><span style="color:#b78d4a" class="has-inline-color">static readonly</span></strong>を推奨しています。<br>※ 「実戦で役立つ　C#プログラミングのイディオム／定石＆パターン」etc.</p>



<p>必ずこの記述でないといけない。ということはありませんが、少なくとも<strong><span style="color:#b78d4a" class="has-inline-color">自分やプロジェクトチームではルールを決めて実装することが大事</span></strong>だと思います。</p>



<p>本記事をご覧いただき、ありがとうございました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/1279/">【C#】const、readonly、static readonlyの使い方・違いについて</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/c-sharp/1279/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】簡単に文字をカーブ状に配置するプラグイン【Arctext.js】</title>
		<link>https://nyanblog2222.com/programming/javascript/1233/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1233/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 12 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Arctext]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[カーブ]]></category>
		<category><![CDATA[円形]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1233</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/79.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/79.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/79-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/79-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/79-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />文字をカーブさせるためには、CSSやJavaScriptで一から作成するのはかなり難しいです。今回は、JavaScriptのプラグインを使って、簡単に文字をカーブ状に配置する方法をご紹介します。 目次 プラグインの設定A [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1233/">【JavaScript】簡単に文字をカーブ状に配置するプラグイン【Arctext.js】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/79.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/79.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/79-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/79-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/79-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>文字をカーブさせるためには、CSSやJavaScriptで一から作成するのはかなり難しいです。<br>今回は、JavaScriptのプラグインを使って、簡単に文字をカーブ状に配置する方法をご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-112" checked><label class="toc-title" for="toc-checkbox-112">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">プラグインの設定</a><ol><li><a href="#toc2" tabindex="0">Arctext.jsのファイルをダウンロード</a></li><li><a href="#toc3" tabindex="0">script参照の設定</a></li></ol></li><li><a href="#toc4" tabindex="0">HTML</a></li><li><a href="#toc5" tabindex="0">CSS</a></li><li><a href="#toc6" tabindex="0">JavaScript</a></li><li><a href="#toc7" tabindex="0">Arctext.jsのオプション</a></li><li><a href="#toc8" tabindex="0">デモ</a></li><li><a href="#toc9" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">プラグインの設定</span></h2>



<h3 class="wp-block-heading"><span id="toc2">Arctext.jsのファイルをダウンロード</span></h3>



<p>こちらのページ<strong><a rel="noopener" class="link" href="http://tympanus.net/codrops/2012/01/24/arctext-js-curving-text-with-css3-and-jquery/" target="_blank">[Arctext.js – Curving Text with CSS3 and jQuery]</a></strong>のページから<strong><span style="color:#b78d4a" class="has-inline-color">「Download Source」</span></strong>をクリックしてダウンロードすることができます。<br>このプラグインはCDNには設置されていないので、ダウンロードしてファイルを配置してください。</p>



<p>また、このプラグインはJqueryを使用していますので、CDN設置のアドレスを設定するか、事前にダウンロードして用意してください。</p>



<h3 class="wp-block-heading"><span id="toc3">script参照の設定</span></h3>



<p>先ほどダウンロードしたファイルをhtmlでscript要素で参照設定します。</p>



<pre class="wp-block-code"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js">&lt;/script>
&lt;script src="js/jquery.arctext.js">&lt;/script>
&lt;script src="js/script.js">&lt;/script></code></pre>



<h2 class="wp-block-heading"><span id="toc4">HTML</span></h2>



<p>HTMLでカーブ状にしたい要素に対してidを設定していきます。<br>具体的な設定はJavaScriptで設定します。</p>



<pre class="wp-block-code"><code>&lt;body>
    &lt;p id="sample1">nyanblog javascript&lt;/p>
    &lt;p id="sample2">簡単にカーブにできるよ&lt;/p>
    &lt;p id="sample3">よかったら試してみてね&lt;/p>
    &lt;p id="sample4">文字をまっすぐにできるよ&lt;/p>
&lt;/body></code></pre>



<h2 class="wp-block-heading"><span id="toc5">CSS</span></h2>



<p>CSSで少しスタイルも編集しています。</p>



<pre class="wp-block-code"><code>p {
    text-align: center;
    color: #D09B4A;
    margin: 5rem auto;
    font-weight: bold;
    font-size: 1.6rem;
}

#sample3 {
    margin-top: 16rem;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc6">JavaScript</span></h2>



<p>HTMLで設定したh1~h6要素やp要素に設定したidに対して、arctext関数を使って文字列をどのようにカーブ状にするか、設定します。</p>



<p>この設定は「script.js」ファイルに記述しています。</p>



<pre class="wp-block-code"><code>$(function() {
    $("#sample1").arctext({
        radius : 200,
    });
    
    $("#sample2").arctext({
        radius : 150,
    });
    
    $("#sample3").arctext({
        radius : 150,
        dir: -1,
    });
    
    $("#sample4").arctext({
        radius : 200,
        rotate: false,
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc7">Arctext.jsのオプション</span></h2>



<p>オプションを設定について、こちらの表を参考に設定してみてください。</p>



<figure class="wp-block-table">
    <table>
        <tbody>
            <tr>
                <th class="text-aline-center">オプション</th>
                <th class="text-aline-center">説明</th>
            </tr>
            <tr>
                <th>radius</th>
                <td>サークルの半径（デフォルト：0）</td>
            </tr>
            <tr>
                <th>dir</th>
                <td>方向：1:下にカーブ、-1:上にカーブ（デフォルト：1）</td>
            </tr>
            <tr>
                <th>rotate</th>
                <td>true：文字が中央を向く、false：文字がまっすぐのまま。（デフォルト：true）</td>
            </tr>
            <tr>
                <th>fitText</th>
                <td>[fitText]プラグインを使用する場合、true（デフォルト：false）</td>
            </tr>
        </tbody>
    </table>
</figure>



<h2 class="wp-block-heading"><span id="toc8">デモ</span></h2>



<p>ソースコードに記述している<strong><a class="link" href="https://nyanblog2222.com/demo/arctext/" target="_blank">「デモページはこちら」</a></strong>です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="325" height="502" src="https://nyanblog2222.com/wp-content/uploads/2020/06/c593493fb54c5efe411e6adc3316c991.png" alt="デモページのイメージ" class="wp-image-1262" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/c593493fb54c5efe411e6adc3316c991.png 325w, https://nyanblog2222.com/wp-content/uploads/2020/06/c593493fb54c5efe411e6adc3316c991-194x300.png 194w" sizes="auto, (max-width: 325px) 100vw, 325px" /></figure>



<h2 class="wp-block-heading"><span id="toc9">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回はJavaScriptのプラグインで簡単に文字をカーブ状に表現することができました。<br>これを使うとロゴも簡単にできちゃいそうですね！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1233/">【JavaScript】簡単に文字をカーブ状に配置するプラグイン【Arctext.js】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1233/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Vagrant】自動起動・終了方法（vagrant up/vagrant halt）</title>
		<link>https://nyanblog2222.com/windows/1210/</link>
					<comments>https://nyanblog2222.com/windows/1210/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 11 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Vaurant]]></category>
		<category><![CDATA[windows10]]></category>
		<category><![CDATA[スタートアップ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1210</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/102.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/102.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />パソコンを起動するときにVagrant（仮想サーバー）を毎回手動で起動し、シャットダウン時に終了するのは面倒ですよね。今回はその手間をなくすため、自動的にVagrantを起動・終了する方法を紹介します。実行環境：Wind [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1210/">【Vagrant】自動起動・終了方法（vagrant up/vagrant halt）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/102.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/102.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/102-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>パソコンを起動するときにVagrant（仮想サーバー）を毎回手動で起動し、シャットダウン時に終了するのは面倒ですよね。<br>今回はその手間をなくすため、<span class="marker-yellow">自動的にVagrantを起動・終了する方法</span>を紹介します。<br>実行環境：Windows10</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-114" checked><label class="toc-title" for="toc-checkbox-114">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Vagrant自動起動方法



</a><ol><li><a href="#toc2" tabindex="0">BAT（バッチ）ファイル作成</a></li><li><a href="#toc3" tabindex="0">スタートアップを表示する</a><ol><li><a href="#toc4" tabindex="0">エクスプローラから起動</a></li><li><a href="#toc5" tabindex="0">ファイル名を指定して実行　から起動</a></li></ol></li><li><a href="#toc6" tabindex="0">スタートアップに設定</a></li></ol></li><li><a href="#toc7" tabindex="0">Vagrant自動終了方法</a></li><li><a href="#toc8" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">Vagrant自動起動方法



</span></h2>
<p>Vagrantを自動起動するには、起動コマンドを記述したBATファイルをスタートアップフォルダに保存することで実現できます。</p>



<h3 class="wp-block-heading"><span id="toc2">BAT（バッチ）ファイル作成</span></h3>



<p>起動時に処理するBATファイルを作成します。<br>以下をメモ帳などのテキストエディタにコピペし、ファイルの拡張子は「bat」にしてください。</p>



<p>ファイル：vagrant_start.bat</p>



<pre class="wp-block-code dos"><code>cd &#91;Vagrant_Path]
vagrant up</code></pre>



<p><p><strong><span style="color: #b78d4a;" class="has-inline-color">[Vagrant_Path]</span></strong>：ファイルが存在するディレクトリ</p>
<h3><span id="toc3">スタートアップを表示する</span></h3></p>



<p><p>作成したBATファイルをスタートアップに設定するために、スタートアップフォルダを表示します。</p>
<p>表示方法を２つ紹介しますが、どちらの方法でも結構です。</p></p>



<h4 class="wp-block-heading"><span id="toc4">エクスプローラから起動</span></h4>



<p>エクスプローラから起動する場合、エクスプローラのアドレスバーにこちらのパスを入力してください。</p>



<pre class="wp-block-code dos"><code>C:\Users\「UserName」\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup</code></pre>



<p><strong class="brown_color">「UserName」</strong>：PCにログインしているユーザ名</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="583" height="378" src="https://nyanblog2222.com/wp-content/uploads/2020/06/SnapCrab_PC_2020-6-10_22-45-41_No-00-min.png" alt="エクスプローラからスタートアップを起動" class="wp-image-1226" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/SnapCrab_PC_2020-6-10_22-45-41_No-00-min.png 583w, https://nyanblog2222.com/wp-content/uploads/2020/06/SnapCrab_PC_2020-6-10_22-45-41_No-00-min-300x195.png 300w" sizes="auto, (max-width: 583px) 100vw, 583px" /></figure>



<p>もしくはアドレスバーに「スタートアップ」と入力して、エンターを押しても表示できます。</p>
<h4 class="wp-block-heading"><span id="toc5">ファイル名を指定して実行　から起動</span></h4>



<p>ファイル名を指定して実行する場合、<br><strong><span style="color: #b78d4a;" class="has-inline-color">１．「windowsキー」+「R」を入力<br>２．「shell:startup」と入力<br>３．「OK」をクリック</span></strong><br>すると、フォルダが表示されます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="412" height="223" src="https://nyanblog2222.com/wp-content/uploads/2020/06/1480eab0abcc1aac74648a964e833b1d.png" alt="ファイル名を指定して実行" class="wp-image-1225" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/1480eab0abcc1aac74648a964e833b1d.png 412w, https://nyanblog2222.com/wp-content/uploads/2020/06/1480eab0abcc1aac74648a964e833b1d-300x162.png 300w" sizes="auto, (max-width: 412px) 100vw, 412px" /></figure>



<p>どちらからでも、このようにスタートアップのフォルダを表示できます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="572" height="403" src="https://nyanblog2222.com/wp-content/uploads/2020/06/64935f655ed853160d6d6cd71d0f1b6a.png" alt="" class="wp-image-1224" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/64935f655ed853160d6d6cd71d0f1b6a.png 572w, https://nyanblog2222.com/wp-content/uploads/2020/06/64935f655ed853160d6d6cd71d0f1b6a-300x211.png 300w" sizes="auto, (max-width: 572px) 100vw, 572px" /></figure>



<h3 class="wp-block-heading"><span id="toc6">スタートアップに設定</span></h3>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">「Bat（バッチ）ファイルの作成」</span></strong>で作成したファイルをスタートアップのフォルダに置きます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="572" height="403" src="https://nyanblog2222.com/wp-content/uploads/2020/06/550d897c65f2c6ea7fcac0ccd49f2c2b.png" alt="スタートアップにバッチファイルを配置" class="wp-image-1229" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/550d897c65f2c6ea7fcac0ccd49f2c2b.png 572w, https://nyanblog2222.com/wp-content/uploads/2020/06/550d897c65f2c6ea7fcac0ccd49f2c2b-300x211.png 300w" sizes="auto, (max-width: 572px) 100vw, 572px" /></figure>



<p>これで次回からパソコンを起動したときにVagrantを自動的に起動することができます。</p>



<h2 class="wp-block-heading"><span id="toc7">Vagrant自動終了方法</span></h2>



<p>終了時も、以下のBATファイルで<strong><span style="color: #b78d4a;" class="has-inline-color">Vagrantを終了できます</span></strong>。</p>



<p>ファイル名：vagrant_close.bat</p>



<pre class="wp-block-code dos"><code>cd &#91;Vagrant_Path]
vagrant halt</code></pre>



<p><p>BATファイルをシャットダウン時に実行する方法は、以下のどちらかを参考にしてください。</p> <p>・「ローカルグループポリシーで設定」する方法</p></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1422/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/105-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/105-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（2）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法1つめとして、「バッチファイルにシャットダウンのコマンドを設定」する方法をご紹介しました。今回は「ローカルグループポリシーで設定」する方法をご紹介します。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.21</div></div></div></div></a>
</div></figure>



<p><p>・「タスクスケジューラーで設定」する方法</p></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/windows/1449/" title="【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/106-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/106-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/106-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Windows10】シャットダウン時にバッチやプログラムを実行してから終了する方法（3）</div><div class="blogcard-snippet internal-blogcard-snippet">前回はタイトルの方法2つめとして、「ローカルグループポリシーで設定」する方法をご紹介しました。今回はシャットダウン時に実行するプログラムの設定をタスクスケジューラーで行う方法をご紹介します。まずは、タスクスケジューラを表示させます。「Windows」キーを右クリックし、「コンピューターの管理」をクリックし...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.23</div></div></div></div></a>
</div></figure>



<h2 class="wp-block-heading"><span id="toc8">最後に</span></h2>



<p><p>今回は自動的にVagrantを起動・終了する方法を紹介しました。</p>
<p>何かの参考になれば幸いです。それでは♪</p></p>
<p>投稿 <a href="https://nyanblog2222.com/windows/1210/">【Vagrant】自動起動・終了方法（vagrant up/vagrant halt）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/windows/1210/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/1194/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1194/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 09 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[ビンゴ]]></category>
		<category><![CDATA[ランダム]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1194</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/63.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/63.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はJavaScriptを使って、ビンゴカードを作成してみました。 今回はビンゴマシンを作成してみましょう！ 目次 HTMLCSSJavaScriptデモまとめ HTML まずはHTMLを作成しています。d [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1194/">【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/63.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/63.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はJavaScriptを使って、ビンゴカードを作成してみました。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1016/" title="【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/62-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/62-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）を使ってビンゴカードを作ってみました。作成にはJqueryを使用しています。コピペで使えるソースコードや、実際のビンゴカードのサンプル付きなので、是非動かして試してみてくださいね♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.31</div></div></div></div></a>
</div></figure>



<p>今回はビンゴマシンを作成してみましょう！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-116" checked><label class="toc-title" for="toc-checkbox-116">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTML</a></li><li><a href="#toc2" tabindex="0">CSS</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモ</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTML</span></h2>



<p>まずはHTMLを作成しています。<br>divのwrapperで全体的に囲み、<br>・ルーレット div要素<br>・ルーレットの開始・停止ボタン div要素<br>・ルーレット停止後、出た数字を一覧で追加する枠 ul要素<br>で作成しています。</p>



<pre class="wp-block-code html"><code>// 全体的な枠
&lt;div class="wrapper"&gt;
    // ルーレット
    &lt;div id="result" class="result centering"&gt;&lt;/div&gt;
    // ルーレット開始、停止のボタン
    &lt;div class="wrapper-button"&gt;
        &lt;button id="button" class="button"&gt;START&lt;/button&gt;
    &lt;/div&gt;
    // ルーレットを停止後、出た数字を一覧で表示
    &lt;ul id="number" class="number"&gt;&lt;/ul&gt;
&lt;/div&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSS</span></h2>



<p>こちらがCSSです。<br>HTMLで設定した要素に対して、スタイルを設定していきます。<br>この辺りはコピペで好きなところを調整してもいいと思います！</p>



<pre class="wp-block-code css"><code>@charset "utf-8";

body {
    font-family: arial, sans-serif;
}

.wrapper {
    margin: 0 auto;
    text-align: center;
}

.centering {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}

/* ルーレット */
.result {
    border: solid 1px #B78D4A;
    border-radius: 50%;
    font-size: 70px;
    
    margin-bottom: 20px;
    width: 130px;
    height: 130px;
}

/* 出た数字の一覧 */
.number {
    color: #B78D4A;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 auto;
    list-style: none;
    width: 80%;
    padding: 0;
}

.number li {
    background-color: #B78D4A;
    color: #fff;
    border-radius: 10px;
    height: 40px;
    margin: 4px;
    width: 40px;
}

/* ボタン */
.wrapper-button {
    padding: 20px 0;
}

.button {
    font-size: 30px;
    display: inline-block;
    padding: .8rem 1.6rem;
    border: none;
    border-radius: 25px;
    color: #FFF;
    background-image: linear-gradient(45deg, #B78D4A 0%, #D4BB92 100%);
}

.button:hover {
    background-image: linear-gradient(45deg, #D4BB92 0%, #FDE0A5 100%);
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>Jqueryを使っています。</p>



<p>まずは、ビンゴの数字一覧を作成します。この一覧を使ってルーレットを回します。</p>



<p>次にSTARTとSTOPのクリックイベントでルーレットを回したり、結果を表示させたりします。<br>詳しくはコメントを記載していますので、確認してください。</p>



<pre class="wp-block-code javascript"><code>$(function () {

    // 1~75まで、bingoの数字一覧を作成
    var max = 75;
    var bingo = &#91;];
    for (var i = 1; i &lt;= max; i++) {
        bingo.push(i);
    }

    var timer;
    var random;
    // START・STOPボタンクリックのイベント
    $("#button").on("click", function () {
        // START
        if ($(this).text() == "START") {
            // ボタンのテキストを"STOP"に変更
            $(this).text("STOP");

            // ルーレットタイマーを設定
            timer = setInterval(function () {
                random = Math.floor(Math.random() * bingo.length);
                $("#result").text(bingo&#91;random]);
            }, 10);
        // STOP
        } else {
            // ボタンのテキストを"START"に変更
            $(this).text("START");

            // ルーレットタイマーを停止
            clearInterval(timer);

            // 停止時の数字を結果に反映
            var result = bingo&#91;random];
            // 一覧から削除（次のルーレットに表示させないため）
            bingo.splice(random, 1);

            // 数字一覧に追加
            $("#number").append($("&lt;li&gt;").text(result));
            $("#number li").addClass("centering");
        }
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモ</span></h2>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/bingo2/" target="_blank">こちらがデモページ</a></strong>です。<br>STARTボタンをクリックしてルーレットが開始、一定時間後にSTOPボタンをクリックすることで、数字を止めることができます。</p>



<p>ボタンの下に今まで出た数字が一覧で表示されるので、カードを再チェックするときに活用することができます。</p>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>前回のビンゴカードと合わせることで、<br>ビンゴゲームをすることができます。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/1016/" title="【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/62-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/62-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JavaScript（JS）を使ってビンゴカードを作ってみました。作成にはJqueryを使用しています。コピペで使えるソースコードや、実際のビンゴカードのサンプル付きなので、是非動かして試してみてくださいね♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.31</div></div></div></div></a>
</div></figure>



<p>これならカードをビンゴゲーム一式を購入する必要もないので、簡単に遊ぶことができます。<br>良かったら遊んでみてくださいね！</p>



<p>良かったら他の記事も見てみてくださいね！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1194/">【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1194/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>＜input type=&#8221;file&#8221;＞で読み込んだ画像を表示させよう【JavaScript】</title>
		<link>https://nyanblog2222.com/programming/javascript/1132/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1132/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 05 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[input要素]]></category>
		<category><![CDATA[画像表示]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1132</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />前回は、＜input type = &#8220;file&#8221;＞で選択するボタンの装飾について説明しました。詳しくは、こちらをご覧ください。 今回はinput要素で読み込んだ画像を表示させてみようと思います。そ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1132/">＜input type=&#8221;file&#8221;＞で読み込んだ画像を表示させよう【JavaScript】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>前回は、＜input type = &#8220;file&#8221;＞で選択するボタンの装飾について説明しました。<br>詳しくは、こちらをご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/html-css/1102/" title="ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&quot;file&quot;＞" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/90-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/90-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">ファイルを選択するボタンの画像やスタイルを設定する方法＜input type="file"＞</div><div class="blogcard-snippet internal-blogcard-snippet">input要素において、「確認する」ボタンを でsrc属性に画像のパスを設定すると、「確認する」ボタンを画像に設定することができます。しかし、ファイルを選択するinput要素では、既にtype = &quot;file&quot;が設定されているため、少し工夫が必要になります！今回は選択ボタンの画像やスタイルの変更をいく...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.03</div></div></div></div></a>
</div></figure>



<p><br>今回はinput要素で読み込んだ画像を表示させてみようと思います。<br>それでは、img要素とdiv要素それぞれのパターンでみていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-118" checked><label class="toc-title" for="toc-checkbox-118">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【サンプル1】img要素に出力</a></li><li><a href="#toc2" tabindex="0">【サンプル2】div要素に出力</a></li><li><a href="#toc3" tabindex="0">デモ</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【サンプル1】img要素に出力</span></h2>



<p>まずは、img要素に出力してみます。<br>input要素、type=&#8221;file&#8221;では、<strong><span style="color:#b78d4a" class="has-inline-color">ファイルを選択後、onchangeのイベントが呼ばれます</span></strong>。<br>JavaScriptでは、<strong><span style="color:#b78d4a" class="has-inline-color">on(&#8220;change&#8221;, function())関数</span></strong>です。</p>



<p>HTMLではinput要素とimg要素を宣言します。</p>



<pre class="wp-block-code html"><code>&lt;input type="file" id="input1"/&gt;
&lt;img id="sample1"&gt;</code></pre>



<p>JavaScriptに1～4の内容を記述します。</p>



<p>1. ファイル選択後に呼ばれるイベントを記述<br>2. イベント内で画像ファイルの読み込みクラスを設定<br>3. 読み込みクラスの準備が終わったらimg要素のsrc属性に画像ファイルの情報を設定<br>4. 読み込んだ画像ファイルをURLに変換</p>



<pre class="wp-block-code javascript"><code>// 1. ファイル選択後に呼ばれるイベント
$("#input1").on("change", function (e) {

    // 2. 画像ファイルの読み込みクラス
    var reader = new FileReader();

    // 3. 準備が終わったら、id=sample1のsrc属性に選択した画像ファイルの情報を設定
    reader.onload = function (e) {
        $("#sample1").attr("src", e.target.result);
    }

    // 4. 読み込んだ画像ファイルをURLに変換
    reader.readAsDataURL(e.target.files&#91;0]);
});</code></pre>



<h2 class="wp-block-heading"><span id="toc2">【サンプル2】div要素に出力</span></h2>



<p>次はdiv要素に画像ファイルを出力してみます。<br>JavaScriptの記述方法も変えてみました。</p>



<p>先ほどと異なり、input要素の<strong><span style="color:#b78d4a" class="has-inline-color">onchange属性にOutputImage関数を設定</span></strong>しています。</p>



<pre class="wp-block-code html"><code>&lt;input type="file" id="input2" onchange="OutputImage(this);"/>
&lt;div id="sample2">&lt;/div></code></pre>



<p>JavaScriptではサンプル1と同様、ファイル読み込みクラスを使用して、画像を表示させます。<br>サンプル1と異なるのはImageクラスを使って、<strong><span style="color:#b78d4a" class="has-inline-color">heightとwidthの設定を追加</span></strong>しています。</p>



<p>1. input要素のonchange属性に関数を設定<br>2. イベント内で画像ファイルの読み込みクラスを設定<br>3. 読み込みクラスの準備が終わったら画像の情報を設定<br>4. Imageクラスに読み込んだ画像の情報を設定し、div要素に読み込んだ画像の縦・横のサイズを設定<br>5. backgroundスタイルを設定<br>6. 読み込んだ画像ファイルをURLに変換</p>



<pre class="wp-block-code javascript"><code>// 1. onchange属性に設定した関数
function OutputImage(target)
{
    // 2. ファイル読み込みクラス
    var reader = new FileReader();

    // 3. 読み込みクラスの準備が終わった後、画像の情報を設定
    reader.onload = function () {
        $sample2 = $("#sample2");

        // 4. Imageクラスを使ってdiv要素に画像のheightとwidthのサイズを設定
        img = new Image();
        img.src = this.result;
        img.onload = function() {
            $sample2.css("width", img.naturalWidth);
            $sample2.css("height", img.naturalHeight);
        }
        // 5. backgroundスタイルを設定
        $sample2.css("background", "url(" + this.result + ") center center / contain no-repeat");
    }
    // 6. 読み込んだ画像ファイルをURLに変換
    reader.readAsDataURL(target.files&#91;0]);
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">デモ</span></h2>



<p>こちらがサンプル1とサンプル2のデモです。<br>内容は一緒ですが、出力方法や要素がimgかdivであることが異なります。</p>



<style type="text/css">
        #demo > div {
margin: 1rem;
}

        #demo p {
margin: 0;
}

#demo input {
height: auto;
    padding: 0;
border: none;
}
    </style>

<div id="demo">
           
        <div>
            <p>サンプル1</p>
            <input type="file" id="input1">
            <img id="sample1">
        </div>
        
        <div>
            <p>サンプル2</p>
            <input type="file" id="input2" onchange="OutputImage(this);">
            <div id="sample2"></div>
        </div>
        
        </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script type="text/javascript">
        $("#input1").on("change", function (e) {
            var reader = new FileReader();
            reader.onload = function (e) {
                $("#sample1").attr("src", e.target.result);
            }
            reader.readAsDataURL(e.target.files[0]);
        });
        
        function OutputImage(target)
        {
            var reader = new FileReader();
            reader.onload = function () {
                $sample2 = $("#sample2");
                img = new Image();
                img.src = this.result;
                img.onload = function() {
                    $sample2.css("width", img.naturalWidth);
                    $sample2.css("height", img.naturalHeight);
                }
                $sample2.css("background", "url(" + this.result + ") center center / contain no-repeat");
            }
            reader.readAsDataURL(target.files[0]);
        }
    </script>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>今回はinput type=file要素で取得した画像ファイルを出力する方法を説明していきました。<br>divに関して、今回例で試してみただけなので、別の要素でも試してみてください。<br>次回は複数ファイルを読み込んで出力してみましょう。</p>



<p>本記事をご覧いただきありがとうございました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1132/">＜input type=&#8221;file&#8221;＞で読み込んだ画像を表示させよう【JavaScript】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1132/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&#8221;file&#8221;＞</title>
		<link>https://nyanblog2222.com/programming/html-css/1102/</link>
					<comments>https://nyanblog2222.com/programming/html-css/1102/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 03 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[input要素]]></category>
		<category><![CDATA[ファイルを選択]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1102</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />input要素において、「確認する」ボタンを ＜input type = &#8220;image&#8221;＞ でsrc属性に画像のパスを設定すると、「確認する」ボタンを画像に設定することができます。 しかし、ファイ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/1102/">ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&#8221;file&#8221;＞</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>input要素において、「確認する」ボタンを ＜input type = &#8220;image&#8221;＞ でsrc属性に画像のパスを設定すると、「確認する」ボタンを画像に設定することができます。</p>



<p>しかし、ファイルを選択するinput要素では、既にtype = &#8220;file&#8221;が設定されているため、少し工夫が必要になります！<br>今回は選択ボタンの画像やスタイルの変更をいくつかの方法でご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-120" checked><label class="toc-title" for="toc-checkbox-120">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【サンプル1】ボタンを画像に設定する</a></li><li><a href="#toc2" tabindex="0">ボタンのスタイルを変更</a><ol><li><a href="#toc3" tabindex="0">【サンプル2】&lt;label&gt;で囲んでスタイルを設定</a></li><li><a href="#toc4" tabindex="0">【サンプル3】CSSとJavaScriptを使ってスタイルを変更</a></li></ol></li><li><a href="#toc5" tabindex="0">デモ</a></li><li><a href="#toc6" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【サンプル1】ボタンを画像に設定する</span></h2>



<p>ボタンを画像にする方法について、<br>HTMLでは、<strong><span style="color:#b78d4a" class="has-inline-color">input要素をlabel要素</span></strong>で囲みます。</p>



<pre class="wp-block-code html"><code>&lt;label id="sample1"&gt;
   &lt;input type="file"/&gt;
&lt;/label&gt;</code></pre>



<p>CSSでlabel要素に画像を設定します。<br>他にもサイズやポインタなど、スタイルを変更しておきましょう。</p>



<p>デフォルトでinput要素はボタンが出力されるので、display: none; で表示を消しておきます。</p>



<p>また、hoverの疑似クラスで別の画像を設定しておくと、少し動きが出ますね。</p>



<pre class="wp-block-code css"><code><strong>#sample1</strong> {
    // サイズを設定
    height: 54px;
    width: 150px;

    // ボタンにする画像を設定
    background: url(../img/sample1.png) center center / contain no-repeat;

    // インラインボックスに設定
    display: inline-block;
    // マウスカーソルを当てた時、ポインタに設定
    cursor: pointer;
}

<strong>#sample1</strong>:hover {
    background: url(../img/sample1_hover.png) center center / contain no-repeat;
}

<strong>#sample1</strong> <strong>input</strong>{
    // デフォルトのinputは出力なし
    display: none;
}</code></pre>



<p>また、今回はサンプルなので簡単な画像なのですが、<br>この程度の画像の動きであればスタイルでも実現可能です。</p>



<h2 class="wp-block-heading"><span id="toc2">ボタンのスタイルを変更</span></h2>



<h3 class="wp-block-heading"><span id="toc3">【サンプル2】&lt;label&gt;で囲んでスタイルを設定</span></h3>



<p>先ほどの画像の設定と同様にinput要素をlabel要素で囲みます。</p>



<pre class="wp-block-code html"><code>&lt;label id="sample2">
   &lt;input type="file"/>
&lt;/label></code></pre>



<p>続いて、今度はlabel要素をCSSで設定していきます。</p>



<pre class="wp-block-code css"><code>#sample2 {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  background: #00BCD4;/*背景色*/
  color: #00BCD4;/*=背景色*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2);
  border-bottom: solid 2px #118e9e;
  border-radius: 4px;
  font-weight: bold;
  text-shadow: -1px -1px rgba(255, 255, 255, 0.44), 1px 1px rgba(0, 0, 0, 0.38);
  cursor: pointer;
}

#sample2:active {
  /*押したとき*/
  border-bottom: solid 2px #00BCD4;
  box-shadow: none;
  text-shadow: -1px -1px rgba(255, 255, 255, 0.3), 1px 1px rgba(0, 0, 0, 0.3);
}

#sample2 input{
    // デフォルトのinputは出力なし
    display: none;
}</code></pre>



<h3 class="wp-block-heading"><span id="toc4">【サンプル3】CSSとJavaScriptを使ってスタイルを変更</span></h3>



<p>次はdiv要素でボタンを作成し、CSSで装飾を付けます。<br>input要素はサンプル2と同様、出力しないようにします。</p>



<pre class="wp-block-code html"><code>&lt;div id="sample3">ファイルを選択&lt;/div>
&lt;input type="file" id="sample3_input"/></code></pre>



<pre class="wp-block-code css"><code>#sample3 {
    position: relative;
    display: inline-block;
    padding: 0.75em 1.25em;
    text-decoration: none;
    color: #FFF;
    background: #03A9F4;/*色*/
    border: solid 1px #0f9ada;/*線色*/
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);
    cursor: pointer;
}

#sample3:active {
    border: solid 1px #03A9F4;
    box-shadow: none;
    text-shadow: none;
}

#sample3 input{
    // デフォルトのinputは出力なし
    display: none;
}</code></pre>



<p>JavaScriptでdiv要素をクリックしたときに、input要素をクリックしたイベントを呼び出します。<br>今回はJQueryで記述しています。</p>



<pre class="wp-block-code javascript"><code>$(function () {
    $('#sample3').click(function() {
        $('#sample3_input').trigger('click');
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc5">デモ</span></h2>



<p>今までのサンプルそれぞれのデモです。<br>ボタンをクリックするとダイアログが表示されますが、ファイルを選択しても何も起こりません。</p>



<style type="text/css">
#demo > div {
margin: 1rem;
}

        #demo p {
margin: 0;
}

#demo input {
height: auto;
    padding: 0;
border: none;
}

#sample1 {
height: 54px;
width: 150px;
background: url(https://nyanblog2222.com/wp-content/uploads/2020/06/sample1.png) center center / contain no-repeat;
display: inline-block;
cursor: pointer;
}

#sample1:hover {
background: url(https://nyanblog2222.com/wp-content/uploads/2020/06/sample1_hover.png) center center / contain no-repeat;
}

#sample1 input,
#sample2 input,
#sample3_input {
display: none;
}

#sample2 {
position: relative;
display: inline-block;
padding: 0.75em 1.25em;
text-decoration: none;
background: #fd9535;/*背景色*/
color: #d27d00;/*=背景色*/
box-shadow: inset 0 2px 0 rgba(255,255,255,0.2);
border-bottom: solid 2px #d27d00;
border-radius: 4px;
font-weight: bold;
text-shadow: -1px -1px rgba(255, 255, 255, 0.44), 1px 1px rgba(0, 0, 0, 0.38);
cursor: pointer;
}

#sample2:active {
border-bottom: solid 2px #fd9535;
box-shadow: none;
text-shadow: -1px -1px rgba(255, 255, 255, 0.3), 1px 1px rgba(0, 0, 0, 0.3);
}

#sample3 {
position: relative;
display: inline-block;
padding: 0.75em 1.25em;
text-decoration: none;
color: #FFF;
background: #03A9F4;/*色*/
border: solid 1px #0f9ada;/*線色*/
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
text-shadow: 0 1px 0 rgba(0,0,0,0.2);
margin: 0;
cursor: pointer;
}

#sample3:active {
/*押したとき*/
border: solid 1px #03A9F4;
box-shadow: none;
text-shadow: none;
}

    </style>
   
    <div id="demo">
        <div>
            <p>デフォルト</p>
            <input type="file">
        </div>
           
        <div>
            <p>サンプル1</p>
            <label id="sample1">
                <input type="file">
            </label>
        </div>
        
        <div>
            <p>サンプル2</p>
            <label id="sample2">ファイルを選択
                <input type="file">
            </label>
        </div>
        
        <div>
            <p>サンプル3</p>
            <div id="sample3">ファイルを選択</div>
            <input type="file" id="sample3_input">
        </div>
        </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#sample3').click(function() {
                $('#sample3_input').trigger('click');
            });
        });
    </script>



<h2 class="wp-block-heading"><span id="toc6">まとめ</span></h2>



<p>今回はinput要素でファイル選択ボタンのスタイルを変更や、画像の設定を行いました。</p>



<p>ぜひ色々試してみてくださいね！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/1102/">ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&#8221;file&#8221;＞</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/1102/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】非同期処理と処理の順番について【初心者・入門】</title>
		<link>https://nyanblog2222.com/programming/javascript/984/</link>
					<comments>https://nyanblog2222.com/programming/javascript/984/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 02 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[同期処理]]></category>
		<category><![CDATA[非同期処理]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=984</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/78.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/78.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />JavaScriptは同期的でシングルスレッドの処理で実行されていますが、非同期処理が可能な言語です。ここでは、非同期処理と同期処理・スレッドについてまず説明し、その後処理の順番について説明していきます。 目次 同期処理 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/984/">【JavaScript】非同期処理と処理の順番について【初心者・入門】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/78.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/78.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/78-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>JavaScriptは同期的でシングルスレッドの処理で実行されていますが、非同期処理が可能な言語です。<br>ここでは、<strong><span style="color:#b78d4a" class="has-inline-color">非同期処理と同期処理・スレッド</span></strong>についてまず説明し、その後<strong><span style="color:#b78d4a" class="has-inline-color">処理の順番</span></strong>について説明していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-122" checked><label class="toc-title" for="toc-checkbox-122">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">同期処理と非同期処理</a><ol><li><a href="#toc2" tabindex="0">同期処理</a></li><li><a href="#toc3" tabindex="0">非同期処理</a></li></ol></li><li><a href="#toc4" tabindex="0">スレッドについて</a></li><li><a href="#toc5" tabindex="0">処理の順番</a></li><li><a href="#toc6" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">同期処理と非同期処理</span></h2>



<h3 class="wp-block-heading"><span id="toc2">同期処理</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">同期処理はプログラムの記述順に1つずつ実行</span></strong>されます。<br>そのため、次の処理は前の処理が終わらないと実行することができません。</p>



<h3 class="wp-block-heading"><span id="toc3">非同期処理</span></h3>



<p>非同期処理は同期処理と異なり<strong><span style="color:#b78d4a" class="has-inline-color">処理が実行する準備をしている空き時間の間に、別の処理を実行</span></strong>することができます。</p>



<p>この説明だけだと、<strong><span style="color:#b78d4a" class="has-inline-color">非同期処理は並列で色んな処理ができるってこと？</span></strong>と思うかもしれません。</p>



<p>答えは　<strong><span style="color:#b78d4a" class="has-inline-color">「No」</span></strong>　です。</p>



<p>あくまで、準備している空き時間を活用しているだけなので、並列で複数の処理ができるわけではありません。<br><strong><span style="color:#b78d4a" class="has-inline-color">並列処理を行うためにはマルチスレッドで処理を実行</span></strong>する必要がありますが、<strong><span style="color:#b78d4a" class="has-inline-color">JavaScriptはシングルスレッド</span></strong>で動きますので、<strong><span style="color:#b78d4a" class="has-inline-color">並列処理ではなく、並行処理</span></strong>と言えます。</p>



<p>並列処理と並行処理の違いはこちらです。</p>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">並列処理</span></strong><br>物理的に<strong><span style="color:#b78d4a" class="has-inline-color">複数の処理を同時に実行</span></strong>することができる</li><li><strong><span style="color:#b78d4a" class="has-inline-color">並行処理</span></strong><br>常に<strong><span style="color:#b78d4a" class="has-inline-color">1つの処理のみ実行</span></strong>しているが、タイミングを見計らって<strong><span style="color:#b78d4a" class="has-inline-color">処理を切り替えて処理を効率よく実行</span></strong>する<br><strong><span style="color:#b78d4a" class="has-inline-color">同時に実行しているように見せかけている</span></strong></li></ul>



<h2 class="wp-block-heading"><span id="toc4">スレッドについて</span></h2>



<p>先ほど<strong><span style="color:#b78d4a" class="has-inline-color">シングルスレッド</span></strong>と<strong><span style="color:#b78d4a" class="has-inline-color">マルチスレッド</span></strong>について話が出てきましたが、<strong><span style="color:#b78d4a" class="has-inline-color">スレッド</span></strong>とは何でしょうか。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">スレッド</span></strong>とは、1つ1つ実行する処理を表します。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">シングルスレッド</span></strong>はその名の通り1つの処理を実行することができます。</p>



<p>対し、<strong><span style="color:#b78d4a" class="has-inline-color">マルチスレッド</span></strong>は複数の処理を実行することができます。</p>



<p>これを先ほどの並列処理と並行処理に当てはめると、このようになります。</p>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">並列処理</span></strong>・・・マルチスレッドで実行</li><li><strong><span style="color:#b78d4a" class="has-inline-color">並行処理</span></strong>・・・シングルスレッドで実行</li></ul>



<p>JavaScriptは<strong><span style="color:#b78d4a" class="has-inline-color">シングルスレッド</span></strong>のため、<strong><span style="color:#b78d4a" class="has-inline-color">並行処理をしている</span></strong>ことになりますね。</p>



<h2 class="wp-block-heading"><span id="toc5">処理の順番</span></h2>



<p>さて先述のようにJavaScriptはシングルスレッドであることが理解できましたが、並行処理をしているということは、<strong><span style="color:#b78d4a" class="has-inline-color">処理の順番が入れ替わってしまうこと</span></strong>があります。</p>



<p>JavaScriptは<strong><span style="color:#b78d4a" class="has-inline-color">上から順番でキューに関数を登録し、処理</span></strong>しています。<br>しかし、処理が同期的なものと非同期的なものによって、順番が入れ替わることがあります。</p>



<p>＜上から順番に処理する＞</p>



<pre class="wp-block-code javascript"><code>console.log("one");
console.log("two");
console.log("three");</code></pre>



<p>実行結果</p>



<pre class="wp-block-code plaintext"><code>one
two
three</code></pre>



<p>＜順番が入れ替わっている＞</p>



<pre class="wp-block-code javascript"><code>console.log("one");
setTimeout(function(){console.log("two")}, 0);
console.log("three");</code></pre>



<p>実行結果</p>



<pre class="wp-block-code plaintext"><code>one
three
two</code></pre>



<p>順番が入れ替わっているパターンでは<strong><span style="color:#b78d4a" class="has-inline-color">「setTimeout」関数のタイマーを0ミリ秒で設定</span></strong>しています。<br>ここで不思議なのは、タイマーは0ミリ秒…つまり待ち時間なしで実行するように記述されていますが、実際の実行結果はone→<strong><span style="color:#b78d4a" class="has-inline-color">three→two</span></strong>と<strong><span style="color:#b78d4a" class="has-inline-color">2行目と3行目の順番が入れ替わって</span></strong>います。</p>



<p>キューに登録されているのは、<br>　1. ログ表示　&#8221;one&#8221;<br>　2. タイマー登録　0ミリ秒<br>　3. ログ表示　&#8221;three&#8221;<br>この3つの処理になります。<br>つまり、この時点では、<strong><span style="color:#b78d4a" class="has-inline-color">「ログ表示　&#8221;two&#8221;」はキューにまだ登録されていない</span></strong>のです。</p>



<p>では、いつ「ログ表示　&#8221;two&#8221;」はキューに登録されるのか？</p>



<p>それは、<strong><span style="color:#b78d4a" class="has-inline-color">同期処理が全て終わってから</span></strong>です。</p>



<p>なので、キューの登録の順番は、<br>同期処理<br>　1. ログ表示　&#8221;one&#8221;<br>　2. タイマー登録　0ミリ秒<br>　3. ログ表示　&#8221;three&#8221;<br>同期処理の登録完了後、非同期処理<br>　<strong><span style="color:#b78d4a" class="has-inline-color">4.ログ表示　&#8221;two&#8221;</span></strong><br>となります。</p>



<p>だから先ほどの実行結果のように、順番が入れ替わります。</p>



<h2 class="wp-block-heading"><span id="toc6">まとめ</span></h2>



<p>今回はJavaScriptの<strong><span style="color:#b78d4a" class="has-inline-color">非同期処理と同期処理、処理の順番</span></strong>について、説明していきました。<br>JavaScriptで開発するためには、このあたりをまず始めに理解しておきたいところですね！</p>



<p>非同期処理を同期的に処理する方法については、<br>別の記事にしたいと思います。<br>ご覧いただき、ありがとうございました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/984/">【JavaScript】非同期処理と処理の順番について【初心者・入門】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/984/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access】無作為抽出（ランダム・サンプリング）[Rnd,VBA他]</title>
		<link>https://nyanblog2222.com/programming/899/</link>
					<comments>https://nyanblog2222.com/programming/899/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 01 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Rnd関数]]></category>
		<category><![CDATA[無作為抽出]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=899</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/32.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/32.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/32-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/32-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/32-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、Access無作為抽出の方法をいくつかご紹介します。 無作為抽出とは、ある母集団から、ランダム（無作為）にサンプルを抽出する方法です。使う状況でいえば、例えば企業の市場リサーチを目的としたアンケート等がありますね [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/899/">【Access】無作為抽出（ランダム・サンプリング）[Rnd,VBA他]</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/32.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/32.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/32-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/32-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/32-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、Access無作為抽出の方法をいくつかご紹介します。</p>



<p>無作為抽出とは、<strong><span style="color:#b78d4a" class="has-inline-color">ある母集団から、ランダム（無作為）にサンプルを抽出する方法</span></strong>です。<br>使う状況でいえば、例えば企業の市場リサーチを目的としたアンケート等がありますね！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-124" checked><label class="toc-title" for="toc-checkbox-124">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Rnd関数を使った方法</a><ol><li><a href="#toc2" tabindex="0">クエリから引数なしで呼び出す（失敗例）</a></li><li><a href="#toc3" tabindex="0">方法１：Rnd関数引数あり、RandomizeのみVBA</a></li><li><a href="#toc4" tabindex="0">方法２：VBAで一括ランダム値挿入（マクロ実行）</a></li></ol></li><li><a href="#toc5" tabindex="0">テーブル定義のオートナンバー型（ランダム）を使った方法</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Rnd関数を使った方法</span></h2>



<p>Rnd関数は<strong><span style="color:#b78d4a" class="has-inline-color">「Rnd(引数)」で呼び出し、0以上1未満の単精度浮動小数点型の乱数（疑似乱数）を返します。</span></strong>今回はこのRnd関数を使用してランダム値を生成し、そしてランダム値を使って並びかえ上位から件数分抜き出し、無作為抽出を実現します。</p>



<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow">
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>・Rnd([引数])<br>引数&lt;0：常に同じ数値をシード値として使用します。<br>引数&gt;0：擬似乱数シーケンスの次の番号。<br>引数=0：最近生成された乱数。<br>省略　：擬似乱数シーケンスの次の番号。<br>※乱数ジェネレーターを初期化するには、<span style="color:#b78d4a" class="has-inline-color"><strong>Rnd</strong>&nbsp;</span>を呼び出す前に、引数を指定せずに&nbsp;<span style="color:#b78d4a" class="has-inline-color"><strong>Randomize</strong>&nbsp;</span>ステートメントを使用します。</p><cite>引用：<a class="link" href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/rnd-function">Rnd 関数 (Visual Basic for Applications) | Microsoft Docs</a></cite></blockquote>
</div>
</div>



<h3 class="wp-block-heading"><span id="toc2">クエリから引数なしで呼び出す（失敗例）</span></h3>



<p>まず<strong><span style="color:#b78d4a" class="has-inline-color">Rnd関数を使った失敗例</span></strong>からです。<br>単純にクエリでRnd関数を引数なしで呼び出せば無作為抽出できそうではありますが……。</p>



<p>テーブル情報</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="206" height="255" src="https://nyanblog2222.com/wp-content/uploads/2020/05/1-min.png" alt="テーブル情報" class="wp-image-1008"/></figure>



<p>クエリ内容<br>・下部の赤枠でRnd関数を呼び出し、右上の赤枠部分で上位25件を抽出</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="723" height="423" src="https://nyanblog2222.com/wp-content/uploads/2020/05/2-min.png" alt="クエリ内容" class="wp-image-1009" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/2-min.png 723w, https://nyanblog2222.com/wp-content/uploads/2020/05/2-min-300x176.png 300w" sizes="auto, (max-width: 723px) 100vw, 723px" /></figure>



<p>結果</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="353" height="243" src="https://nyanblog2222.com/wp-content/uploads/2020/05/3-min.png" alt="結果" class="wp-image-1010" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/3-min.png 353w, https://nyanblog2222.com/wp-content/uploads/2020/05/3-min-300x207.png 300w" sizes="auto, (max-width: 353px) 100vw, 353px" /></figure>



<p>このように<strong><span style="color:#b78d4a" class="has-inline-color">全レコードに同じ乱数</span></strong>が入ってしまいます。値がすべて同じなので上位25件ではなく1000件すべてが抽出されてしまっていますね。<br>これはAccessのクエリ最適化の仕様で、<strong><span style="color:#b78d4a" class="has-inline-color">引数なしで関数を呼び出した場合、一度しか実行してくれない</span></strong>ためです（引数1など固定値でもNG）。<br>また、<strong><span style="color:#b78d4a" class="has-inline-color">Randomizeを実行していないため、乱数ジェネレーター（乱数表）が初期化されません</span></strong>。そのため、もう一度Accessを開きなおし同じクエリを実行した場合、同じ結果になってしまいます。</p>



<p>よって上記をふまえ、以下の方法をご紹介します。</p>



<h3 class="wp-block-heading"><span id="toc3">方法１：Rnd関数引数あり、RandomizeのみVBA</span></h3>



<p>先ほどの失敗例を踏まえ、<br><strong><span style="color:#b78d4a" class="has-inline-color">・Rnd関数に引数を与えることでクエリ最適化を避ける</span><span class="has-inline-color has-pale-pink-color"><br></span><span style="color:#b78d4a" class="has-inline-color">・Randomizeを実行し、乱数表を初期化する</span></strong><br>　こちらは逆に１度呼び出されればいいため、クエリ最適化を利用する<br>　（何度も呼び出されると件数が多い場合負荷がかかる）<br>を考慮し、作成しました。</p>



<p>テーブル情報</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="206" height="255" src="https://nyanblog2222.com/wp-content/uploads/2020/05/1-min-1.png" alt="テーブル情報" class="wp-image-1066"/></figure>



<p>クエリ内容<br>・Rnd([社員NO])でランダム値を各レコードに設定<br>・MyRandomize()で初期化<br>　抽出条件（Is Null）を加えることで、表示を消しても関数呼び出しができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="519" height="484" src="https://nyanblog2222.com/wp-content/uploads/2020/05/6-min.png" alt="クエリ内容" class="wp-image-1058" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/6-min.png 519w, https://nyanblog2222.com/wp-content/uploads/2020/05/6-min-300x280.png 300w" sizes="auto, (max-width: 519px) 100vw, 519px" /></figure>



<p>VBA：乱数表初期化</p>



<pre class="wp-block-code basic"><code>' MyRandomize()
' 乱数ジェネレータ初期化関数
Public Function MyRandomize()
    Randomize
End Function</code></pre>



<p>結果</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="294" height="552" src="https://nyanblog2222.com/wp-content/uploads/2020/05/7-min.png" alt="結果" class="wp-image-1059" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/7-min.png 294w, https://nyanblog2222.com/wp-content/uploads/2020/05/7-min-160x300.png 160w" sizes="auto, (max-width: 294px) 100vw, 294px" /></figure>



<p>正常に無作為抽出ができました。<br>この方法をとる場合は、<strong><span style="color:#b78d4a" class="has-inline-color">Randomizeの呼び出し漏れに注意</span></strong>です。レコード件数が少なく処理が遅くなってもよいということであれば、ランダム関数を呼び出す定義関数を作り、その中で<strong><span style="color:#b78d4a" class="has-inline-color">Randomize</span></strong>を呼び出してもいいかもしれませんね。</p>



<h3 class="wp-block-heading"><span id="toc4">方法２：VBAで一括ランダム値挿入（マクロ実行）</span></h3>



<p>次に、クエリでRnd関数を呼び出さず、<strong><span style="color:#b78d4a" class="has-inline-color">マクロで定義関数を呼び出し、その定義関数内でRandomize＋Rnd関数を呼び出す</span></strong>方法です。<br>またマクロで実行するため、先日以下の通りご紹介した定義関数で連番もふってます。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/access/554/" title="【Access】連番の振り方【Dcount以外も紹介】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/31-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/31-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Access】連番の振り方【Dcount以外も紹介】</div><div class="blogcard-snippet internal-blogcard-snippet">Accessで連番の振り方を４つ紹介します。①EXCELから連番をコピペする②テーブル定義でオートナンバー型を使う③クエリでDcount関数を使う④マクロ（VBA）で連番用関数を作成する。…Dcount関数の処理速度の遅さに悩んでませんか？連番付番で高速処理したい方は必見です♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.15</div></div></div></div></a>
</div></figure>



<p><br>テーブル情報<br>・連番とランダム値項目を用意</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="312" height="238" src="https://nyanblog2222.com/wp-content/uploads/2020/05/17-min.png" alt="テーブル情報" class="wp-image-1061" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/17-min.png 312w, https://nyanblog2222.com/wp-content/uploads/2020/05/17-min-300x229.png 300w" sizes="auto, (max-width: 312px) 100vw, 312px" /></figure>



<p>クエリ内容</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="512" height="415" src="https://nyanblog2222.com/wp-content/uploads/2020/05/8-min.png" alt="クエリ内容" class="wp-image-1060" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/8-min.png 512w, https://nyanblog2222.com/wp-content/uploads/2020/05/8-min-300x243.png 300w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure>



<p>VBA：ランダム数セット<br>・Randomizeで初期化<br>・Loopでランダム値を各レコードに設定</p>



<pre class="wp-block-code basic"><code>' SetRandom(String,String)
' ランダム値をセット
' P1:テーブル名 or クエリ名
' P2:ランダム値項目名
Public Function SetRandom(TargetName As String, TargetField As String)
    
    ' 乱数ジェネレータを初期化
    Randomize
    
    Dim rsTarget As Recordset
    Set rsTarget = CurrentDb.OpenRecordset(TargetName, dbOpenDynaset)
    
    Do Until rsTarget.EOF
        rsTarget.Edit
        rsTarget.Fields(TargetField) = Rnd()
        rsTarget.Update
        rsTarget.MoveNext
    Loop
End Function</code></pre>



<p>結果</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="470" height="553" src="https://nyanblog2222.com/wp-content/uploads/2020/05/11-min.png" alt="結果" class="wp-image-1062" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/11-min.png 470w, https://nyanblog2222.com/wp-content/uploads/2020/05/11-min-255x300.png 255w" sizes="auto, (max-width: 470px) 100vw, 470px" /></figure>



<p>正常に無作為抽出ができました。連番もついてますね。<br>この方法だと<strong><span style="color:#b78d4a" class="has-inline-color">確実にRandomizeを呼び出す</span></strong>ので、引き継ぎの際もわかりやすいかもしれませんね。ただマクロを使い慣れていないユーザもいるでしょうから、クエリだけでできないところがデメリットです。</p>



<h2 class="wp-block-heading"><span id="toc5">テーブル定義のオートナンバー型（ランダム）を使った方法</span></h2>



<p>あまりおすすめしませんが、Rnd関数を使わず、<strong><span style="color:#b78d4a" class="has-inline-color">オートナンバー型でランダム値をセット</span></strong>することもできます。</p>



<p>テーブル１（元テーブル）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="206" height="255" src="https://nyanblog2222.com/wp-content/uploads/2020/05/1-min-2.png" alt="テーブル１（元テーブル）" class="wp-image-1067"/></figure>



<p>クエリ１（追加クエリ）<br>・後述のテーブル２にレコードを追加</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="460" height="302" src="https://nyanblog2222.com/wp-content/uploads/2020/05/13-min.png" alt="クエリ１（追加クエリ）" class="wp-image-1064" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/13-min.png 460w, https://nyanblog2222.com/wp-content/uploads/2020/05/13-min-300x197.png 300w" sizes="auto, (max-width: 460px) 100vw, 460px" /></figure>



<p>テーブル２<br>・オートナンバー型のランダム値項目を設定しておく</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="364" height="271" src="https://nyanblog2222.com/wp-content/uploads/2020/05/12-min.png" alt="テーブル２" class="wp-image-1063" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/12-min.png 364w, https://nyanblog2222.com/wp-content/uploads/2020/05/12-min-300x223.png 300w" sizes="auto, (max-width: 364px) 100vw, 364px" /></figure>



<p>クエリ１実行結果<br>この時点で連番が振られています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="241" height="410" src="https://nyanblog2222.com/wp-content/uploads/2020/05/14-min.png" alt="クエリ１実行結果" class="wp-image-1070" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/14-min.png 241w, https://nyanblog2222.com/wp-content/uploads/2020/05/14-min-176x300.png 176w" sizes="auto, (max-width: 241px) 100vw, 241px" /></figure>



<p>クエリ２（件数分抽出）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="465" height="353" src="https://nyanblog2222.com/wp-content/uploads/2020/05/15-min.png" alt="クエリ２（件数分抽出）" class="wp-image-1068" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/15-min.png 465w, https://nyanblog2222.com/wp-content/uploads/2020/05/15-min-300x228.png 300w" sizes="auto, (max-width: 465px) 100vw, 465px" /></figure>



<p>結果</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="220" height="527" src="https://nyanblog2222.com/wp-content/uploads/2020/05/16-min-1.png" alt="結果" class="wp-image-1071" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/16-min-1.png 220w, https://nyanblog2222.com/wp-content/uploads/2020/05/16-min-1-125x300.png 125w" sizes="auto, (max-width: 220px) 100vw, 220px" /></figure>



<p>正常に無作為抽出ができました。<br><strong><span style="color:#b78d4a" class="has-inline-color">VBAやマクロを使わない</span></strong>ということがメリットですが、無理やり組んだ印象が強く、個人的には分かりづらいかなと思います。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/899/">【Access】無作為抽出（ランダム・サンプリング）[Rnd,VBA他]</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/899/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/1016/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1016/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 31 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[ビンゴカード]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1016</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はJavaScriptを使ってビンゴカードを作成してみました。Jqueryも使用していますので、ご注意ください。 目次 HTMLの設定CSSの設定JavaScriptデモまとめ HTMLの設定 まずは、枠 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1016/">【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回はJavaScriptを使ってビンゴカードを作成してみました。Jqueryも使用していますので、ご注意ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-126" checked><label class="toc-title" for="toc-checkbox-126">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTMLの設定</a></li><li><a href="#toc2" tabindex="0">CSSの設定</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモ</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTMLの設定</span></h2>



<p>まずは、枠作りのHTMLからです。</p>



<p>ビンゴカードの枠と作成用のボタンを設定しています。</p>



<pre class="wp-block-code html"><code>&lt;div&gt;
    &lt;table id="bingo" cellspacing="10"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;th&gt;B&lt;/th&gt;
                &lt;th&gt;I&lt;/th&gt;
                &lt;th&gt;N&lt;/th&gt;
                &lt;th&gt;G&lt;/th&gt;
                &lt;th&gt;O&lt;/th&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi0"&gt;&lt;/td&gt;
                &lt;td id="bi1"&gt;&lt;/td&gt;
                &lt;td id="bi2"&gt;&lt;/td&gt;
                &lt;td id="bi3"&gt;&lt;/td&gt;
                &lt;td id="bi4"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi5"&gt;&lt;/td&gt;
                &lt;td id="bi6"&gt;&lt;/td&gt;
                &lt;td id="bi7"&gt;&lt;/td&gt;
                &lt;td id="bi8"&gt;&lt;/td&gt;
                &lt;td id="bi9"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi10"&gt;&lt;/td&gt;
                &lt;td id="bi11"&gt;&lt;/td&gt;
                &lt;td id="bi12"&gt;&lt;/td&gt;
                &lt;td id="bi13"&gt;&lt;/td&gt;
                &lt;td id="bi14"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi15"&gt;&lt;/td&gt;
                &lt;td id="bi16"&gt;&lt;/td&gt;
                &lt;td id="bi17"&gt;&lt;/td&gt;
                &lt;td id="bi18"&gt;&lt;/td&gt;
                &lt;td id="bi19"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi20"&gt;&lt;/td&gt;
                &lt;td id="bi21"&gt;&lt;/td&gt;
                &lt;td id="bi22"&gt;&lt;/td&gt;
                &lt;td id="bi23"&gt;&lt;/td&gt;
                &lt;td id="bi24"&gt;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;p id="button"&gt;&lt;input type="button" value="カード作成" id="bingo-create"&gt;&lt;/p&gt;
&lt;/div&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSSの設定</span></h2>



<p>ビンゴカードと作成ボタンのスタイルを設定しています。</p>



<pre class="wp-block-code css"><code><em>/* カード全体のスタイル */</em>
<strong>#bingo</strong>{
    width: 340px;
    margin: 0 auto;
}

<em>/* B I N G Oと番号のスタイル */</em>
<strong>#bingo</strong> <strong>th</strong>,
<strong>#bingo</strong> <strong>td</strong> {
    text-align: center;
    font-weight: normal;
}

<em>/* B I N G O の文字のスタイル */</em>
<strong>#bingo</strong> <strong>th</strong>{
    color: #B78D4A;
}

<em>/* 番号のスタイルを設定 */</em>
<strong>#bingo</strong> <strong>td</strong> {
    width: 60px;
    height: 55px;
    text-align: center;
    vertical-align: middle;
    
    border-radius: 1.5rem 1.5rem 0 0;
    color: #fff;
    background-color: #B78D4A;
    border: 2px solid #B78D4A;
}

<em>/* 番号をチェックした時に変更するクラス、スタイルを設定 */</em>
<strong>#bingo</strong> <strong>td</strong>.check {
    color: #B78D4A;
    background-color: #F0F0F0;
}

<em>/* 番号をマウスオーバーした時にポインタを指矢印に変更 */</em>
<strong>#bingo</strong> <strong>td</strong>:hover {
    cursor: pointer;
    cursor: hand;
}

<em>/* 作成ボタンのスタイル */</em>
<strong>p</strong><strong>#button</strong>{
    text-align: center;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>JavaScriptでカードの番号をランダムに設定する動きと、<br>番号をクリックした際にスタイルを変更するクラスをつけ外ししています。</p>



<pre class="wp-block-code"><code>$(<strong>function</strong> () {
    <strong>var</strong> make_col = <strong>function</strong> (base) {
        <strong>var</strong> arr = &#91;];
        <strong>for</strong>(<strong>var</strong> i=0; i&lt;15; i++) {
            arr.add(i);
        }
        <strong>var</strong> list = &#91;];
        <strong>for</strong> (<strong>var</strong> i = 1; i &lt;= 5; i++) {
            <em>// ランダムで値を取得</em>
            <strong>var</strong> a = parseInt(Math.random() * arr.length);
            list.push(arr&#91;a] + base);
            <em>// 数字を重複させないため、元々のリストから値を削除する</em>
            arr.splice(a, 1);
        }
        <strong>return</strong> list;
    };

    <strong>var</strong> make_table = <strong>function</strong> () {
        <em>// B列、I列...とそれぞれで5つの数字をランダムで取得</em>
        <strong>var</strong> col_b = make_col(1);
        <strong>var</strong> col_i = make_col(16);
        <strong>var</strong> col_n = make_col(31);
        <strong>var</strong> col_g = make_col(46);
        <strong>var</strong> col_o = make_col(61);
        
        <em>// 25個分の数字を格納できるtableに取ってきた列の数字を設定</em>
        <strong>var</strong> list = <strong>new</strong> Array(25);
        <strong>for</strong> (<strong>var</strong> i = 0; i &lt; 5; i++) {
            list&#91;i * 5 + 0] = col_b&#91;i];
            list&#91;i * 5 + 1] = col_i&#91;i];
            list&#91;i * 5 + 2] = col_n&#91;i];
            list&#91;i * 5 + 3] = col_g&#91;i];
            list&#91;i * 5 + 4] = col_o&#91;i];
        }
        <em>// 中心はfreeで固定</em>
        list&#91;12] = 'free';
        <strong>return</strong> list;
    };
    
    <em>// カード作成関数</em>
    <strong>var</strong> create_card = <strong>function</strong> () {
        <em>// 取ってきた数字が入ったtableをhtmlに出力する</em>
        <strong>var</strong> table = make_table();
        <strong>for</strong> (<strong>var</strong> i = 0; i &lt; table.length; i++) {
            $('#bi' + i).text(table&#91;i]);
        }
    };

    <em>// 初期化関数</em>
    <strong>var</strong> init = <strong>function</strong> () {
        create_card();
        
        <em>// チェック状態を外す</em>
        $('#bingo td').each(<strong>function</strong> () {
            $(<strong>this</strong>).removeClass('check');
        });
    };
    
    <em>// 初期</em>
    init();
    
    <em>// カード作成 ボタンをクリックすると、初期化</em>
    $('#bingo-create').click(<strong>function</strong> () {
        init();
    });
    
    <em>// 番号をクリックすると、スタイルを変更するクラスをつけ外しできる</em>
    $('#bingo td').click(<strong>function</strong> (){
        $(<strong>this</strong>).toggleClass('check');
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモ</span></h2>



<p>こちらが作成したビンゴカードです。</p>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/bingo1/" target="_blank">デモページはこちら<br><img loading="lazy" decoding="async" width="370" height="470" src="https://nyanblog2222.com/wp-content/uploads/2020/06/3506124f65b985a6ade8cea60d65888f.png" alt="" class="wp-image-1168" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/3506124f65b985a6ade8cea60d65888f.png 370w, https://nyanblog2222.com/wp-content/uploads/2020/06/3506124f65b985a6ade8cea60d65888f-236x300.png 236w" sizes="auto, (max-width: 370px) 100vw, 370px" /></a></strong><br></p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">番号をクリックすると見た目が変更</span></strong>されます。<br>（押し間違い対策でもう一度番号をクリックすると元に戻ります。）<br>カードをリセットしたい場合は、<strong><span style="color:#b78d4a" class="has-inline-color">「カード変更」</span></strong>ボタンをクリックすると、初期化されます。</p>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>今回はJavaScriptを使って、ビンゴカードを作成してみました。<br>列がそろったらBINGO！の表示を追加するのも面白いですね！<br>近いうちに試してみたいと思います。</p>



<p>次回の記事も良かったらご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/1194/" title="【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/63-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/63-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JSでビンゴマシンを作成してみましたのでサンプルコードをご紹介します。簡単にできて解説もついて分かりやすくしています。ビンゴカード作成の記事もありますので、良かったら見てみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.09</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1016/">【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1016/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSS】object-fit,object-positionのIE対応【object-fit-images】</title>
		<link>https://nyanblog2222.com/programming/javascript/965/</link>
					<comments>https://nyanblog2222.com/programming/javascript/965/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 27 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[object-fit]]></category>
		<category><![CDATA[object-fit-images]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=965</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />前回まで、CSSのobject-fit、object-positionプロパティの使い方をご紹介しました。 ただし、前回までの記事でも記載したように、このプロパティはIEには対応しておらず、別途対応する必要があります。今 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/965/">【CSS】object-fit,object-positionのIE対応【object-fit-images】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>前回まで、CSSの<strong><span style="color:#b78d4a" class="has-inline-color">object-fit、object-positionプロパティ</span></strong>の使い方をご紹介しました。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/884/" title="【CSS】object-fitの使い方【img要素の縦横比固定方法】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fitの使い方【img要素の縦横比固定方法】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSに「object-fit」プロパティで「cover」を設定することにより、画像の縦横比を固定したまま指定サイズで画像を配置する方法を紹介します。他にも「object-fit」プロパティにてどのように配置するか設定することも可能。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.24</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/928/" title="【CSS】object-positionの使い方【img要素の画像配置設定】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-positionの使い方【img要素の画像配置設定】</div><div class="blogcard-snippet internal-blogcard-snippet">img要素などの置換要素に対して、コンテンツをどこに配置するかを設定する「object-position」プロパティを詳しく紹介します。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.26</div></div></div></div></a>
</div></figure>



<p>ただし、前回までの記事でも記載したように、このプロパティはIEには対応しておらず、別途対応する必要があります。<br>今回はIEに対応させる<strong><span style="color:#b78d4a" class="has-inline-color">object-fit-images</span></strong>を使用して、<strong><span style="color:#b78d4a" class="has-inline-color">object-fit、object-positionプロパティを有効</span></strong>にできる方法を紹介していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-128" checked><label class="toc-title" for="toc-checkbox-128">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">object-fit-imagesライブラリを有効にする</a><ol><li><a href="#toc2" tabindex="0">CDNを貼り付ける</a></li><li><a href="#toc3" tabindex="0">ダウンロードしたファイルを読み込む</a></li></ol></li><li><a href="#toc4" tabindex="0">img要素にクラスを追加</a></li><li><a href="#toc5" tabindex="0">CSSに”font-family”プロパティを設定</a></li><li><a href="#toc6" tabindex="0">JavaScriptの記述を追加</a></li><li><a href="#toc7" tabindex="0">処理結果</a></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">object-fit-imagesライブラリを有効にする</span></h2>



<p>まずは、object-fit-imagesライブラリを有効にしていきます。<br>方法は2つあり、<br>1つはCDNを読み込む方法。<br>もう1つはダウンロードしたファイルを読み込む方法。です。</p>



<h3 class="wp-block-heading"><span id="toc2">CDNを貼り付ける</span></h3>



<p>CDNとは、<strong><span style="color:#b78d4a" class="has-inline-color">「Content Delivery Network」</span></strong>の頭文字を取った略称で、<strong><span style="color:#b78d4a" class="has-inline-color">「コンテンツ配信ネットワーク」</span></strong>を指します。<br>簡単に言うと、<strong><span style="color:#b78d4a" class="has-inline-color">ネットワーク上に配置されているファイルにアクセスできる仕組み</span></strong>のことです。<br>この仕組みを使うとサーバの負荷を一部肩代わりしてくれるようになるため、レスポンスが早くなると言われています。</p>



<p>htmlにscript要素を使って、CDNを読み込ませます。</p>



<pre class="wp-block-code html"><code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/object-fit-images/3.2.4/ofi.js"&gt;&lt;/script&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc3">ダウンロードしたファイルを読み込む</span></h3>



<p>こちらのサイトから<strong><span style="color:#b78d4a" class="has-inline-color">「Clone or download」</span></strong>をクリックしてダウンロードしてください。<br><a rel="noopener" class="link" href="https://github.com/bfred-it/object-fit-images" target="_blank">https://github.com/bfred-it/object-fit-images</a></p>



<p>ダウンロードしたファイルの中から<strong><span style="color:#b78d4a" class="has-inline-color">「ofi.js」</span></strong>ファイルを読み込む設定をhtmlのscript要素で設定します。</p>



<pre class="wp-block-code html"><code>&lt;script src="ofi.min.js"&gt;&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">img要素にクラスを追加</span></h2>



<p>object-fit、object-positionプロパティを使用するimg要素にクラスを追加します。<br><strong><span style="color:#b78d4a" class="has-inline-color">クラス名は任意で問題ない</span></strong>ので、既にクラスを指定している場合はそのクラスを使っても大丈夫です。</p>



<pre class="wp-block-code html"><code>&lt;img src="img/01.jpg" class="object-image"&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc5">CSSに”font-family”プロパティを設定</span></h2>



<p>2～5行目まではimgのサイズ設定と処理結果が分かりやすいように、背景色と境界線を設定しています。</p>



<p>7、8行目：object-fit、object-positionプロパティを設定しています。<br>10行目：IE用に<strong><span style="color:#b78d4a" class="has-inline-color">「font-family」プロパティ</span></strong>を設定します。値は7、8行目で設定した値と同じ値を設定します。</p>



<pre class="wp-block-code css"><code><strong>object-image</strong>{
    width: 400px;
    height: 300px;
    background-color: #999;
    border: 1px solid #666;

    object-fit: none;
    object-position: right;
    // IEのブラウザに対応
    font-family: 'object-fit: none; object-position: right;';
}</code></pre>



<p>10行目があれば、7、8行目は不要なのかも？と思い、試してみましたが、<strong><span style="color:#b78d4a" class="has-inline-color">object-fit、object-positionが反映されなかった</span></strong>ので、別々に記述が必要みたいです。</p>



<h2 class="wp-block-heading"><span id="toc6">JavaScriptの記述を追加</span></h2>



<p>htmlファイル内の&lt;/body&gt;の直前にscript要素を追加し、objectFitImages関数を呼び出します。</p>



<p>全てのimg要素に対応させる場合は引数なし。<br>任意のクラスに画像を対応させたい場合は引数に<strong><span style="color:#b78d4a" class="has-inline-color">「img.クラス名」</span></strong>を設定します。<br>※ クラス名のみでは、反映されないので、注意してください。</p>



<pre class="wp-block-code"><code>// 全てのimg要素に対応
&lt;script&gt;
    objectFitImages();
&lt;/script&gt;

// 指定のimg要素のクラスに対応
&lt;script&gt;
    objectFitImages('img.object-image');
&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc7">処理結果</span></h2>



<p>ここまで設定が終わりましたら、処理結果を見てみましょう。<br><strong><span style="color:#b78d4a" class="has-inline-color">このページをIEで開き</span></strong>、対応前と比較して<strong><span style="color:#b78d4a" class="has-inline-color">対応後ではobject-fitが効いていること</span></strong>を確認してみてください。<br>他のブラウザでは対応前と対応後では一緒の動きをしています。</p>



<p>object-fit-images対応前</p>



<style type="text/css">
    <!--
img.sample{
    width: 400px;
    height: 300px;

    /* imgのサイズを分かりやすくするため、background-color、
       borderを設定し、object-fitはnoneを設定しています。 */
    background-color: #999;
    border: 1px solid #666;
    object-fit: none;
    object-position: right;
}

    -->
</style>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit-image確認" class="sample">



<p>object-fit-images対応後</p>



<script src="https://cdnjs.cloudflare.com/ajax/libs/object-fit-images/3.2.4/ofi.js"></script>
<style type="text/css">
    <!--
img.object-image{
    width: 400px;
    height: 300px;

    /* imgのサイズを分かりやすくするため、background-color、
       borderを設定し、object-fitはnoneを設定しています。 */
    background-color: #999;
    border: 1px solid #666;
    object-fit: none;
    object-position: right;
    font-family: 'object-fit: none; object-position: right;';
}

    -->
</style>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit-image確認" class="object-image">

<script>
    objectFitImages('img.object-image');
</script>



<h2 class="wp-block-heading"><span id="toc8">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回は「object-fit-imagesライブラリ」を使って、IEのブラウザにobject-fitを対応させてみました。<br><s>まだまだIEのブラウザは使用されているので、対応させて損はないと思います。</s><br>※<span class="bold-red"> 2022年6月15日でサポート終了予定</span></p>



<p>4つの簡単なステップで対応ができるので、良かったら試してみてください。</p>



<p>今回の記事が何かの参考になれば幸いです。<br>ご来訪ありがとうございました。それでは♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/965/">【CSS】object-fit,object-positionのIE対応【object-fit-images】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/965/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSS】object-positionの使い方【img要素の画像配置設定】</title>
		<link>https://nyanblog2222.com/programming/html-css/928/</link>
					<comments>https://nyanblog2222.com/programming/html-css/928/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 26 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[img]]></category>
		<category><![CDATA[object-position]]></category>
		<category><![CDATA[置換要素]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=928</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />前回はCSSで「object-fit」プロパティを使って、img要素などの置換要素に対してコンテンツをどのようにはめ込むかを設定しました。よければこちらの記事もご覧になってください。 今回は置換要素に対して、コンテンツを [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/928/">【CSS】object-positionの使い方【img要素の画像配置設定】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>前回はCSSで<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>を使って、img要素などの置換要素に対して<strong><span style="color:#b78d4a" class="has-inline-color">コンテンツをどのようにはめ込むか</span></strong>を設定しました。<br>よければこちらの記事もご覧になってください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/884/" title="【CSS】object-fitの使い方【img要素の縦横比固定方法】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fitの使い方【img要素の縦横比固定方法】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSに「object-fit」プロパティで「cover」を設定することにより、画像の縦横比を固定したまま指定サイズで画像を配置する方法を紹介します。他にも「object-fit」プロパティにてどのように配置するか設定することも可能。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.24</div></div></div></div></a>
</div></figure>



<p>今回は置換要素に対して、<strong><span style="color:#b78d4a" class="has-inline-color">コンテンツをどこに配置するか</span></strong>を設定する<strong><span style="color:#b78d4a" class="has-inline-color">「object-position」プロパティ</span></strong>を詳しく紹介していきたいと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-130" checked><label class="toc-title" for="toc-checkbox-130">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">object-positionプロパティ</a></li><li><a href="#toc2" tabindex="0">値の設定について</a></li><li><a href="#toc3" tabindex="0">サンプル</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">object-positionプロパティ</span></h2>



<p>このプロパティは<strong><span style="color:#b78d4a" class="has-inline-color">「iframe」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「video」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「img」</span></strong>など要素の中身（コンテンツ）を要素のどこに配置するか設定します。</p>



<p>先ほども説明あったようにコンテンツをどのようにはめ込むかは<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>を設定します。</p>



<h2 class="wp-block-heading"><span id="toc2">値の設定について</span></h2>



<p>値はこのように設定することができます。<br><strong><span style="color:#b78d4a" class="has-inline-color">object-fit: [左右] [上下]</span></strong><br>初期値は真ん中の<strong><span style="color:#b78d4a" class="has-inline-color">&#8220;50% 50%&#8221;</span></strong>が設定されています。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">[左右]</span></strong>：<strong><span style="color:#b78d4a" class="has-inline-color">left、right、center</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">left、right + 数値（単位付）</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">数値（単位付）のみ</span></strong><br><strong><span style="color:#b78d4a" class="has-inline-color">[上下]</span></strong>：<strong><span style="color:#b78d4a" class="has-inline-color">top、bottom、center</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">top、bottom + 数値（単位付）</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">数値（単位付）のみ</span></strong></p>



<p>※ デフォルトで50%がそれぞれ設定されているので、片方省略も可能<br>例：object-fit: right もしくは、object-fit: bottom など</p>



<p>設定値だけ見てもイメージが湧きにくいと思いますので、<br>次は実際にコードを記述して、結果を見てみましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">サンプル</span></h2>



<p>それでは実際にソースコードを記述して配置を見てみましょう。<br>使用する画像はこちらです。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="320" height="240" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position サンプル画像" class="wp-image-895" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg 320w, https://nyanblog2222.com/wp-content/uploads/2020/05/01-300x225.jpg 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></figure>



<pre class="wp-block-code html"><code>&lt;p&gt;右中央に表示&lt;/p&gt;
&lt;img src="img/01.jpg" class="right-center sample"&gt;

&lt;p&gt;中央下に表示&lt;/p&gt;
&lt;img src="img/01.jpg" class="center-bottom sample"&gt;

&lt;p&gt;左上に表示&lt;/p&gt;
&lt;img src="img/01.jpg" class="left-top sample"&gt;

&lt;p&gt;パーセント表記で設定（80%、20%）&lt;/p&gt;
&lt;img src="img/01.jpg" class="set-percentage1 sample"&gt;

&lt;p&gt;パーセント表記で設定（右から80%、下から20%）&lt;/p&gt;
&lt;img src="img/01.jpg" class="set-percentage2 sample"&gt;

&lt;p&gt;ピクセルで設定（50px、180px）&lt;/p&gt;
&lt;img src="img/01.jpg" class="set-pixel sample"&gt;</code></pre>



<pre class="wp-block-code css"><code><strong>img</strong>{
    width: 400px;
    height: 300px;

    // imgのサイズを分かりやすくするため、background-color、
    // borderを設定し、object-fitはnoneを設定しています。
    background-color: #999;
    border: 1px solid #666;
    object-fit: none;
}

// 右中央
.right-center{
    object-position: right;
}

// 中央下
.center-bottom{
    object-position: bottom;
}

// 左上
.left-top{
    object-position: left top;
}

// パーセントで値を設定（80%, 20%）
.set-percentage1{
    object-position: 80% 20%;
}

// パーセントで値を設定（右から80%、下から20%）
.set-percentage2{
    object-position: right 80% bottom 20%;
}

// ピクセルで値を設定（50<strong>px</strong>, 180<strong>px</strong>）
.set-pixel{
    object-position: 50px 180px;
}</code></pre>



<p>結果がこちらです。</p>



<style type="text/css">
    <!--
    img.sample{
        width: 400px;
        height: 300px;

        /* imgのサイズを分かりやすくするため、background-color、
           borderを設定し、object-fitはnoneを設定しています。 */
        background-color: #999;
        border: 1px solid #666;
        object-fit: none;
    }

    .right-center{
        object-position: right;
    }
    .center-bottom{
        object-position: bottom;
    }
    .left-top{
        object-position: left top;
    }
    .set-percentage1{
        object-position: 80% 20%;
    }
    .set-percentage2{
        object-position: right 80% bottom 20%;
    }
    .set-pixel{
        object-position: 50px 180px;
    }
    -->
</style>
<p>右中央に表示<br>
<img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 右、中央" class="right-center sample"></p>
<p>中央下に表示<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 中央、下" class="center-bottom sample"></p>
<p>左上に表示<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 左、上" class="left-top sample"></p>
<p>パーセント表記で設定（80%、20%）<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 パーセント設定" class="set-percentage1 sample"></p>
<p>パーセント表記で設定（右から80%、下から20%）<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 パーセント設定" class="set-percentage2 sample"></p>
<p>ピクセルで設定（50px、180px）<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 ピクセル設定" class="set-pixel sample"></p>



<p>最後の結果についてですが、img要素からはみ出ている部分は<strong><span style="color:#b78d4a" class="has-inline-color">出力されていない</span></strong>ことが分かります。<br>つまりimg要素の中で画像を配置しているので、img要素からはみ出ている<strong><span class="has-inline-color has-pale-pink-color">赤枠部分</span></strong>は表示されず、トリミングされています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="402" height="449" src="https://nyanblog2222.com/wp-content/uploads/2020/05/473b1f50c2101c4ac7b2cf5eaef8328c.png" alt="トリミングされている箇所" class="wp-image-957" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/473b1f50c2101c4ac7b2cf5eaef8328c.png 402w, https://nyanblog2222.com/wp-content/uploads/2020/05/473b1f50c2101c4ac7b2cf5eaef8328c-269x300.png 269w" sizes="auto, (max-width: 402px) 100vw, 402px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">「object-position」プロパティ</span></strong>をご紹介しました。<br>前回紹介した<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>と合わせて使いこなしていきたいですね！</p>



<p>ただし、<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>と同様<strong><span class="has-inline-color has-pale-pink-color">IEにはどのバージョンでも現時点（2020年5月）では対応できていません</span></strong>ので、別途IE対応が必要なのは一緒ですね。<br>IE対応する方法として<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit-images」</span></strong>について以下の記事で紹介していますので、宜しければご覧ください♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/965/" title="【CSS】object-fit,object-positionのIE対応【object-fit-images】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fit,object-positionのIE対応【object-fit-images】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSのobject-fit、object-positionプロパティはIEに対応していません。なので、object-fit-imagesを使用して、IEに対応させる方法を紹介します！　object-fit、object-positionの使い方については前記事で触れていますので、良かったら一緒にどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.27</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/928/">【CSS】object-positionの使い方【img要素の画像配置設定】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/928/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSS】object-fitの使い方【img要素の縦横比固定方法】</title>
		<link>https://nyanblog2222.com/programming/html-css/884/</link>
					<comments>https://nyanblog2222.com/programming/html-css/884/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 24 May 2020 09:09:11 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[img]]></category>
		<category><![CDATA[object-fit]]></category>
		<category><![CDATA[置換要素]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=884</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />画像の縦横比を固定する方法で、cssに「object-fit」プロパティで「cover」を設定することにより、画像の縦横比を固定したまま指定のサイズで画像を配置することができます。他にも「object-fit」プロパティ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/884/">【CSS】object-fitの使い方【img要素の縦横比固定方法】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>画像の縦横比を固定する方法で、cssに<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>で<strong><span style="color:#b78d4a" class="has-inline-color">「cover」</span></strong>を設定することにより、<strong><span style="color:#b78d4a" class="has-inline-color">画像の縦横比を固定したまま</span></strong>指定のサイズで画像を配置することができます。<br>他にも<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>を使うことで、どのように配置するか設定することができます。</p>



<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>の使い方と設定値の内容を詳しく紹介していきたいと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-132" checked><label class="toc-title" for="toc-checkbox-132">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">object-fitプロパティ</a></li><li><a href="#toc2" tabindex="0">値の設定について</a></li><li><a href="#toc3" tabindex="0">サンプル</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">object-fitプロパティ</span></h2>



<p>このプロパティは置換要素である、<strong><span style="color:#b78d4a" class="has-inline-color">「iframe」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「video」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「img」</span></strong>など要素の中身（コンテンツ）をどのようにはめ込むかを設定します。</p>



<p>また、コンテンツをどのように配置するかは<strong><span style="color:#b78d4a" class="has-inline-color">「object-position」プロパティ</span></strong>を使用します。</p>



<h2 class="wp-block-heading"><span id="toc2">値の設定について</span></h2>



<p>object-fitプロパティは複数の値を設定することができます。<br>設定の内容を表にまとめてみました。<br>要素=img、コンテンツ=画像を見立てると、分かりやすいと思います。</p>



<figure class="wp-block-table">
    <table>
        <tbody>
            <tr>
                <th width="20%" class="text-aline-center">値</th>
                <th class="text-aline-center">説明</th>
            </tr>
            <tr>
                <th>contain</th>
                <td>コンテンツは<strong class="brown_color">アスペクト比が固定されたまま</strong>、要素のサイズに収まるように表示されます。<br>要素とコンテンツのアスペクト比が合わない場合、<strong class="brown_color">要素の一部分がレターボックス表示</strong>になります。※ 要は何も表示されません。</td>
            </tr>
            <tr>
                <th>cover</th>
                <td>コンテンツは<strong class="brown_color">アスペクト比が固定されたまま</strong>、要素のサイズに収まるように表示されます。<br>要素とコンテンツのアスペクト比が合わない場合、<strong class="brown_color">コンテンツが合わせるようにトリミング</strong>されます。</td>
            </tr>
            <tr>
                <th>fill</th>
                <td>コンテンツが<strong class="brown_color">要素を満たして表示</strong>されます。<br>要素とコンテンツのアスペクト比が合わない場合、要素の大きさに合わせて<strong class="brown_color">コンテンツが引き延ばされ</strong>ます。</td>
            </tr>
            <tr>
                <th>none</th>
                <td>コンテンツは拡大も縮小もされず、そのまま表示されます。</td>
            </tr>
            <tr>
                <th>scale-down</th>
                <td>コンテンツは<strong class="brown_color">「none」</strong>または<strong class="brown_color">「contain」</strong>どちらかを指定した状態で、コンテンツが要素よりも小さい場合は<strong class="brown_color">「none」</strong>として表示されます。</td>
            </tr>
        </tbody>
    </table>
</figure>



<h2 class="wp-block-heading"><span id="toc3">サンプル</span></h2>



<p>それでは実際に試してみましょう。<br>使用するのは、こちらの画像です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="320" height="240" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit　サンプル画像" class="wp-image-895" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg 320w, https://nyanblog2222.com/wp-content/uploads/2020/05/01-300x225.jpg 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></figure>



<p>さっそく、HTMLとCSSを設定してみましょう。</p>



<pre class="wp-block-code html"><code>&lt;p&gt;cover&lt;/p&gt;
&lt;img src="img/01.jpg" class="cover"&gt;

&lt;p&gt;contain&lt;/p&gt;
&lt;img src="img/01.jpg" class="contain"&gt;

&lt;p&gt;fill&lt;/p&gt;
&lt;img src="img/01.jpg" class="fill"&gt;

&lt;p&gt;none&lt;/p&gt;
&lt;img src="img/01.jpg" class="none"&gt;

&lt;p&gt;scale-down&lt;/p&gt;
&lt;img src="img/01.jpg" class="scale-down"&gt;</code></pre>



<pre class="wp-block-code css"><code><strong>img</strong>{
    width: 180px;
    height: 60px;

    // 左端に寄せてサイズを見やすくしたかったので、設定
    object-position: left;

    // imgのサイズを分かりやすくするため、background-colorを設定
    background-color: #999;
}

.cover {
    object-fit: cover;
}

.contain {
    object-fit: contain;
}

.fill {
    object-fit: fill;
}

.none {
    object-fit: none;
}

.scale-down {
    object-fit: scale-down;
}</code></pre>



<p>結果がこちらです。</p>



<style type="text/css">
    <!--
    img.sample{
        width: 180px;
        height: 80px;
        object-position: left;
        margin-bottom: 0;
        background-color: #999;
    }

    .cover {
        object-fit: cover;
    }

    .contain {
        object-fit: contain;
    }

    .fill {
        object-fit: fill;
    }

    .none {
        object-fit: none;
    }

    .scale-down {
        object-fit: scale-down;
    }
    -->
</style>
<p>cover<br>縦横比そのまま、画像の上下トリミング<br>
<img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードcover" class="cover sample"></p>
<p>contain<br>縦横比そのまま、要素の右側が空いた状態<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードcontain" class="contain sample"></p>
<p>fill<br>画像全体をimg要素のサイズに合わせて表示。<br>画像が押しつぶされたような見た目。<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードfill" class="fill sample"></p>
<p>none<br>画像をimg要素のサイズに合わせて一部分切り取っている。<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードnone" class="none sample"></p>
<p>scale-down<br>このサンプルでは、containが適用されています。<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードscale-down" class="scale-down sample"></p>



<p>このように値<strong><span style="color:#b78d4a" class="has-inline-color">「contain」「cover」「none」「scale-down」</span></strong>を使えばアスペクト比を変わらずコンテンツを設定することができます。<br>状況に応じて使ってみてください。</p>



<p>ただし、このプロパティは残念ながら<strong><span class="has-inline-color has-pale-pink-color">IEには対応しておりません</span></strong>。<br>また、このプロパティを対応させるためには、cssかHTMLの属性で<strong><span class="has-inline-color has-pale-pink-color">サイズを設定する</span></strong>必要があります。<br><strong><span style="color:#b78d4a" class="has-inline-color">object-fitプロパティが対応されていない！</span></strong>状況に陥りましたら、まずはサイズが設定されているかを確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>今回はobject-fitプロパティの使い方をご紹介しました。<br>要素のサイズさえ指定できれば値の設定も簡単なので、使いやすいかと思います。</p>



<p>ただ、先述しましたようにIEでは、現在（2020年5月）使用することができません。別途対策が必要になりますね！<br>IE対応する方法として<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit-images」</span></strong>について以下の記事で紹介していますので、宜しければご覧ください♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/965/" title="【CSS】object-fit,object-positionのIE対応【object-fit-images】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fit,object-positionのIE対応【object-fit-images】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSのobject-fit、object-positionプロパティはIEに対応していません。なので、object-fit-imagesを使用して、IEに対応させる方法を紹介します！　object-fit、object-positionの使い方については前記事で触れていますので、良かったら一緒にどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.27</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/928/" title="【CSS】object-positionの使い方【img要素の画像配置設定】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-positionの使い方【img要素の画像配置設定】</div><div class="blogcard-snippet internal-blogcard-snippet">img要素などの置換要素に対して、コンテンツをどこに配置するかを設定する「object-position」プロパティを詳しく紹介します。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.26</div></div></div></div></a>
</div></figure>



<p>また、こちらの記事も良かったら覗いてみてください♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/884/">【CSS】object-fitの使い方【img要素の縦横比固定方法】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/884/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】console.logでデバッグ【フォーマット文字列】</title>
		<link>https://nyanblog2222.com/programming/javascript/822/</link>
					<comments>https://nyanblog2222.com/programming/javascript/822/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 23 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Console.log]]></category>
		<category><![CDATA[デバッグ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=822</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/78_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/78_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はconsole.log関数を使って、基本的なデバッグ方法をご紹介しました。詳しくは良かったらこちらの記事をご覧ください。 今回は、%s, %d, %f, %oなどのフォーマット文字列を使って変数でデバッ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/822/">【JavaScript】console.logでデバッグ【フォーマット文字列】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/78_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/78_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はconsole.log関数を使って、基本的なデバッグ方法をご紹介しました。<br>詳しくは良かったらこちらの記事をご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/775/" title="【JavaScript】デバッグ中に値を確認してみよう！【console.log】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/77-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/77-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】デバッグ中に値を確認してみよう！【console.log】</div><div class="blogcard-snippet internal-blogcard-snippet">プログラム中にデバッグをしていますか？今回は基本的な方法でブラウザでコンソールウィンドウを表示させ、デバッグできる、console.log関数の使い方を説明していきます。特に初心者の方へぜひ見ていただきたいです。デバッグとは、プログラム開発の際に発生したバグ（不具合、誤り）を見つけ、修正する作...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.21</div></div></div></div></a>
</div></figure>



<p><br>今回は、<strong><span style="color:#b78d4a" class="has-inline-color">%s, %d, %f, %oなどのフォーマット文字列</span></strong>を使って変数でデバッグをしてみましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-134" checked><label class="toc-title" for="toc-checkbox-134">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">%s 文字列を出力</a></li><li><a href="#toc2" tabindex="0">%d, %i, %f 数値を出力</a></li><li><a href="#toc3" tabindex="0">%o(%O) オブジェクトを出力</a></li><li><a href="#toc4" tabindex="0">%c コンソールの出力を装飾</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">%s 文字列を出力</span></h2>



<p>%sを使って、<strong><span style="color:#b78d4a" class="has-inline-color">文字列を出力</span></strong>します。<br>こちらはソースコードの記述例です。</p>



<pre class="wp-block-code javascript"><code><strong>var</strong> temp1 = "sample";
<strong>var</strong> temp2 = "文字列";

console.log("temp1 : %s", temp1)
console.log("temp2 : %s", temp2)</code></pre>



<p>このように<strong><span style="color:#b78d4a" class="has-inline-color">%sを設定した箇所</span></strong>に、<strong><span style="color:#b78d4a" class="has-inline-color">第2引数で設定した変数の値が出力</span></strong>されています。</p>



<pre class="wp-block-code plaintext"><code>temp1 : sample
temp2 : 文字列</code></pre>



<h2 class="wp-block-heading"><span id="toc2">%d, %i, %f 数値を出力</span></h2>



<p>%d, %i, %fを使って<strong><span style="color:#b78d4a" class="has-inline-color">数値を出力</span></strong>します。<br><strong><span style="color:#b78d4a" class="has-inline-color">%d, %i</span></strong> : 整数値を出力<br><strong><span style="color:#b78d4a" class="has-inline-color">%f</span></strong> : 浮動小数点数値を出力<br>こちらはソースコードの記述例です。</p>



<pre class="wp-block-code javascript"><code><strong>var</strong> num1 = 123;
<strong>var</strong> float1 = 234.56;

<strong>var</strong> format_d = "%d";
<strong>var</strong> format_i = "%i";
<strong>var</strong> format_f = "%f";

<em>// 整数を%d, %iで出力</em>
console.log("%s : %d" + "\r\n%s : %i", format_d, num1, format_i, num1)

<em>// 小数を%d, %iで出力</em>
console.log("%s : %d" + "\r\n%s : %i", format_d, float1, format_i, float1)

<em>// 整数、小数を%f, %fで出力</em>
console.log("%s : %f" + "\r\n%s : %f", format_f, num1, format_f, float1)</code></pre>



<p>コメントにも記載していますが、</p>



<p>1. <strong><span style="color:#b78d4a" class="has-inline-color">整数</span></strong>を<strong><span style="color:#b78d4a" class="has-inline-color">%d, %i</span></strong>で表示させた場合<br>2. <strong><span style="color:#b78d4a" class="has-inline-color">小数</span></strong>を<strong><span style="color:#b78d4a" class="has-inline-color">%d, %i</span></strong>で表示させた場合<br>3. <strong><span style="color:#b78d4a" class="has-inline-color">整数、小数</span></strong>を<strong><span style="color:#b78d4a" class="has-inline-color">%f</span></strong>で表示させた場合</p>



<p>のパターンで記述しているのを確認できます。<br>この実行結果のように、<strong><span style="color:#b78d4a" class="has-inline-color">小数の値を%d, %iで出力させると、小数部分が切り捨てされてしまう</span></strong>ので、注意しましょう。</p>



<pre class="wp-block-code plaintext"><code>// 整数を%d, %iで出力
%d : 123
%i : 123

// 小数を%d, %iで出力
%d : 234
%i : 234

// 整数、小数を%fで出力
%f : 123
%f : 234.56</code></pre>



<h2 class="wp-block-heading"><span id="toc3">%o(%O) オブジェクトを出力</span></h2>



<p>%o(%O)を使って、<strong><span style="color:#b78d4a" class="has-inline-color">オブジェクトを出力</span></strong>します。<br>オブジェクトをクリックすることで、詳細情報を確認することができます。<br>こちらはソースコードの記述例です。</p>



<pre class="wp-block-code javascript"><code><strong>var</strong> obj = {
    hoge1: 'value1'
   , hoge2: 'value2'
   , hoge3: 'value3'
   , hoge4: 'value4'
};
console.log("オブジェクト : %O", obj)

<strong>var</strong> url = "https://nyanblog2222.com/"
console.log("URL : %o", url)</code></pre>



<p><strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>内のように<strong><span style="color:#b78d4a" class="has-inline-color">オブジェクトの要素を確認したり、URLをクリックして、実際にどこのページへジャンプしたり</span></strong>、確認することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="488" height="231" src="https://nyanblog2222.com/wp-content/uploads/2020/05/241560eb41110cd55be45ebcadaf8e9f.png" alt="コンソール画面　オブジェクトの中身" class="wp-image-873" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/241560eb41110cd55be45ebcadaf8e9f.png 488w, https://nyanblog2222.com/wp-content/uploads/2020/05/241560eb41110cd55be45ebcadaf8e9f-300x142.png 300w" sizes="auto, (max-width: 488px) 100vw, 488px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">%c コンソールの出力を装飾</span></h2>



<p>%cを使って、<strong><span style="color:#b78d4a" class="has-inline-color">%c以降の記述にスタイルを設定</span></strong>することができます。<br>こちらはソースコードの記述例です。</p>



<pre class="wp-block-code"><code>console.log("ここまでのtextは反映無し %cここからstyleが反映されます。"
    , "padding: 5px; color: #FFF0ED; font-weight: bold; background-color: #47A4A5;");</code></pre>



<p><strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>内のように、<strong><span style="color:#b78d4a" class="has-inline-color">%c以降に設定したスタイルが適用</span></strong>されていることが確認できますね。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="604" height="118" src="https://nyanblog2222.com/wp-content/uploads/2020/05/b107e2d1f0eef8df294dffc8569d4392.png" alt="コンソール画面　スタイル設定" class="wp-image-875" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/b107e2d1f0eef8df294dffc8569d4392.png 604w, https://nyanblog2222.com/wp-content/uploads/2020/05/b107e2d1f0eef8df294dffc8569d4392-300x59.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>前回に引き続き、console.log関数の使い方について、ご紹介いたしました。<br>色々な方法で、変数の中身を確認することができるのですね！<br>%dや%iでは、桁数を色々変えて実際の値を見てみたり、%cでは、そのスタイルなら適用できるのかを確認したりするのも、面白いと思います！</p>



<p>それでは、本記事をご覧いただき、ありがとうございました。<br>次回は、console内の他の関数の使い方について、ご紹介していきたいと思います。<br>良ければ次回もご覧ください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/822/">【JavaScript】console.logでデバッグ【フォーマット文字列】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/822/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript】デバッグ中に値を確認してみよう！【console.log】</title>
		<link>https://nyanblog2222.com/programming/javascript/775/</link>
					<comments>https://nyanblog2222.com/programming/javascript/775/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 21 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=775</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/77.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/77.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />皆さん、プログラム中にデバッグをしていますか？今回は基本的な方法でブラウザでコンソールウィンドウを表示させ、デバッグできる、console.log関数の使い方を説明していきます。 目次 デバッグについてブラウザのデバッグ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/775/">【JavaScript】デバッグ中に値を確認してみよう！【console.log】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/77.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/77.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/77-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>皆さん、プログラム中にデバッグをしていますか？<br>今回は基本的な方法でブラウザでコンソールウィンドウを表示させ、デバッグできる、<strong><span style="color:#b78d4a" class="has-inline-color">console.log関数</span></strong>の使い方を説明していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-136" checked><label class="toc-title" for="toc-checkbox-136">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">デバッグについて</a></li><li><a href="#toc2" tabindex="0">ブラウザのデバッグツールの表示方法</a><ol><li><a href="#toc3" tabindex="0">Google Chromeの方法</a></li><li><a href="#toc4" tabindex="0">Microsoft Edgeの方法</a></li><li><a href="#toc5" tabindex="0">Internet Explorerの方法</a></li><li><a href="#toc6" tabindex="0">Firefoxの方法</a></li></ol></li><li><a href="#toc7" tabindex="0">console.log関数の使い方</a><ol><li><a href="#toc8" tabindex="0">文字列を表示</a></li><li><a href="#toc9" tabindex="0">変数を表示</a></li><li><a href="#toc10" tabindex="0">配列や連想配列を表示</a></li></ol></li><li><a href="#toc11" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">デバッグについて</span></h2>



<p>まずは<strong><span style="color:#b78d4a" class="has-inline-color">「デバッグ」</span></strong>についての説明です。<br>デバッグとは、<strong><span style="color:#b78d4a" class="has-inline-color">プログラム開発の際に発生したバグ（不具合、誤り）を見つけ、修正する作業</span></strong>のことを指します。</p>



<p>JavaScriptではブラウザの機能にデバッグするためのツールが搭載されており、簡単にデバッグすることができます。<br>他にも、alertで画面に出力させる方法だったり、プログラムを別途記述する方法だったりありますが、基本的にはブラウザのデバッグツールを使うことが多いと思います。<br>本記事では<strong><span style="color:#b78d4a" class="has-inline-color">各ブラウザで搭載されているデバッグツールを使ったデバッグ方法</span></strong>を紹介していきます。</p>



<h2 class="wp-block-heading"><span id="toc2">ブラウザのデバッグツールの表示方法</span></h2>



<p>まずは各ブラウザのデバッグツールを表示する方法です。</p>



<h3 class="wp-block-heading"><span id="toc3">Google Chromeの方法</span></h3>



<p>１．Webサイトを表示させ、<strong><span style="color:#b78d4a" class="has-inline-color">「右クリック」</span></strong>→<strong><span style="color:#b78d4a" class="has-inline-color">「検証」</span></strong>をクリック<br>他の方法では、<br>　・ショートカットキーから<br>　　Windows：<strong><span style="color:#b78d4a" class="has-inline-color">「F12」キー</span></strong>　<br>　　　　　　　  <strong><span style="color:#b78d4a" class="has-inline-color">「Ctrl」+「Shift」+「I」キー</span></strong><br>　　Mac：<strong><span style="color:#b78d4a" class="has-inline-color">「Command」+「Option」+「I」キー</span></strong><br>　・Google Chromeの設定から<br>　　右上の<strong><span style="color:#b78d4a" class="has-inline-color">縦3点ボタン「…」</span></strong>をクリック<br>　　→<strong><span style="color:#b78d4a" class="has-inline-color">「その他のツール」</span></strong>をクリック<br>　　→<strong><span style="color:#b78d4a" class="has-inline-color">「デベロッパー　ツール」</span></strong>をクリック</p>



<p>２．表示された画面の<strong><span style="color:#b78d4a" class="has-inline-color">「Console」タブ</span></strong>をクリック</p>



<h3 class="wp-block-heading"><span id="toc4">Microsoft Edgeの方法</span></h3>



<p>１．<strong><span style="color:#b78d4a" class="has-inline-color">「F12」キー</span></strong>をクリック<br>他の方法では、<br>　右上の<strong><span style="color:#b78d4a" class="has-inline-color">「…」ボタン</span></strong>をクリック<br>　→　<strong><span style="color:#b78d4a" class="has-inline-color">「その他のツール」</span></strong>をクリック<br>　→　<strong><span style="color:#b78d4a" class="has-inline-color">「開発者ツール」</span></strong>をクリック</p>



<p>２．表示された画面の<strong><span style="color:#b78d4a" class="has-inline-color">「コンソール」タブ</span></strong>をクリック</p>



<h3 class="wp-block-heading"><span id="toc5">Internet Explorerの方法</span></h3>



<p>１．<strong><span style="color:#b78d4a" class="has-inline-color">「F12」キー</span></strong>をクリック<br>他の方法では、<br>　右上の<strong><span style="color:#b78d4a" class="has-inline-color">「歯車ボタン」</span></strong>をクリック<br>　→<strong><span style="color:#b78d4a" class="has-inline-color">「F12 開発者ツール」</span></strong>をクリック</p>



<p>２．表示された画面の<strong><span style="color:#b78d4a" class="has-inline-color">「コンソール」タブ</span></strong>をクリック</p>



<h3 class="wp-block-heading"><span id="toc6">Firefoxの方法</span></h3>



<p>１．<strong><span style="color:#b78d4a" class="has-inline-color">「F12」キー</span></strong>をクリック<br>他の方法では、<br>　右上の<strong><span style="color:#b78d4a" class="has-inline-color">「三」ボタン</span></strong>をクリック<br>　→<strong><span style="color:#b78d4a" class="has-inline-color">「ウェブ開発」</span></strong>をクリック<br>　→<strong><span style="color:#b78d4a" class="has-inline-color">「開発ツールを表示」</span></strong>をクリック</p>



<p>２．表示された画面の<strong><span style="color:#b78d4a" class="has-inline-color">「コンソール」タブ</span></strong>をクリック</p>



<h2 class="wp-block-heading"><span id="toc7">console.log関数の使い方</span></h2>



<p>ここでは<strong><span style="color:#b78d4a" class="has-inline-color">console.log関数</span></strong>の基本的な使い方を説明します。<br>コンソールは<strong><span style="color:#b78d4a" class="has-inline-color">「Google Chrome」</span></strong>の画面を表示させています。</p>



<h3 class="wp-block-heading"><span id="toc8">文字列を表示</span></h3>



<p>まずは文字列を表示させてみましょう。<br>JavaScriptでこのコードを記述してください。</p>



<pre class="wp-block-code javascript"><code>console.log("Hello world!")</code></pre>



<p>するとページには何も表示されていませんが、コンソール画面では、<strong><span style="color:#b78d4a" class="has-inline-color">&#8220;Hello world!&#8221;</span></strong>が表示されています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="615" height="100" src="https://nyanblog2222.com/wp-content/uploads/2020/05/fd15e5ebfd9d34b763185e78771592c6-1.png" alt="Hello world 出力" class="wp-image-810" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/fd15e5ebfd9d34b763185e78771592c6-1.png 615w, https://nyanblog2222.com/wp-content/uploads/2020/05/fd15e5ebfd9d34b763185e78771592c6-1-300x49.png 300w" sizes="auto, (max-width: 615px) 100vw, 615px" /></figure>



<h3 class="wp-block-heading"><span id="toc9">変数を表示</span></h3>



<p>続いて、変数の中身を確認する方法です。<br>こちらのコードを記述してください。</p>



<pre class="wp-block-code"><code><strong>var</strong> str = "変数strの中身";
console.log(str)

<strong>for</strong>(<strong>var</strong> i=1; i&lt;=5; i++){
    console.log(i)
}</code></pre>



<p>こちらがコンソール画面です。<br>このように引数に変数を設定することで、<strong><span style="color:#b78d4a" class="has-inline-color">strやiの中身を確認</span></strong>することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="535" height="168" src="https://nyanblog2222.com/wp-content/uploads/2020/05/e39b23a713f4dee2031d3a377bfc042d-1.png" alt="コンソール画面　変数の確認" class="wp-image-812" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/e39b23a713f4dee2031d3a377bfc042d-1.png 535w, https://nyanblog2222.com/wp-content/uploads/2020/05/e39b23a713f4dee2031d3a377bfc042d-1-300x94.png 300w" sizes="auto, (max-width: 535px) 100vw, 535px" /></figure>



<h3 class="wp-block-heading"><span id="toc10">配列や連想配列を表示</span></h3>



<p>最後に配列や連想配列の表示を確認してみましょう。<br>こちらのコードを記述してください。</p>



<pre class="wp-block-code"><code><strong>var</strong> array = &#91;
    'apple'
    , 'lemon'
    , 'peach'
];
console.log(array)

<strong>var</strong> obj = {
    hoge1: 'value1'
   , hoge2: 'value2'
   , hoge3: 'value3'
   , hoge4: 'value4'
};
console.log(obj)</code></pre>



<p>こちらがコンソール画面です。<br><strong><span style="color:#b78d4a" class="has-inline-color">配列や連想配列の中身</span></strong>だけでなく、配列は<strong><span style="color:#b78d4a" class="has-inline-color">lengthプロパティ</span></strong>の値や<strong><span style="color:#b78d4a" class="has-inline-color">__proto__プロパティ</span></strong>も確認することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="604" height="282" src="https://nyanblog2222.com/wp-content/uploads/2020/05/54e70b7373f571aea4383a50c25b94d1.png" alt="コンソール画面　配列、連想配列の確認" class="wp-image-819" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/54e70b7373f571aea4383a50c25b94d1.png 604w, https://nyanblog2222.com/wp-content/uploads/2020/05/54e70b7373f571aea4383a50c25b94d1-300x140.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></figure>



<h2 class="wp-block-heading"><span id="toc11">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回は基本的な内容でしたが、コンソール画面でデバッグ操作を実行してみました。</p>



<p>個人的には開発速度を向上させるには、デバッグ作業がどれだけ早くできるかどうか。だと思っています。<br>これを機にデバッグ操作能力を向上させてもいいかもしれませんね！<br>良ければ次回の記事もご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/822/" title="【JavaScript】console.logでデバッグ【フォーマット文字列】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/78_new-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JavaScript】console.logでデバッグ【フォーマット文字列】</div><div class="blogcard-snippet internal-blogcard-snippet">前回はconsole.log関数を使って、基本的なデバッグ方法をご紹介しました。今回は、%s, %d, %f, %oなどのフォーマット文字列を使って変数でデバッグをしてみましょう。1.%s 文字列を出力 2.%d, %i, %f 数値を出力 3.%o(%O) オブジェクトを出力 4.%c コン...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.23</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/775/">【JavaScript】デバッグ中に値を確認してみよう！【console.log】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/775/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python環境構築方法【Visual Studio Code（VSCode）設定も】</title>
		<link>https://nyanblog2222.com/programming/python/553/</link>
					<comments>https://nyanblog2222.com/programming/python/553/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 17 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[python]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=553</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/100.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/100.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/100-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/100-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/100-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />Pythonの環境構築（インストール）及びVisual Studio Code（VSCode）での設定・使用方法について紹介します。まずは構築に伴い環境周りのご説明をいたします。 目次 開発環境PythonインストールV [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/python/553/">Python環境構築方法【Visual Studio Code（VSCode）設定も】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/100.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/100.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/100-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/100-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/100-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>Pythonの環境構築（インストール）及びVisual Studio Code（VSCode）での設定・使用方法について紹介します。<br>まずは構築に伴い環境周りのご説明をいたします。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-138" checked><label class="toc-title" for="toc-checkbox-138">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">開発環境</a></li><li><a href="#toc2" tabindex="0">Pythonインストール</a></li><li><a href="#toc3" tabindex="0">Visual Studio Codeの設定</a><ol><li><a href="#toc4" tabindex="0">Python 拡張機能をインストール</a></li><li><a href="#toc5" tabindex="0">pyファイルを作成</a></li></ol></li><li><a href="#toc6" tabindex="0">プログラムの実行</a><ol><li><a href="#toc7" tabindex="0">デバッグで実行「F5」</a></li><li><a href="#toc8" tabindex="0">PowerShellにてPythonファイルを実行</a></li></ol></li><li><a href="#toc9" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">開発環境</span></h2>



<p>開発環境はこちらの表のとおりです。<br>もちろんMac、Linuxでも導入できるようです。<br>Python、VSCodeは当時の最新バージョンをインストールしています。</p>



<figure class="wp-block-table"><table><tbody><tr><th>OS</th><td>Windows10　64bit</td></tr><tr><th>Python　version</th><td>3.8.3</td></tr><tr><th>エディタ</th><td>Visual Studio Code 64bit 1.45.0</td></tr></tbody></table></figure>



<p>VSCodeのインストールについては、こちらで紹介をさせていただいてますので、良かったら確認してみてください。<br>本記事では省略させていただきますが、もしインストールする場合は日本語の拡張機能も合わせて設定しておいた方が良いです。そちらも記事で触れています。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-detail">

<a href="https://nyanblog2222.com/programming/javascript/5187/" title="Visual Studio Codeのインストールや日本語化設定" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Visual Studio Codeのインストールや日本語化設定</div><div class="blogcard-snippet internal-blogcard-snippet">Visual Studio Code（VSCode）の基本の使い方として、インストール方法や拡張機能（日本語化）の設定を紹介します。初心者の方向けに画像付きで分かりやすく紹介していますので、初めて環境構築をする方は是非ご覧になってください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.03.26</div></div></div></div></a>
</div>



<h2 class="wp-block-heading"><span id="toc2">Pythonインストール</span></h2>



<p>それでは、さっそくPythonをインストールしてみましょう。<br><a rel="noopener" class="link" href="https://www.python.org/downloads/windows/" target="_blank">コチラ</a>のサイトからインストーラをダウンロードします。<br><strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>からダウンロードを開始してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="557" height="238" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-Releases-for-Windows-Pythonorg-Google-Chrome_2020-5-15_11-2-49_No-00-1.png" alt="Pythonダウンロード" class="wp-image-619" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-Releases-for-Windows-Pythonorg-Google-Chrome_2020-5-15_11-2-49_No-00-1.png 557w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-Releases-for-Windows-Pythonorg-Google-Chrome_2020-5-15_11-2-49_No-00-1-300x128.png 300w" sizes="auto, (max-width: 557px) 100vw, 557px" /></figure>



<p>ダウンロードが終わりましたら、インストーラを起動して、インストールを開始します。<br><strong><span style="color:#b78d4a" class="has-inline-color">ファイル名（例）：python-3.8.3-amd64-webinstall.exe</span></strong><br><strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>の<strong><span style="color:#b78d4a" class="has-inline-color">「Add Python 3.8 to PATH」</span></strong>をチェックし、<strong><span style="color:#b78d4a" class="has-inline-color">「Install Now」</span></strong>をクリックします。<br>チェックすることで、<strong><span style="color:#b78d4a" class="has-inline-color">インストール時にPythonのパスを環境変数に追加する</span></strong>ことができます。<br>チェックを忘れた場合は、一度アンインストールしてからインストールし直すか、直接環境変数にPythonのパスを追加してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="636" height="405" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-0_No-00-min-3.png" alt="Pythonインストール" class="wp-image-625" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-0_No-00-min-3.png 636w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-0_No-00-min-3-300x191.png 300w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure>



<p>そのままインストールが開始されるので、完了するまでお待ちください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="636" height="405" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-14_No-00-min-1.png" alt="Pythonインストール" class="wp-image-627" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-14_No-00-min-1.png 636w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-14_No-00-min-1-300x191.png 300w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure>



<p>インストールが完了したらこのような画面が出ますので、<strong><span style="color:#b78d4a" class="has-inline-color">「Close」</span></strong>をクリックして、終了してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="636" height="405" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-58_No-00-min-1.png" alt="Pythonインストール" class="wp-image-628" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-58_No-00-min-1.png 636w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Python-383-64-bit-Setup_2020-5-15_11-4-58_No-00-min-1-300x191.png 300w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure>



<p>これでPythonのインストールは完了です。<br>インストールされたことを確認するため、コマンドプロンプトに<strong><span style="color:#b78d4a" class="has-inline-color">「Python」</span></strong>と打ち込むことで起動することができます。<br>また、<strong><span style="color:#b78d4a" class="has-inline-color">「python &#8211;version」</span></strong>でPythonのバージョンを確認できますので、この方法でもインストールされたことを確認できますね！</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="597" height="597" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-1.png" alt="" class="wp-image-632" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-1.png 597w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-1-300x300.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-1-150x150.png 150w" sizes="auto, (max-width: 597px) 100vw, 597px" /></figure>



<pre class="wp-block-code python"><code>// バージョン確認
python --version

// 起動確認 (大文字・小文字は関係なし)
python</code></pre>



<p>起動確認後は<strong><span style="color:#b78d4a" class="has-inline-color">「exit();」</span></strong>でPython終了コマンドを打ち込んで、終了させておいてください。</p>



<pre class="wp-block-code python"><code>// Python 終了コマンド
exit();</code></pre>



<p>ちなみに、「スタート」→「Python3.8」→「IDLE（Python 3.8 64-bit）」で起動できる<strong><span style="color:#b78d4a" class="has-inline-color">「Python Shell」</span></strong>でも同様に確認することができます。<br>このように<strong><span style="color:#b78d4a" class="has-inline-color">対話形式でコマンドが実行</span></strong>できるため、このような機能を<strong><span style="color:#b78d4a" class="has-inline-color">「インタラクティブモード」</span></strong>と言います。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="597" height="597" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-2.png" alt="IDLE起動" class="wp-image-633" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-2.png 597w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-2-300x300.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Cortana_2020-5-15_11-5-25_No-00-min-2-150x150.png 150w" sizes="auto, (max-width: 597px) 100vw, 597px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">Visual Studio Codeの設定</span></h2>



<p>先ほどもご紹介させていただきましたが、インストールと日本語化の設定はこちらを参考に設定してください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/5187/" title="Visual Studio Codeのインストールや日本語化設定" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Visual Studio Codeのインストールや日本語化設定</div><div class="blogcard-snippet internal-blogcard-snippet">Visual Studio Code（VSCode）の基本の使い方として、インストール方法や拡張機能（日本語化）の設定を紹介します。初心者の方向けに画像付きで分かりやすく紹介していますので、初めて環境構築をする方は是非ご覧になってください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.03.26</div></div></div></div></a>
</div></figure>



<h3 class="wp-block-heading"><span id="toc4">Python 拡張機能をインストール</span></h3>



<p>まずはPythonの拡張機能をインストールしていきます。<br><strong><span style="color:#b78d4a" class="has-inline-color">VSCodeを起動</span></strong>→<strong><span style="color:#b78d4a" class="has-inline-color">拡張機能</span></strong>→<strong><span style="color:#b78d4a" class="has-inline-color">Python</span></strong>を入力→<strong><span style="color:#b78d4a" class="has-inline-color">インストール</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="638" height="245" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-16_16-20-53_No-00-min.png" alt="Python 拡張機能をインストール" class="wp-image-640" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-16_16-20-53_No-00-min.png 638w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-16_16-20-53_No-00-min-300x115.png 300w" sizes="auto, (max-width: 638px) 100vw, 638px" /></figure>



<h3 class="wp-block-heading"><span id="toc5">pyファイルを作成</span></h3>



<p>Pythonは先ほどのような「インタラクティブモード」で実行することもできますが、<strong><span style="color:#b78d4a" class="has-inline-color">プログラムファイルからの実行</span></strong>もできます。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">「メニュー」の「ファイル」→「フォルダを開く」→フォルダを選択</span></strong>します。<br>フォルダがない場合はここで作成して選択してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="710" height="472" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_17-4-4_No-00-min.png" alt="フォルダを開く" class="wp-image-636" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_17-4-4_No-00-min.png 710w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_17-4-4_No-00-min-300x199.png 300w" sizes="auto, (max-width: 710px) 100vw, 710px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="671" height="406" src="https://nyanblog2222.com/wp-content/uploads/2020/05/42748f6438aabd4c79a2bd5443859f84.png" alt="フォルダを選択" class="wp-image-637" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/42748f6438aabd4c79a2bd5443859f84.png 671w, https://nyanblog2222.com/wp-content/uploads/2020/05/42748f6438aabd4c79a2bd5443859f84-300x182.png 300w" sizes="auto, (max-width: 671px) 100vw, 671px" /></figure>



<p>ワークスペースの構成ファイルを保存するか尋ねられますが、今回は試しで実行したいだけなので、<strong><span style="color:#b78d4a" class="has-inline-color">「保存しない」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="402" height="205" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-16_17-4-51_No-00-min.png" alt="ワークスペースの保存" class="wp-image-638" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-16_17-4-51_No-00-min.png 402w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-16_17-4-51_No-00-min-300x153.png 300w" sizes="auto, (max-width: 402px) 100vw, 402px" /></figure>



<p>画像のようにtestフォルダが選択されていますので、<strong><span style="color:#b78d4a" class="has-inline-color">右クリックで新しいファイル</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="648" height="444" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_test-Visual-Studio-Code_2020-5-16_17-5-8_No-00-min.png" alt="VSCode　新規ファイル作成" class="wp-image-643" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_test-Visual-Studio-Code_2020-5-16_17-5-8_No-00-min.png 648w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_test-Visual-Studio-Code_2020-5-16_17-5-8_No-00-min-300x206.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></figure>



<p>新しいファイルには<strong><span style="color:#b78d4a" class="has-inline-color">”hello.py”</span></strong>と名前を付けます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="648" height="444" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_test-Visual-Studio-Code_2020-5-16_17-5-17_No-00-min.png" alt="VSCode　新規ファイル作成" class="wp-image-644" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_test-Visual-Studio-Code_2020-5-16_17-5-17_No-00-min.png 648w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_test-Visual-Studio-Code_2020-5-16_17-5-17_No-00-min-300x206.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="648" height="444" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-5-31_No-00-min.png" alt="VSCode　新規ファイル作成" class="wp-image-645" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-5-31_No-00-min.png 648w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-5-31_No-00-min-300x206.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></figure>



<p>新しいファイルができたことを確認し、右上にコードを記述します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="648" height="593" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-42_No-00-min.png" alt="VSCode　print Helloworld" class="wp-image-646" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-42_No-00-min.png 648w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-42_No-00-min-300x275.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></figure>



<pre class="wp-block-code python"><code>print("Hello world!");</code></pre>



<p><strong><span style="color:#b78d4a" class="has-inline-color">「Ctrl」+「S」</span></strong>でファイルを保存して、ファイル作成が完了です。</p>



<h2 class="wp-block-heading"><span id="toc6">プログラムの実行</span></h2>



<p>プログラムが記述できたので、さっそく実行してみましょう。<br>簡単に2通りあります。<br>１．デバッグで実行<br>２．ターミナルでPowerShellにてPythonファイルを実行</p>



<h3 class="wp-block-heading"><span id="toc7">デバッグで実行「F5」</span></h3>



<p>まずはデバッグでの実行方法です。<br><strong><span style="color:#b78d4a" class="has-inline-color">「メニュー」</span></strong>の<strong><span style="color:#b78d4a" class="has-inline-color">「実行」</span></strong>から<strong><span style="color:#b78d4a" class="has-inline-color">「デバッグの開始」</span></strong>をクリックするか、<br><strong><span style="color:#b78d4a" class="has-inline-color">「F5」</span></strong>を押して実行することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="559" height="425" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_17-41-36_No-00-min.png" alt="デバッグで実行" class="wp-image-648" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_17-41-36_No-00-min.png 559w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_17-41-36_No-00-min-300x228.png 300w" sizes="auto, (max-width: 559px) 100vw, 559px" /></figure>



<p>Pythonのファイルをデバッグを実行するので、<strong><span style="color:#b78d4a" class="has-inline-color">「Python File」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="792" height="324" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-47_No-00-min.png" alt="Python　デバッグで実行" class="wp-image-650" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-47_No-00-min.png 792w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-47_No-00-min-300x123.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-47_No-00-min-768x314.png 768w" sizes="auto, (max-width: 792px) 100vw, 792px" /></figure>



<p>右下のターミナル画面に<strong><span style="color:#b78d4a" class="has-inline-color">「Hello world!」</span></strong>が出力されていることを確認することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="648" height="593" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-26_No-00-min.png" alt="Python　デバッグで実行" class="wp-image-652" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-26_No-00-min.png 648w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-6-26_No-00-min-300x275.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></figure>



<h3 class="wp-block-heading"><span id="toc8">PowerShellにてPythonファイルを実行</span></h3>



<p>もう一つの方法としては、ターミナル画面でPowerShellからPythonファイルを実行する方法です。</p>



<p>右上の<strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>にある<strong><span style="color:#b78d4a" class="has-inline-color">再生ボタン</span></strong>をクリックすると、先ほどと同様にターミナル画面に<strong><span style="color:#b78d4a" class="has-inline-color">「Hello world!」</span></strong>が出力されていることを確認することができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="574" height="445" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-8-33_No-00-min-1.png" alt="" class="wp-image-654" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-8-33_No-00-min-1.png 574w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_17-8-33_No-00-min-1-300x233.png 300w" sizes="auto, (max-width: 574px) 100vw, 574px" /></figure>



<p>ちなみに先ほどのデバッグ画面とPowerShellの画面の切り替えは画面中央にある<strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>で行うことができます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="607" height="468" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_18-18-57_No-00-min.png" alt="ターミナル画面切り替え" class="wp-image-655" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_18-18-57_No-00-min.png 607w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_hellopy-test-Visual-Studio-Code_2020-5-16_18-18-57_No-00-min-300x231.png 300w" sizes="auto, (max-width: 607px) 100vw, 607px" /></figure>



<h2 class="wp-block-heading"><span id="toc9">まとめ</span></h2>



<p>今回はPythonの環境構築とVisual Studio Codeでの動作確認について、ご紹介しました。<br>このページを閲覧して興味を持たれた方は簡単にできますので、ぜひ試してみてください！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/python/553/">Python環境構築方法【Visual Studio Code（VSCode）設定も】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/python/553/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【C#】Stringクラスで知っておくべきプロパティ・メソッド一覧</title>
		<link>https://nyanblog2222.com/programming/c-sharp/293/</link>
					<comments>https://nyanblog2222.com/programming/c-sharp/293/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 16 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=293</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/95.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/95.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/95-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/95-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/95-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />文字列の操作でよく使うプロパティ、メソッドをまとめました。他にもあれば、どんどん追記していきます。 目次 文字列の長さを取得するLengthプロパティ文字列内に指定の文字（列）が含むかどうか、判定するContainsメソ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/293/">【C#】Stringクラスで知っておくべきプロパティ・メソッド一覧</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/95.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/95.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/95-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/95-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/95-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>文字列の操作でよく使うプロパティ、メソッドをまとめました。<br>他にもあれば、どんどん追記していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-140" checked><label class="toc-title" for="toc-checkbox-140">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">文字列の長さを取得する</a><ol><li><a href="#toc2" tabindex="0">Lengthプロパティ</a></li></ol></li><li><a href="#toc3" tabindex="0">文字列内に指定の文字（列）が含むかどうか、判定する</a><ol><li><a href="#toc4" tabindex="0">Containsメソッド</a></li><li><a href="#toc5" tabindex="0">StartsWithメソッド</a></li><li><a href="#toc6" tabindex="0">EndWithメソッド</a></li></ol></li><li><a href="#toc7" tabindex="0">文字列がnullか空文字か判定する</a><ol><li><a href="#toc8" tabindex="0">IsNullOrEmptyメソッド</a></li><li><a href="#toc9" tabindex="0">Emptyプロパティ</a></li><li><a href="#toc10" tabindex="0">IsNullOrWhiteSpaceメソッド【.Net Framework4.0以降】</a></li></ol></li><li><a href="#toc11" tabindex="0">文字列の一部を取り出す方法</a><ol><li><a href="#toc12" tabindex="0">SubStringメソッド</a></li></ol></li><li><a href="#toc13" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">文字列の長さを取得する</span></h2>



<h3 class="wp-block-heading"><span id="toc2">Lengthプロパティ</span></h3>



<p>文字列の長さ（文字数）を取得するには、<strong><span style="color:#b78d4a" class="has-inline-color">Lengthプロパティ</span></strong>を使用します。</p>



<pre class="wp-block-code cs"><code><strong>string</strong> str = "value";

<em>// length = 5</em>
<strong>int</strong> length = str.Length;</code></pre>



<h2 class="wp-block-heading"><span id="toc3">文字列内に指定の文字（列）が含むかどうか、判定する</span></h2>



<h3 class="wp-block-heading"><span id="toc4">Containsメソッド</span></h3>



<p>文字列内に指定の文字、または文字列が含まれているか判定するためには、<strong><span style="color:#b78d4a" class="has-inline-color">Containsメソッド</span></strong>を使用します。</p>



<pre class="wp-block-code cs"><code><strong>string</strong> str1 = "こんにちは。";

<em>// 引数 string型</em>
<strong>if</strong> (str1.Contains("ちは"))
    Console.WriteLine("ちは が含まれています。");

<em>// 引数 char型</em>
<strong>if</strong> (str1.Contains('に'))
    Console.WriteLine("に が含まれています。");</code></pre>



<pre class="wp-block-code plaintext"><code>ちは が含まれています。
に が含まれています。</code></pre>



<p>ちなみに、<strong><span style="color:#b78d4a" class="has-inline-color">IndexOfメソッド</span></strong>でも確認することができます。<br>文字列に含まれている文字（列）の位置を取得することができます。<br>含まれていない場合は<strong><span style="color:#b78d4a" class="has-inline-color">”-1”</span></strong>が戻り値として返されるので、<strong><span style="color:#b78d4a" class="has-inline-color">0以上の条件</span></strong>で検索をかけています。</p>



<pre class="wp-block-code cs"><code><strong>string</strong> str1 = "こんにちは。";

<em>// 引数 string型</em>
<strong>if</strong> (str1.IndexOf("ちは") &gt;= 0)
    Console.WriteLine("ちは が含まれています。");

<em>// 引数 char型</em>
<strong>if</strong> (str1.IndexOf('に') &gt;= 0)
    Console.WriteLine("に が含まれています。");</code></pre>



<pre class="wp-block-code plaintext"><code>ちは が含まれています。
に が含まれています。</code></pre>



<h3 class="wp-block-heading"><span id="toc5">StartsWithメソッド</span></h3>



<p>先頭が指定の文字列かどうかを判定には、<strong><span style="color:#b78d4a" class="has-inline-color">StartsWithメソッド</span></strong>を使用します。<br>3.の例では、<strong><span style="color:#b78d4a" class="has-inline-color">第２引数にtrueを設定する</span></strong>ことで大文字・小文字を考慮せずに判定することができます。</p>



<pre class="wp-block-code cs"><code>string str = "Program Test Hello";

if (str.StartsWith("Prog"))
    Console.WriteLine("1.先頭文字列が一致します。");

if (str.StartsWith("PROG"))
    Console.WriteLine("2.先頭文字列が一致します。");

if (str.StartsWith("PROG", true, CultureInfo.CurrentCulture))
    Console.WriteLine("3.先頭文字列が一致します。");</code></pre>



<pre class="wp-block-code plaintext"><code>1.後頭文字列が一致します。
3.後頭文字列が一致します。</code></pre>



<h3 class="wp-block-heading"><span id="toc6">EndWithメソッド</span></h3>



<p>先頭が指定の文字列かどうかを判定には、<strong><span style="color:#b78d4a" class="has-inline-color">EndWithメソッド</span></strong>を使用します。<br>3.の例では、StartWithメソッドと同様に大文字・小文字を考慮することなく、判定することができます。</p>



<pre class="wp-block-code cs"><code>string str = "Program Test Hello";

if (str.EndsWith("Hello"))
    Console.WriteLine("1.後頭文字列が一致します。");

if (str.EndsWith("HELLO"))
    Console.WriteLine("2.後頭文字列が一致します。");

if (str.EndsWith("HELLO", true, CultureInfo.CurrentCulture))
    Console.WriteLine("3.後頭文字列が一致します。");</code></pre>



<pre class="wp-block-code plaintext"><code>1.後頭文字列が一致します。
3.後頭文字列が一致します。</code></pre>



<h2 class="wp-block-heading"><span id="toc7">文字列がnullか空文字か判定する</span></h2>



<h3 class="wp-block-heading"><span id="toc8">IsNullOrEmptyメソッド</span></h3>



<p>文字列がnull、もしくは空文字かを調べるにはStringクラスの<strong><span style="color:#b78d4a" class="has-inline-color">IsNullOrEmptyメソッド</span></strong>を使用します。</p>



<pre class="wp-block-code cs"><code><strong>if</strong> (<strong>string</strong>.IsNullOrEmpty(str))
    Console.WriteLine("null もしくは 空文字です。");</code></pre>



<h3 class="wp-block-heading"><span id="toc9">Emptyプロパティ</span></h3>



<p>文字列がnullでないことが確実であれば、<strong><span style="color:#b78d4a" class="has-inline-color">Emptyメソッド</span></strong>で空文字かどうかを判定することもできます。また、<strong><span style="color:#b78d4a" class="has-inline-color">Emptyメソッドの代わりに&#8221;&#8221;で判定</span></strong>しても問題ありません。</p>



<pre class="wp-block-code cs"><code>if (str == string.Empty)
    Console.WriteLine("空文字です。");

// ""でもOK
if (str == "")
    Console.WriteLine("空文字です。");</code></pre>



<h3 class="wp-block-heading"><span id="toc10">IsNullOrWhiteSpaceメソッド【.Net Framework4.0以降】</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">.Net Framework 4.0以上</span></strong>の場合、<strong><span style="color:#b78d4a" class="has-inline-color">IsNullOrEmptyメソッド</span></strong>で空白のみの文字列も判定することができます。</p>



<pre class="wp-block-code cs"><code><em>// null、""、" "（半角スペース）、 "　"（全角スペース）がtrueで返される</em>
<strong>if</strong> (<strong>string</strong>.IsNullOrEmpty(str))
    Console.WriteLine("null もしくは 空文字 もしくは 空白の文字列です。");</code></pre>



<h2 class="wp-block-heading"><span id="toc11">文字列の一部を取り出す方法</span></h2>



<h3 class="wp-block-heading"><span id="toc12">SubStringメソッド</span></h3>



<p>文字列に含まれている一部分を取り出すには<strong><span style="color:#b78d4a" class="has-inline-color">SubStringメソッド</span></strong>を使用します。<br>第1引数：取り出し開始位置<br>第2引数：取り出し文字数（省略で開始位置から最後まで取得）</p>



<pre class="wp-block-code cs"><code>string str = "Program Test Hello";

// 0バイト目から7文字分取り出す
Console.WriteLine(str.Substring(0, 7));

// 8バイト目から4文字分取り出す
Console.WriteLine(str.Substring(8, 4));

// 13バイト目から最後まで取り出す
Console.WriteLine(str.Substring(13));</code></pre>



<pre class="wp-block-code plaintext"><code>Program
Test
Hello</code></pre>



<p>文字の位置といえば、<strong><span style="color:#b78d4a" class="has-inline-color">IndexOfメソッド</span></strong>ですね！<br>このように使うこともできます。</p>



<pre class="wp-block-code cs"><code>string str = "Program Test Hello";
string getStr = "Test";
int index = str.IndexOf(getStr);

Console.WriteLine(str.Substring(index, getStr.Length));</code></pre>



<p>処理内容の説明です。<br>1行目：処理する文字列<br>2行目：取得する文字列<br>3行目：&#8221;Program Test Hello&#8221;から、&#8221;Test&#8221;の位置を取得し、<strong><span style="color:#b78d4a" class="has-inline-color">index変数に格納</span></strong><br>5行目：<strong><span style="color:#b78d4a" class="has-inline-color">Substringメソッド</span></strong>で<strong><span style="color:#b78d4a" class="has-inline-color">index変数の位置</span></strong>からgetStrの<strong><span style="color:#b78d4a" class="has-inline-color">Length分を取り出し</span></strong>、コンソールに出力</p>



<h2 class="wp-block-heading"><span id="toc13">まとめ</span></h2>



<p>stringクラスのプロパティやメソッドについて、ご紹介いたしました。<br>文字列操作の手段としてさまざまありますので、ぜひ参考にしてみてください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/293/">【C#】Stringクラスで知っておくべきプロパティ・メソッド一覧</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/c-sharp/293/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Access】連番の振り方【Dcount以外も紹介】</title>
		<link>https://nyanblog2222.com/programming/554/</link>
					<comments>https://nyanblog2222.com/programming/554/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 15 May 2020 04:34:05 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=554</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/31.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/31.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、Accessで連番の振り方をいくつかご紹介します。 大容量レコードに高速付番したい方は、「４．VBAで連番用関数を作成する」をご確認ください♪ 目次 EXCELから連番をコピペするテーブル定義でオートナンバー型を [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/554/">【Access】連番の振り方【Dcount以外も紹介】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/31.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/31.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/31-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p><p>今回は、<strong><span style="color: #b78d4a;" class="has-inline-color">Accessで連番の振り方</span></strong>をいくつかご紹介します。</p>
<p>大容量レコードに高速付番したい方は、<br>「４．VBAで連番用関数を作成する」をご確認ください♪</p></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-142" checked><label class="toc-title" for="toc-checkbox-142">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">EXCELから連番をコピペする</a></li><li><a href="#toc2" tabindex="0">テーブル定義でオートナンバー型を使う</a></li><li><a href="#toc3" tabindex="0">Dcount関数を使う</a></li><li><a href="#toc4" tabindex="0">VBAで連番用関数を作成する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">EXCELから連番をコピペする</span></h2>



<p>まず初めに非常にアナログですが、簡単で確実な方法です。<br>後述するクエリ（DCount関数）で連番を振る方法では件数が多い場合に時間がかかりすぎるため、あえてこのような方法をとっている方もいます。</p>



<p>説明するまでもないかもしれませんが、このように連番用にEXCELを作り、<br>コピーしてAccessのテーブルに貼り付けます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="179" height="259" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_19-50-46_No-00.png" alt="Excel連番" class="wp-image-576"/></figure>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">メリット：</span></strong><br>・Accessの知識が必要ないため、<strong><span style="color: #b78d4a;" class="has-inline-color">不慣れでも連番を振る</span></strong>ことができる。<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">クエリの順番通り</span></strong>に連番が振れる。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">デメリット：</span></strong><br>・<strong><span style="color: #b78d4a;" class="has-inline-color">手作業のためミス</span></strong>が発生する可能性がある。<br>・テーブル内容に変更があった場合、対応できない。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">使用用途：</span></strong><br><strong><span style="color: #b78d4a;" class="has-inline-color">一度しか処理せず、</span></strong>再度連番を振る必要ない場合　等</p>



<p>なお、件数が多すぎるとお使いのパソコンやAccessのバージョンによってはペーストする際にエラーがでるようですので、ご注意ください。</p>



<h2 class="wp-block-heading"><span id="toc2">テーブル定義でオートナンバー型を使う</span></h2>



<p>テーブルをデザインビューで開き、項目のデータ型を、<strong><span style="color: #b78d4a;" class="has-inline-color">「オートナンバー型」</span></strong>とするだけなので、最も手軽な振り方です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="352" height="440" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-17-7_No-00-1.png" alt="Access連番　オートナンバー" class="wp-image-558" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-17-7_No-00-1.png 352w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-17-7_No-00-1-240x300.png 240w" sizes="auto, (max-width: 352px) 100vw, 352px" /></figure>



<p>このようにデータ型を「オートナンバー型」にするだけで、入力する際、以下のように自動で連番が入力されていきます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="306" height="148" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_11-52-10_No-00.png" alt="Access連番　オートナンバー" class="wp-image-557" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_11-52-10_No-00.png 306w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_11-52-10_No-00-300x145.png 300w" sizes="auto, (max-width: 306px) 100vw, 306px" /></figure>



<p>オートナンバー型を使うメリットデメリットですが、以下が考えられます。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">メリット：</span></strong><br>・手軽で分かりやすい。<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">一意（ユニーク）な連番</span></strong>が振られるため、万が一にも重複の心配がない。<br>・手動で変更できないため、<strong><span style="color: #b78d4a;" class="has-inline-color">うっかり違う値に変更してしまうことがない</span></strong>。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">デメリット：</span></strong><br>・連番が振られた後は<strong><span style="color: #b78d4a;" class="has-inline-color">変更ができない</span></strong>。<br>・レコードを削除した際に、<strong><span style="color: #b78d4a;" class="has-inline-color">抜け番が発生</span></strong>する。<br>・レコード追加時にしか連番が振れない。</p>



<p>この中でも特に、デメリットの<strong><span style="color: #b78d4a;" class="has-inline-color">一度削除すると抜け番が発生するところ</span></strong>が注意点かと思います。<br>例えば以下のように、レコードを一度入力した後、間違えに気づき修正した場合、抜け番が発生してしまいます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="317" height="267" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-4-35_No-00.png" alt="Access連番　オートナンバー" class="wp-image-559" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-4-35_No-00.png 317w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-4-35_No-00-300x253.png 300w" sizes="auto, (max-width: 317px) 100vw, 317px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="304" height="124" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-5-31_No-00-1.png" alt="Access連番　オートナンバー" class="wp-image-561" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-5-31_No-00-1.png 304w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-5-31_No-00-1-300x122.png 300w" sizes="auto, (max-width: 304px) 100vw, 304px" /></figure>



<p>もちろん<strong><span style="color: #b78d4a;" class="has-inline-color">連番の変更をしようとしても、以下のエラーが出て</span></strong>しまい、変更もできません。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="437" height="21" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-6-59_No-00.png" alt="Access連番　オートナンバー" class="wp-image-562" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-6-59_No-00.png 437w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_14-6-59_No-00-300x14.png 300w" sizes="auto, (max-width: 437px) 100vw, 437px" /></figure>



<p>そんな良くも悪くも融通が利かないオートナンバー型ですが、以下のような使用用途が考えられます。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">使用用途：</span></strong><br>・絶対に連番が変わってしまうのを避けたい場合<br>・欠番ができても問題ない場合　等<br>例）<strong><span style="color: #b78d4a;" class="has-inline-color">Access内部で使用するデータ紐付け用の主キーID</span></strong></p>



<p>なお、テーブルをデザインビューで開き、項目の「切り取り」→同じ箇所に「行の挿入」→「貼り付け」をすることで、連番の振り直し自体は可能です。<br>※１から連番が再度振られるため、連番を振りなおしたことによる影響範囲を検討の上、行ってください。</p>



<h2 class="wp-block-heading"><span id="toc3">Dcount関数を使う</span></h2>



<p>クエリで連番を振る際に使用するのが<strong><span style="color: #b78d4a;" class="has-inline-color">DCount関数を使った</span></strong>方法です。<br>DCount関数は元々<strong><span style="color: #b78d4a;" class="has-inline-color">指定した範囲のレコード数をカウントする関数</span></strong>ですが、以下のように指定することで、連番を振ることもできます。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">DCount(&#8220;*&#8221;,&#8221;テーブル名&#8221;,&#8221;[基準項目]&lt;=&#8221; &amp; [テーブル名]![基準項目])</span></strong></p>



<p>指定内容の説明です。<br>引数１：レコード数をカウント<br>引数２：テーブル名またはクエリ名<br>引数３：条件。現在のレコードの[基準項目]以下の[基準項目]の数をカウント</p>



<p>これだけでは分かりにくいので、例を使って見てみましょう。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="377" height="96" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_15-30-9_No-00.png" alt="Access連番　DCount関数" class="wp-image-563" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_15-30-9_No-00.png 377w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_15-30-9_No-00-300x76.png 300w" sizes="auto, (max-width: 377px) 100vw, 377px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="206" height="132" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_16-25-42_No-00.png" alt="Access連番　DCount関数" class="wp-image-564"/></figure>



<p>まず、基準項目を「社員NO」として連番を振るため、データ型は比較可能な「数値型」としています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="364" height="263" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_16-26-54_No-00.png" alt="Access連番　DCount関数" class="wp-image-565" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_16-26-54_No-00.png 364w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_16-26-54_No-00-300x217.png 300w" sizes="auto, (max-width: 364px) 100vw, 364px" /></figure>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">連番: DCount(&#8220;*&#8221;,&#8221;T_クエリ&#8221;,&#8221;[社員NO]&lt;=&#8221; &amp; [T_クエリ]![社員NO])</span></strong></p>



<p>クエリはこのようにDCount関数を使い、設定しました。</p>



<p>結果は以下のとおりです。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="296" height="106" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_16-33-28_No-00.png" alt="" class="wp-image-567"/></figure>



<p>Dcount関数を使うメリットデメリット・使用用途ですが、以下が考えられます。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">メリット：</span></strong><br>・テーブル内容に変更があっても、自動で値が振られ<strong><span style="color: #b78d4a;" class="has-inline-color">抜け番が発生しない</span></strong>。<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">一意（ユニーク）な連番が振られる</span></strong>ため、重複の心配がない。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">デメリット：</span></strong><br>・元々Dcountは別用途で作られた関数のため、不慣れなユーザには判読しづらい。<br>・基準項目（数値項目等、比較可能な項目）が必要。<br>・氏名順等、<strong><span style="color: #b78d4a;" class="has-inline-color">特別な並び順にしたい場合、連番を振ることができない</span></strong>。<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">レコード件数が多いと、とにかく重い！</span></strong><br>（レコードごとに毎度、基準項目以下のレコードをカウントしにいくため）</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">使用用途：</span></strong><br>・<strong><span style="color: #b78d4a;" class="has-inline-color">データ入力後に連番が振りたい</span></strong>場合　等</p>



<h2 class="wp-block-heading"><span id="toc4">VBAで連番用関数を作成する</span></h2>



<p>少し難易度は上がりますが、<strong><span style="color: #b78d4a;" class="has-inline-color">VBAで連番用関数を作成し、連番を振る</span></strong>方法です。<br>VBAを使用し、ユーザ定義関数を作成し、マクロから呼び出します。</p>



<p>VBAについては以下を作成しましたので、コピーしてお使いください。</p>



<pre class="wp-block-code"><code>' InsertRenban(String,String)
' 連番挿入関数
' P1:クエリ名（テーブル名でも可能だが、非推奨）
' P2:連番用項目名
Public Function <strong>InsertRenban</strong>(TargetName As String, TargetField As String)
    Dim rsTarget As Recordset
    Set rsTarget = CurrentDb.OpenRecordset(TargetName, dbOpenDynaset)
    
    Dim iRecordCnt As Long
    
    'レコード毎に"+1"し、終端まで読み込み
    Do Until rsTarget.EOF
        lRecordCnt = lRecordCnt + 1
        
        rsTarget.Edit
        rsTarget.Fields(TargetField) = lRecordCnt
        rsTarget.Update
        rsTarget.MoveNext
    Loop
End Function</code></pre>



<p>では、例を使ってご紹介します。<br>まずテーブルは以下です。新しく連番をつける場合は、テーブル定義で「連番」項目を追加してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="361" height="98" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_18-49-58_No-00.png" alt="VBA" class="wp-image-570" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_18-49-58_No-00.png 361w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_18-49-58_No-00-300x81.png 300w" sizes="auto, (max-width: 361px) 100vw, 361px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="295" height="139" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_18-50-7_No-00.png" alt="VBA" class="wp-image-571"/></figure>



<p>次にクエリを用意し、並び順を確定させます。<br><strong><span style="color: #b78d4a;" class="has-inline-color">※テーブルの順はAccessが独自にソートしているだけなので、今回のVBAを使い連番を振る場合、この工程が重要です。</span></strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="434" height="329" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_9-23-36_No-00-1.png" alt="" class="wp-image-588" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_9-23-36_No-00-1.png 434w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-16_9-23-36_No-00-1-300x227.png 300w" sizes="auto, (max-width: 434px) 100vw, 434px" /></figure>



<p>実行マクロについては、以下としました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="357" height="92" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_19-37-29_No-00.png" alt="VBA" class="wp-image-575" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_19-37-29_No-00.png 357w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_19-37-29_No-00-300x77.png 300w" sizes="auto, (max-width: 357px) 100vw, 357px" /></figure>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">InsertRenban(&#8220;Q_定義関数&#8221;,&#8221;連番&#8221;)</span></strong></p>



<p>実行結果は以下となりました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="280" height="115" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-15_18-51-16_No-00.png" alt="VBA" class="wp-image-573"/></figure>



<p>メリットデメリット・使用用途については以下となります。<br>個人的には、クエリを使うのであればこちらをおすすめします。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">メリット：</span></strong><br>・テーブル内容に変更があっても、自動で値が振られ<strong><span style="color: #b78d4a;" class="has-inline-color">抜け番が発生しない</span></strong>。<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">一意（ユニーク）な連番が振られる</span></strong>ため、重複の心配がない。<br>・<strong><span style="color: #b78d4a;" class="has-inline-color">クエリに比べ</span></strong>、レコード件数が多くても<strong><span style="color: #b78d4a;" class="has-inline-color">処理が速い</span></strong>！<br>・連番はクエリの並び順に左右されるため、基準項目は不要</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">デメリット：</span></strong><br>・マクロ、VBAを使うのでAccess初心者には取っつきにくい。</p>



<p><strong><span style="color: #b78d4a;" class="has-inline-color">使用用途：</span></strong><br>・<strong><span style="color: #b78d4a;" class="has-inline-color">データ入力後に連番が振りたい</span></strong>場合　等</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/554/">【Access】連番の振り方【Dcount以外も紹介】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/554/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Go言語】環境構築</title>
		<link>https://nyanblog2222.com/programming/go-lang/432/</link>
					<comments>https://nyanblog2222.com/programming/go-lang/432/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 13 May 2020 05:38:56 +0000</pubDate>
				<category><![CDATA[go言語]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=432</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/99.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/99.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/99-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/99-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/99-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />近年学びたい言語と話題が出ているGo言語について勉強しようと思い、インストールすることになりましたので、環境構築をご紹介します。 目次 開発環境Go言語　インストールVisual Studio CodeのインストールVi [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/go-lang/432/">【Go言語】環境構築</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/99.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/99.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/99-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/99-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/99-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>近年学びたい言語と話題が出ているGo言語について勉強しようと思い、インストールすることになりましたので、環境構築をご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-144" checked><label class="toc-title" for="toc-checkbox-144">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">開発環境</a></li><li><a href="#toc2" tabindex="0">Go言語　インストール</a></li><li><a href="#toc3" tabindex="0">Visual Studio Codeのインストール</a></li><li><a href="#toc4" tabindex="0">Visual Studio Codeに拡張機能をインストール</a><ol><li><a href="#toc5" tabindex="0">日本語化　[Japanese Language Pack for Visual Studio Code]</a></li><li><a href="#toc6" tabindex="0">Go言語　[Go]</a></li><li><a href="#toc7" tabindex="0">Go言語　[更新パッケージ]</a></li></ol></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">開発環境</span></h2>



<p>開発環境はこちらの表で用意しました。<br>MacでもLinuxでも同様にインストールできるようです。<br>(Go言語、エディタは2020/5/12時点の最新version)</p>



<figure class="wp-block-table"><table><tbody><tr><th>OS</th><td>Windows10　64bit</td></tr><tr><th>Go言語　version</th><td>1.14.2</td></tr><tr><th>エディタ</th><td>Visual Studio Code 64bit 1.45.0</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc2">Go言語　インストール</span></h2>



<p>それでは、Go言語をインストールしていきましょう。<br>まずはGo言語のインストーラをダウンロードします。</p>



<p><a rel="noopener" class="link" href="https://golang.org/dl/" target="_blank">コチラ</a>のサイトから、<strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>のMicrosoft Windows用のインストーラをダウンロードします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="587" height="359" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Downloads-The-Go-Programming-Language-Google-Chrome_2020-5-11_8-39-43_No-00-min.png" alt="Go言語　ダウンロード画面" class="wp-image-448" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Downloads-The-Go-Programming-Language-Google-Chrome_2020-5-11_8-39-43_No-00-min.png 587w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Downloads-The-Go-Programming-Language-Google-Chrome_2020-5-11_8-39-43_No-00-min-300x183.png 300w" sizes="auto, (max-width: 587px) 100vw, 587px" /></figure>



<p>ダウンロードが完了したら、ファイルをダブルクリックします。<br><strong><span style="color:#b78d4a" class="has-inline-color">ファイル名「go1.14.2.windows-amd64.msi」</span></strong><br>※ verなど、多少異なっていても問題ありません。</p>



<p>画面の<strong><span style="color:#b78d4a" class="has-inline-color">「Next」</span></strong>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="535" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Go-Programming-Language-amd64-go1142-Setup_2020-5-11_8-30-6_No-00-min.png" alt="Go言語　インストール画面" class="wp-image-451" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Go-Programming-Language-amd64-go1142-Setup_2020-5-11_8-30-6_No-00-min.png 535w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Go-Programming-Language-amd64-go1142-Setup_2020-5-11_8-30-6_No-00-min-300x239.png 300w" sizes="auto, (max-width: 535px) 100vw, 535px" /></figure>



<p>そのまま続けていけば、インストールできますが、<br>インストール先をデフォルトから変えたい場合、<strong><span class="has-inline-color has-pale-pink-color">赤枠のパス</span></strong>を変更してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="535" height="427" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Go-Programming-Language-amd64-go1142-Setup_2020-5-11_8-30-42_No-00-min.png" alt="Go言語　インストール画面" class="wp-image-450" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Go-Programming-Language-amd64-go1142-Setup_2020-5-11_8-30-42_No-00-min.png 535w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Go-Programming-Language-amd64-go1142-Setup_2020-5-11_8-30-42_No-00-min-300x239.png 300w" sizes="auto, (max-width: 535px) 100vw, 535px" /></figure>



<p>インストールが無事に終わったら、正常に入っていることを確認するため、コマンドプロンプトを起動します。</p>



<p>「go version」と入力し、現在インストールされているversionの確認ができました。</p>



<pre class="wp-block-code dos"><code>go version</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="437" height="271" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_CWINDOWSsystem32cmdexe_2020-5-11_8-49-33_No-00-min-1.png" alt="コマンドプロンプト　go言語　確認" class="wp-image-455" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_CWINDOWSsystem32cmdexe_2020-5-11_8-49-33_No-00-min-1.png 437w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_CWINDOWSsystem32cmdexe_2020-5-11_8-49-33_No-00-min-1-300x186.png 300w" sizes="auto, (max-width: 437px) 100vw, 437px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">Visual Studio Codeのインストール</span></h2>



<p>VSCodeのインストールについては、こちらで紹介をさせていただいてますので、良かったら確認してみてください。<br>本記事では省略させていただきますが、もしインストールする場合は日本語の拡張機能も合わせて設定しておいた方が良いです。そちらも記事で触れています。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-detail">

<a href="https://nyanblog2222.com/programming/javascript/5187/" title="Visual Studio Codeのインストールや日本語化設定" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2023/03/20230328_1-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Visual Studio Codeのインストールや日本語化設定</div><div class="blogcard-snippet internal-blogcard-snippet">Visual Studio Code（VSCode）の基本の使い方として、インストール方法や拡張機能（日本語化）の設定を紹介します。初心者の方向けに画像付きで分かりやすく紹介していますので、初めて環境構築をする方は是非ご覧になってください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2023.03.26</div></div></div></div></a>
</div>



<h2 class="wp-block-heading"><span id="toc4">Visual Studio Codeに拡張機能をインストール</span></h2>



<p>Go言語開発のためにいくつか拡張機能をインストールしておきます。<br>まずはVisual Studio Codeを開いてみましょう。</p>



<p>左側のアクティビティバーにある、<strong><span class="has-inline-color has-pale-pink-color">赤枠、</span></strong>拡張機能をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="619" height="464" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-47_No-00-min.png" alt="Visual Studio Code" class="wp-image-475" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-47_No-00-min.png 619w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-47_No-00-min-300x225.png 300w" sizes="auto, (max-width: 619px) 100vw, 619px" /></figure>



<h3 class="wp-block-heading"><span id="toc5">日本語化　[Japanese Language Pack for Visual Studio Code]</span></h3>



<p>まずは、日本語化の拡張機能を入れていきましょう。<br><strong><span style="color:#b78d4a" class="has-inline-color">「Marketplace」</span></strong>に<strong><span style="color:#b78d4a" class="has-inline-color">「Japanese」</span></strong>と入力してください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="620" height="183" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-5.png" alt="" class="wp-image-485" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-5.png 620w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-5-300x89.png 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /></figure>



<p>すると、<strong><span style="color:#b78d4a" class="has-inline-color">「Japanese Language Pack for Visual Studio Code」</span></strong>が出てきますので、インストールを行ってください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="620" height="177" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-4.png" alt="" class="wp-image-484" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-4.png 620w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-55-58_No-00-min-4-300x86.png 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /></figure>



<p>locale.jsonで日本語に設定します。<br><strong><span style="color:#b78d4a" class="has-inline-color">「Ctrl」+「Shift」+「P」</span></strong>でコマンドパレットを起動し、<br><strong><span style="color:#b78d4a" class="has-inline-color">「configure」</span></strong>と入力します。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">「Configure Display Language」</span></strong>と出てくるので、クリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="617" height="179" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-8_No-00-min.png" alt="Visual Studio Code　日本語" class="wp-image-483" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-8_No-00-min.png 617w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-8_No-00-min-300x87.png 300w" sizes="auto, (max-width: 617px) 100vw, 617px" /></figure>



<p><strong><span style="color:#b78d4a" class="has-inline-color">「ja」</span></strong>(japanese)をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="617" height="180" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-11_No-00-min.png" alt="Visual Studio Code　日本語" class="wp-image-486" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-11_No-00-min.png 617w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Welcome-Visual-Studio-Code_2020-5-11_8-59-11_No-00-min-300x88.png 300w" sizes="auto, (max-width: 617px) 100vw, 617px" /></figure>



<p>再起動するか確認するメッセージボックスが出ますので、<strong><span style="color:#b78d4a" class="has-inline-color">「Restart」</span></strong>をクリックしてください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="567" height="205" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-11_8-59-22_No-00.png" alt="Visual Studio Code　再起動" class="wp-image-488" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-11_8-59-22_No-00.png 567w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_Visual-Studio-Code_2020-5-11_8-59-22_No-00-300x108.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure>



<p>これで日本語化の完了です。</p>



<h3 class="wp-block-heading"><span id="toc6">Go言語　[Go]</span></h3>



<p>Visual Studio CodeでGo言語を開発するための拡張機能をインストールします。<br>先ほどと同じように左側のアクティビティバーから、拡張機能をクリックします。<br><strong><span style="color:#b78d4a" class="has-inline-color">「Marketplace」</span></strong>に<strong><span style="color:#b78d4a" class="has-inline-color">「Go」</span></strong>と入力し、<span style="color:#b78d4a" class="has-inline-color"><strong>「インストール」</strong></span>をクリックします。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="619" height="185" src="https://nyanblog2222.com/wp-content/uploads/2020/05/a41e71f865d80b1a58e6d5bfe8ae6dcb-1.png" alt="Visual Studio Code　Go" class="wp-image-495" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/a41e71f865d80b1a58e6d5bfe8ae6dcb-1.png 619w, https://nyanblog2222.com/wp-content/uploads/2020/05/a41e71f865d80b1a58e6d5bfe8ae6dcb-1-300x90.png 300w" sizes="auto, (max-width: 619px) 100vw, 619px" /></figure>



<h3 class="wp-block-heading"><span id="toc7">Go言語　[更新パッケージ]</span></h3>



<p>続いて、Go言語の更新パッケージをインストールします。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">「Ctrl」+「Shift」+「P」</span></strong>でコマンドパレットを起動し、<br><strong><span style="color:#b78d4a" class="has-inline-color">「GO: Install/Update tools」</span></strong>と入力します。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="619" height="192" src="https://nyanblog2222.com/wp-content/uploads/2020/05/3a23d07159291f1478ee8c3090714ff8.png" alt="Visual Studio Code　Go" class="wp-image-496" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/3a23d07159291f1478ee8c3090714ff8.png 619w, https://nyanblog2222.com/wp-content/uploads/2020/05/3a23d07159291f1478ee8c3090714ff8-300x93.png 300w" sizes="auto, (max-width: 619px) 100vw, 619px" /></figure>



<p>全ての項目にチェックをつけ、<strong><span style="color:#b78d4a" class="has-inline-color">「OK」</span></strong>をクリックします。<br>※ <strong><span class="has-inline-color has-pale-pink-color">赤枠</span></strong>の上のチェックボックスをクリックすると、全チェックになります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="619" height="211" src="https://nyanblog2222.com/wp-content/uploads/2020/05/2413e2931ac5f26d3e5898370c8face6.png" alt="" class="wp-image-498" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/2413e2931ac5f26d3e5898370c8face6.png 619w, https://nyanblog2222.com/wp-content/uploads/2020/05/2413e2931ac5f26d3e5898370c8face6-300x102.png 300w" sizes="auto, (max-width: 619px) 100vw, 619px" /></figure>



<p>少し待つと、<strong><span class="has-inline-color has-pale-pink-color">赤線</span></strong>のように<strong><span style="color:#b78d4a" class="has-inline-color">「All tools successfully installed.」</span></strong>と出力されたら完了です。<br>これでデバッグ等もできるようになりました。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="620" height="443" src="https://nyanblog2222.com/wp-content/uploads/2020/05/2882157ce63cdd83e811e4163a568ee7.png" alt="" class="wp-image-499" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/2882157ce63cdd83e811e4163a568ee7.png 620w, https://nyanblog2222.com/wp-content/uploads/2020/05/2882157ce63cdd83e811e4163a568ee7-300x214.png 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /></figure>



<h2 class="wp-block-heading"><span id="toc8">まとめ</span></h2>



<p>これでGo言語開発に伴う環境構築が終わりました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/go-lang/432/">【Go言語】環境構築</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/go-lang/432/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SETLOCAL・ENDLOCALの使い方【BAT・サンプル付き】</title>
		<link>https://nyanblog2222.com/programming/cmd/402/</link>
					<comments>https://nyanblog2222.com/programming/cmd/402/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 11 May 2020 09:00:01 +0000</pubDate>
				<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ENDLOCAL]]></category>
		<category><![CDATA[SETLOCAL]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=402</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/4.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/4.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/4-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/4-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/4-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回はBATの&#8221;おまじない&#8221;的なSETLOCAL・ENDLOCALの使用方法についてご紹介します。 目次 SETLOCAL・ENDLOCALとは？SETLOCAL・ENDLOCALを使わないと起こ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/402/">SETLOCAL・ENDLOCALの使い方【BAT・サンプル付き】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/4.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/4.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/4-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/4-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/4-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はBATの&#8221;おまじない&#8221;的なSETLOCAL・ENDLOCALの使用方法についてご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-146" checked><label class="toc-title" for="toc-checkbox-146">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SETLOCAL・ENDLOCALとは？</a></li><li><a href="#toc2" tabindex="0">SETLOCAL・ENDLOCALを使わないと起こる不具合</a><ol><ol><li><a href="#toc3" tabindex="0">メインバッチ</a></li><li><a href="#toc4" tabindex="0">サブバッチ</a></li><li><a href="#toc5" tabindex="0">処理結果</a></li><li><a href="#toc6" tabindex="0">サブバッチ</a></li><li><a href="#toc7" tabindex="0">処理結果</a></li></ol></li></ol></li><li><a href="#toc8" tabindex="0">SETLOCAL・ENDLOCALを使った場合</a><ol><ol><li><a href="#toc9" tabindex="0">サブバッチ</a></li><li><a href="#toc10" tabindex="0">処理結果</a></li></ol></li></ol></li><li><a href="#toc11" tabindex="0">SETLOCAL ENDLOCALは先頭・末尾でないといけない？</a><ol><ol><li><a href="#toc12" tabindex="0">メインバッチ</a></li><li><a href="#toc13" tabindex="0">サブバッチ</a></li><li><a href="#toc14" tabindex="0">処理結果</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SETLOCAL・ENDLOCALとは？</span></h2>



<p><strong><span style="color:#b78d4a" class="has-inline-color">BAT内だけで使用するローカル環境変数を扱う</span></strong>もので、主に</p>



<ul class="wp-block-list"><li>コマンドプロンプトを開いた状態で、複数のBATファイルを実行する場合</li><li>メインBATからサブBATを呼びだす場合</li></ul>



<p>に使われます。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">・SETLOCAL</span></strong>とは<br>BAT内で使用するローカル環境変数を作成します。<br>ローカル環境変数はENDLOCAL又はBATの終わりに達したとき終了します。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">・ENDLOCAL</span></strong>とは<br>ローカル環境変数を終了します。</p>



<p>それでは次項から具体例で説明します。</p>



<h2 class="wp-block-heading"><span id="toc2">SETLOCAL・ENDLOCALを使わないと起こる不具合</span></h2>



<p>不具合の例として、メインバッチとサブバッチの環境変数名が同じで、サブバッチ内でも値をセットしてしまったものを紹介します。</p>



<h4 class="wp-block-heading"><span id="toc3">メインバッチ</span></h4>



<pre class="wp-block-code dos"><code>@ECHO OFF
SET TMP1=TEST END

@REM 処理実行
CALL TEST.BAT
ECHO %TMP1%</code></pre>



<h4 class="wp-block-heading"><span id="toc4">サブバッチ</span></h4>



<pre class="wp-block-code dos"><code>SET TMP1=C:\Windows

REM ～～～処理～～～</code></pre>



<h4 class="wp-block-heading"><span id="toc5">処理結果</span></h4>



<pre class="wp-block-code plaintext"><code>C:\Windows</code></pre>



<p>このように同じ環境変数を使用してしまったせいで、本来であれば、処理終了を示す「TEST END」と表示するはずでしたが、サブバッチでセットした「C:\Windows」が表示されてしまいました。</p>



<p>今回の例であればサブバッチを１つしか呼び出しておらず、セットした内容も全く異なるため、簡単にバグだと発見できました。ただこれが複数のサブバッチでセットする内容も似たような値であれば、<strong><span style="color:#b78d4a" class="has-inline-color">原因分析が困難な上に、処理結果を見ても間違いに気づかない可能性</span></strong>があります。</p>



<p>もちろん、サブバッチでセットした値をサブバッチ終了時に解放しても同じです。</p>



<h4 class="wp-block-heading"><span id="toc6">サブバッチ</span></h4>



<pre class="wp-block-code dos"><code>SET TMP1=C:\Windows

REM ～～～処理～～～

SET TMP1=</code></pre>



<h4 class="wp-block-heading"><span id="toc7">処理結果</span></h4>



<pre class="wp-block-code plaintext"><code>ECHO は &lt;OFF&gt; です。</code></pre>



<p>このように、サブバッチ内で解放してもNULLがメインバッチの環境変数に反映されてしまいました。</p>



<p>開放もできないとなると、メインバッチとサブバッチで環境変数名が被らないように注意するしかない？と思うかもしれませんが、そこで使用するのが<strong><span style="color:#b78d4a" class="has-inline-color">SETLOCAL・ENDLOCAL</span></strong>になります。</p>



<h2 class="wp-block-heading"><span id="toc8">SETLOCAL・ENDLOCALを使った場合</span></h2>



<p>先ほどの例にSETLOCAL・ENDLOCALを使いました。メインバッチは先ほどと同じです。</p>



<h4 class="wp-block-heading"><span id="toc9">サブバッチ</span></h4>



<pre class="wp-block-code dos"><code>SETLOCAL

SET TMP1=C:\WINDOWS

REM ～～～処理～～～

ENDLOCAL</code></pre>



<h4 class="wp-block-heading"><span id="toc10">処理結果</span></h4>



<pre class="wp-block-code plaintext"><code>TEST END</code></pre>



<p>この通り、期待していた処理結果となりました！</p>



<h2 class="wp-block-heading"><span id="toc11">SETLOCAL ENDLOCALは先頭・末尾でないといけない？</span></h2>



<p>結論から申し上げますと、<strong><span style="color:#b78d4a" class="has-inline-color">SETLOCAL・ENDLOCALの位置はどこでも構いません</span></strong>。ローカル環境変数を始めたい箇所にSETLOCALを設定し、終わりたい箇所でENDLOCALを設定すれば問題ありません。</p>



<p>なので、以下のような使い方ができます。</p>



<h4 class="wp-block-heading"><span id="toc12">メインバッチ</span></h4>



<pre class="wp-block-code dos"><code>@ECHO OFF
SET TMP1=～～～処理～～～

@REM 処理実行
CALL TEST.BAT</code></pre>



<h4 class="wp-block-heading"><span id="toc13">サブバッチ</span></h4>



<pre class="wp-block-code dos"><code>ECHO %TMP1%

SETLOCAL

SET TMP1=！！処理中！！
ECHO %TMP1%

REM ～～～処理～～～

ENDLOCAL

ECHO %TMP1%</code></pre>



<h4 class="wp-block-heading"><span id="toc14">処理結果</span></h4>



<pre class="wp-block-code plaintext"><code>～～～処理～～～
！！処理中！！
～～～処理～～～</code></pre>



<p>このように、<br>　<strong><span style="color:#b78d4a" class="has-inline-color">SETLOCALまではメインバッチの環境変数</span></strong><br>　<strong><span style="color:#b78d4a" class="has-inline-color">SETLOCALからはサブバッチのローカル環境変数</span></strong><br>　<span style="color:#b78d4a" class="has-inline-color"><strong>ENDLOCAL後はメインバッチの環境変数</strong></span><br>が使われます。</p>



<p>ただ、バッチ間で環境変数を共有すること自体がバグに繋がる可能性がありますので、当サイトでは<strong><span style="color:#b78d4a" class="has-inline-color">SETLOCAL ENDLOCALは先頭・末尾であることを推奨</span></strong>します。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/402/">SETLOCAL・ENDLOCALの使い方【BAT・サンプル付き】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/402/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【対処方法】CMD では UNC パスは現在のディレクトリとしてサポートされません。【net use】</title>
		<link>https://nyanblog2222.com/programming/cmd/399/</link>
					<comments>https://nyanblog2222.com/programming/cmd/399/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 10 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=399</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/5.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/5.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/5-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/5-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/5-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、ファイルサーバー等でBATを実行したり、コマンドプロンプトをネットワーク上で開いたりした際に出てくる「CMD では UNC パスは現在のディレクトリとしてサポートされません。」の原因や対処方法を紹介します。主にW [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/399/">【対処方法】CMD では UNC パスは現在のディレクトリとしてサポートされません。【net use】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/5.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/5.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/5-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/5-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/5-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、ファイルサーバー等でBATを実行したり、コマンドプロンプトをネットワーク上で開いたりした際に出てくる<br><strong><span style="color:#b78d4a" class="has-inline-color">「CMD では UNC パスは現在のディレクトリとしてサポートされません。」</span></strong><br>の原因や対処方法を紹介します。<br>主にWindowsコマンドの「net use」を利用した対処方法です♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-148" checked><label class="toc-title" for="toc-checkbox-148">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">エラーの原因は？どんな状況で発生する？</a><ol><ol><li><a href="#toc2" tabindex="0">１．net use コマンド</a></li><li><a href="#toc3" tabindex="0">２．substコマンド</a></li><li><a href="#toc4" tabindex="0">３．パソコンにネットワークドライブの割り当てを直接設定</a></li></ol></li></ol></li><li><a href="#toc5" tabindex="0">対処方法について（net useコマンド）</a><ol><li><a href="#toc6" tabindex="0">net use 構文</a><ol><li><a href="#toc7" tabindex="0">オプション</a></li></ol></li><li><a href="#toc8" tabindex="0">ネットワークドライブの一覧を表示</a></li><li><a href="#toc9" tabindex="0">ネットワークドライブに割り当てる</a><ol><li><a href="#toc10" tabindex="0">・ドメイン名を指定する</a></li><li><a href="#toc11" tabindex="0">・パスワード入力を促す</a></li></ol></li><li><a href="#toc12" tabindex="0">ネットワークドライブの設定を削除する</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">エラーの原因は？どんな状況で発生する？</span></h2>



<p>例えば、ネットワーク上でBATを起動すると以下のようなメッセージがでます。</p>



<pre class="wp-block-code dos"><code>（dirコマンドを実行）

'\\192.???.???.???\Users'
上記の現在のディレクトリで CMD.EXE を開始しました。
UNC パスはサポートされません。Windows ディレクトリを既定で使用します。
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は ????-???? です

 C:\Windows のディレクトリ

2020/04/22  17:33    &lt;DIR&gt;          .
2020/04/22  17:33    &lt;DIR&gt;          ..
2019/03/19  13:52    &lt;DIR&gt;          addins
...</code></pre>



<p><strong><span style="color:#b78d4a" class="has-inline-color">「UNC パスはサポートされません」</span></strong>と出てしまい、かつ、<br>本来ならば「\\192.???.???.???\Users」のディレクトリを表示させたいところですが、<strong>カレントディレクトリを「C:\Windows」とみなしている</strong>ため、「C:\Windows のディレクトリ」一覧を表示しています。</p>



<p>エラー原因としては、<br><strong><span style="color:#b78d4a" class="has-inline-color">コマンドラインではUNCパスをサポートしていない</span></strong>ことです。<br>なので、今回だと自動的に<strong><span style="color:#b78d4a" class="has-inline-color">「C:\Windows」をカレントディレクトリ</span></strong>として扱ってしまっています。<br>※<strong><span style="color:#b78d4a" class="has-inline-color">UNC [Universal Naming Convention] パスとは</span></strong>、<br>「\\192.???.???.???\Users」のように<strong><span style="color:#b78d4a" class="has-inline-color">Windowsネットワーク上で共有されているファイルやフォルダなどの位置を指し示すパス</span></strong>のこと。</p>



<p>対処方法としては、<br>ファイルサーバなど共有フォルダへアクセスしたい場合、<br><strong><span style="color:#b78d4a" class="has-inline-color">ローカルドライブへネットワークドライブを割り当てる方法</span></strong>があります。</p>



<p>割り当て方法としては、以下の方法が考えられます。</p>



<h4 class="wp-block-heading"><span id="toc2">１．net use コマンド</span></h4>



<pre class="wp-block-code dos"><code>net use z: \\192.???.???.???\Users

～　zドライブを使用して処理　～

net use z: /delete</code></pre>



<p>詳細は次項にて。</p>



<h4 class="wp-block-heading"><span id="toc3">２．substコマンド</span></h4>



<pre class="wp-block-code dos"><code>SUBST z: \\192.???.???.???\Users

～　zドライブを使用して処理　～

SUBST z: /D</code></pre>



<h4 class="wp-block-heading"><span id="toc4">３．パソコンにネットワークドライブの割り当てを直接設定</span></h4>



<p>・デスクトップに「ネットワーク」のショートカットあれば右クリック、</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="75" height="61" src="https://nyanblog2222.com/wp-content/uploads/2021/03/2021-03-10.jpg" alt="ネットワークドライブの割り当て" class="wp-image-3214"/></figure>



<p>なければ、適当なフォルダを開き、<br>左欄をスクロールし、一番下らへんにある「ネットワーク」を右クリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="208" height="234" src="https://nyanblog2222.com/wp-content/uploads/2021/03/2021-03-10-3.jpg" alt="ネットワークドライブの割り当て" class="wp-image-3215"/></figure>



<p>・「ネットワーク ドライブの割り当て」をクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="278" height="207" src="https://nyanblog2222.com/wp-content/uploads/2021/03/2021-03-10-1.jpg" alt="ネットワークドライブの割り当て" class="wp-image-3216"/></figure>



<p>・ドライブ指定</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="614" height="454" src="https://nyanblog2222.com/wp-content/uploads/2021/03/2021-03-10-2.jpg" alt="ネットワークドライブの割り当て" class="wp-image-3217" srcset="https://nyanblog2222.com/wp-content/uploads/2021/03/2021-03-10-2.jpg 614w, https://nyanblog2222.com/wp-content/uploads/2021/03/2021-03-10-2-300x222.jpg 300w" sizes="auto, (max-width: 614px) 100vw, 614px" /></figure>



<p></p>



<p>１～３の手段があり、どれを使ったらいいかですが、<br>パスワード設定等でき、汎用性のある<strong><span style="color:#b78d4a" class="has-inline-color">「１．net use コマンド」がおすすめ</span></strong>です。<br>逆に、簡単にできるので考え方次第ですが、<br>パソコンの設定に依存する「３．パソコンにネットワークドライブの割り当てを直接設定」はあまり良い手段じゃないと思います。</p>



<h2 class="wp-block-heading"><span id="toc5">対処方法について（net useコマンド）</span></h2>



<p>基本的には以下のように使用しますが、<br>本項ではもう少し踏み込んで、net useコマンドの使い方についての詳細を紹介します。</p>



<pre class="wp-block-code dos"><code>net use z: \\192.???.???.???\Users

～　zドライブを使用して処理　～

net use z: /delete</code></pre>



<h3 class="wp-block-heading"><span id="toc6">net use 構文</span></h3>



<ul class="wp-block-list"><li>net use [ デバイス名 | * ] [ \\コンピュータ名\共有名 [ \ボリューム ] [ パスワード | * ]&nbsp;][&nbsp;/USER : [ ドメイン名\ ] ユーザー名&nbsp;][ [ /DELETE ] | [/PERSISTENT : {YES | NO} ] ]</li><li>net use [ デバイス名 | * ] [ パスワード | * ]&nbsp;[ /HOME ]</li><li>net use [ /PERSISTENT : {YES | NO} ]</li></ul>



<h4 class="wp-block-heading"><span id="toc7">オプション</span></h4>



<figure class="wp-block-table"><table><tbody><tr><th width="30%">オプション</th><th>説明</th></tr><tr><td>（なし）</td><td>現在設定しているネットワークドライブの一覧を表示します。</td></tr><tr><td>/user</td><td>接続するためのユーザ名を指定します。[]は任意で以下のように設定します。<br>・/user:[ドメイン名\]ユーザ名<br>・/user:[完全修飾ドメイン名\]ユーザ名<br>・/user:ユーザ名@完全修飾ドメイン名</td></tr><tr><td>/home</td><td>ユーザーのホーム ディレクトリに接続する。</td></tr><tr><td>/smartcard</td><td>スマートカードの情報を利用して接続する。</td></tr><tr><td>/savecred</td><td>入力したユーザとパスワードを保存する。</td></tr><tr><td>/requireintegrity</td><td>共有への署名付き接続を要求する。</td></tr><tr><td>/requireprivacy</td><td>共有へ暗号化された接続を要求する。</td></tr><tr><td>/presistent</td><td>次回以降自動的に接続するか、設定します。<br>yes : 接続を保存し、次回ログオン時に再接続する。<br>no : 次回ログオン時に再接続しない。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">ネットワークドライブの一覧を表示</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">net use</span></strong>コマンドで現在設定しているネットワークドライブの一覧を表示させます。</p>



<pre class="wp-block-code dos"><code>c:\Users&gt; net use

ステータス  ローカル名 リモート名                ネットワーク名
-------------------------------------------------------------------------------
OK                    \\192.???.???.???\IPC$   Microsoft Windows Network
コマンドは正常に終了しました。</code></pre>



<h3 class="wp-block-heading"><span id="toc9">ネットワークドライブに割り当てる</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">net use [ドライブ | *] [パス] [パスワード] /user:[ユーザー] </span></strong><br>ネットワークドライブに指定したパスを割り当てます。<br>・[password] : パスワード<br>・[user-name] : ユーザ名</p>



<p>zドライブに「\\192.???.???.???\Users」のフォルダを割り当てた後、<br>net useコマンドでzドライブへ設定されていることが確認できます。</p>



<pre class="wp-block-code dos"><code>C:\Users&gt;net use z: \\192.???.???.???\Users &#91;password] /user:&#91;user-name]
コマンドは正常に終了しました。

C:\Users&gt;net use
新しい接続は記憶されます。

ステータス  ローカル名 リモート名                ネットワーク名
-------------------------------------------------------------------------------
OK           Z:        \\192.???.???.???\Users       Microsoft Windows Network
OK                     \\192.???.???.???\IPC$        Microsoft Windows Network
コマンドは正常に終了しました。</code></pre>



<h4 class="wp-block-heading"><span id="toc10">・ドメイン名を指定する</span></h4>



<p>ドメイン名を指定する場合はこのように指定します。<br>・[password] : パスワード<br>・[domain] : ドメイン名<br>・[user-name] : ユーザ名</p>



<pre class="wp-block-code dos"><code>C:\Users&gt;net use z: \\192.???.???.???\Users &#91;password] /user:&#91;domain]\&#91;user-name]</code></pre>



<h4 class="wp-block-heading"><span id="toc11">・パスワード入力を促す</span></h4>



<p>BATに記述する場合など、パスワードを指定したくない場合は<br>このように指定すると、実行時にユーザに問い合わせることもできます。<br>・[user-name] : ユーザ名</p>



<pre class="wp-block-code dos"><code>C:\Users&gt;net use * \\192.???.???.???\Users * /user:&#91;user-name]
\\192.???.???.???\Users のパスワードを入力してください:
ドライブ Z: は現在 \\192.???.???.???\Users に接続されています。

コマンドは正常に終了しました。</code></pre>



<p>今回はドライブ名も*で記述して、<br>空いているドライブに自動的に割り当てています。</p>



<h3 class="wp-block-heading"><span id="toc12">ネットワークドライブの設定を削除する</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">net use [ドライブ | *] /delete </span></strong>コマンドで、ネットワークドライブの設定を削除します。</p>



<p>先ほど設定したzドライブを削除し、<br>net useコマンドで一覧から削除されていることが確認できます。<br>net use * /delete とすると、<br>全てのネットワークドライブの接続を解除してしまうので、注意が必要です。<br>※ コマンド実行後、操作を続行しますか？と確認メッセージが出力されます。</p>



<pre class="wp-block-code dos"><code>C:\Users&gt;net use z: /delete
z: が削除されました。

C:\Users&gt;net use
新しい接続は記憶されます。

ステータス  ローカル名 リモート名                ネットワーク名
-------------------------------------------------------------------------------
OK                     \\192.???.???.???\IPC$        Microsoft Windows Network
コマンドは正常に終了しました。
</code></pre>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/399/">【対処方法】CMD では UNC パスは現在のディレクトリとしてサポートされません。【net use】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/399/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Windowsコマンド】ディレクトリを変更する【cdコマンド】</title>
		<link>https://nyanblog2222.com/programming/cmd/384/</link>
					<comments>https://nyanblog2222.com/programming/cmd/384/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 09 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=384</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/3.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/3.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/3-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/3-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/3-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />cdコマンドは、現在のディレクトリを変更するコマンドです。「cd」でも「chdir」でもどちらでも大丈夫です。 目次 構文オプション使用例cd　カレントディレクトリへ移動cd ..　親ディレクトリへ移動するcd \　ルー [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/384/">【Windowsコマンド】ディレクトリを変更する【cdコマンド】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/3.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/3.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/3-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/3-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/3-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>cdコマンドは、現在のディレクトリを変更するコマンドです。<br>「cd」でも「chdir」でもどちらでも大丈夫です。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-150" checked><label class="toc-title" for="toc-checkbox-150">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">構文</a></li><li><a href="#toc2" tabindex="0">オプション</a></li><li><a href="#toc3" tabindex="0">使用例</a><ol><li><a href="#toc4" tabindex="0">cd　カレントディレクトリへ移動</a></li><li><a href="#toc5" tabindex="0">cd ..　親ディレクトリへ移動する</a></li><li><a href="#toc6" tabindex="0">cd \　ルートディレクトリへ移動する</a></li><li><a href="#toc7" tabindex="0">cd [ディレクトリ]　指定ディレクトリへ移動する</a></li><li><a href="#toc8" tabindex="0">cd /d [ドライブ:ディレクトリ]　ドライブ含めてディレクトリを変更する</a></li></ol></li><li><a href="#toc9" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">構文</span></h2>



<ul class="wp-block-list"><li>cd [ .. | \ ]</li><li>cd [ /d ] [ディレクトリ]</li><li>chdir [ .. | \ ]</li><li>chdir [ /d ] [ディレクトリ]</li></ul>



<h2 class="wp-block-heading"><span id="toc2">オプション</span></h2>



<figure class="wp-block-table"><table><tbody><tr><th width="30%">オプション</th><th>説明</th></tr><tr><td>..</td><td>親ディレクトリ（一つ上の階層）にカレントディレクトリを変更する</td></tr><tr><td>\</td><td>ルートディレクトリにカレントディレクトリを変更する</td></tr><tr><td>/d</td><td>[ディレクトリ]がドライブを含む絶対パスの場合、このオプションをつけることで、ドライブ変更ができる</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc3">使用例</span></h2>



<p>いくつか使用例をご紹介します。<br>コマンドそのままコピーも可能ですが、実際にフォルダが存在しないとカレントディレクトリは移動できませんので、ご注意ください。</p>



<h3 class="wp-block-heading"><span id="toc4">cd　カレントディレクトリへ移動</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">cd</span></strong>コマンドでカレントディレクトリへ移動します。</p>



<pre class="wp-block-code dos"><code>c:\test\directory&gt; cd

c:\test\directory</code></pre>



<h3 class="wp-block-heading"><span id="toc5">cd ..　親ディレクトリへ移動する</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">cd .. </span></strong>コマンドで親ディレクトリである、c:\testへカレントディレクトリが移動します。</p>



<pre class="wp-block-code"><code>c:\test\directory&gt; cd ..

c:\test&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc6">cd \　ルートディレクトリへ移動する</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">cd \ </span></strong>コマンドで、ルートディレクトリへ移動します。<br>この場合は、ルートディレクトリは「c:\」なので、「c:\」へ移動します。</p>



<pre class="wp-block-code"><code>c:\Data\Sample&gt; cd \

c:\&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc7">cd [ディレクトリ]　指定ディレクトリへ移動する</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">cd [ディレクトリ]</span></strong>　コマンドで、指定するディレクトリへ移動します。<br>ただし、ドライブが異なる場合は、次項目の方法で移動してください。</p>



<pre class="wp-block-code dos"><code>c:\test> cd c:\Data\Sample

c:\Data\Sample></code></pre>



<h3 class="wp-block-heading"><span id="toc8">cd /d [ドライブ:ディレクトリ]　ドライブ含めてディレクトリを変更する</span></h3>



<p>ドライブが異なる場合は、/dオプションをつけて、<strong><span style="color:#b78d4a" class="has-inline-color">cd /d [ドライブ:ディレクトリ]</span></strong>　コマンドでカレントディレクトリを移動します。</p>



<pre class="wp-block-code dos"><code>c:\> cd /d D:\test\directory

D:\test\directory></code></pre>



<p>もしくは、以下の方法でもディレクトリの移動が可能です。</p>



<pre class="wp-block-code dos"><code>c:\> cd D:\test\directory

c:\> D:

D:\test\directory></code></pre>



<h2 class="wp-block-heading"><span id="toc9">まとめ</span></h2>



<p>筆者は、/dオプションのことを最近まで知らず、長い間ドライブ移動して、カレントディレクトリを変更するといった2段階を踏んでいました。<br>知っているコマンドでも、機能を全て知らなかった。といったコマンドが他にもあるかもしれませんね。<br>良ければ実際にコマンドを打って試してみてくださいね！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/384/">【Windowsコマンド】ディレクトリを変更する【cdコマンド】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/384/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Raindrops.js】水面の動きを表現したプラグインの使い方【JQuery】</title>
		<link>https://nyanblog2222.com/programming/javascript/345/</link>
					<comments>https://nyanblog2222.com/programming/javascript/345/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 08 May 2020 09:00:31 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=345</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/76_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/76_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/76_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/76_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/76_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はRaindrops.jsという、水面の動きを表現したプラグインをご紹介いたします。このプラグインは雨が水面に滴るような動きを表現しており、清涼感を表現することができそうですね！では、さっそく使い方をご紹 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/345/">【Raindrops.js】水面の動きを表現したプラグインの使い方【JQuery】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/76_new.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/76_new.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/76_new-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/76_new-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/76_new-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回は<strong><span style="color:#b78d4a" class="has-inline-color">Raindrops.js</span></strong>という、水面の動きを表現したプラグインをご紹介いたします。<br>このプラグインは雨が水面に滴るような動きを表現しており、清涼感を表現することができそうですね！<br>では、さっそく使い方をご紹介いたします。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-152" checked><label class="toc-title" for="toc-checkbox-152">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTMLで形を作る</a></li><li><a href="#toc2" tabindex="0">CSSでスタイルを設定</a></li><li><a href="#toc3" tabindex="0">htmlへjsファイルの読み込みを設定</a></li><li><a href="#toc4" tabindex="0">JSファイルにオプションを設定</a></li><li><a href="#toc5" tabindex="0">Raindropsのオプション</a></li><li><a href="#toc6" tabindex="0">デモ</a></li><li><a href="#toc7" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTMLで形を作る</span></h2>



<p>今回は簡単にdivで表現枠を作成しています。</p>



<pre class="wp-block-code html"><code>&lt;div class="wrapper"&gt;
    // canvas_wrapperクラスのdivにJQueryで動きをつけたcanvasが設定されます。
    &lt;div class="canvas_wrapper"&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSSでスタイルを設定</span></h2>



<p>cssでdivタグにサイズを設定するのと、動きを分かりやすくするため、画像と背景色を設定します。</p>



<pre class="wp-block-code css"><code>// <strong>div</strong>を中央寄せ
.wrapper {
    max-width: 1024px;
    margin: 0 auto;
}

.canvas_wrapper {
    // サイズの設定
    max-width: 1024px;
    height: 600px;

    // お好みで背景の設定をしてください。
    background: url(../img/main_visual.jpg) center center / cover no-repeat #fff;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">htmlへjsファイルの読み込みを設定</span></h2>



<p>今回指定するのは、4つのjsファイルです。</p>



<ul class="wp-block-list"><li><strong><span style="color:#b78d4a" class="has-inline-color">JQuery</span></strong>　（ライブラリ）</li><li><strong><span style="color:#b78d4a" class="has-inline-color">JQuery UI</span></strong>　（ライブラリ）</li><li><span style="color:#b78d4a" class="has-inline-color"><strong>Raindrops</strong></span>　（プラグイン）</li><li>オプション設定用のjsファイル</li></ul>



<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">Raindrops.jsプラグイン</span></strong>を使用するため、別途JQuery、JQuery UIのライブラリが必要になります。</p>



<p>HTMLへの設定は、<br><a class="link" href="https://developers.google.com/speed/libraries/">Google Ajax Libraries API</a>&nbsp;を使用して、ライブラリの読み込みを設定しています。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">Raindrops.js</span></strong>プラグインは、<br><a rel="noopener" class="link broken_link" href="https://daniellaharel.com/raindrops/" target="_blank">こちら</a>からダウンロードして読み込みの設定をしましょう。</p>



<p>読み込み設定注意点として、<strong><span style="color:#b78d4a" class="has-inline-color">読み込む順番にも決まり</span></strong>がありますので、以下の順番で設定してください。</p>



<pre class="wp-block-code html"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"&gt;&lt;/script&gt;
&lt;script src="js/raindrops.js"&gt;&lt;/script&gt;
&lt;script src="js/style.js"&gt;&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">JSファイルにオプションを設定</span></h2>



<p>HTMLのdivタグに設定した、canvas_wrapperクラスに対し、Raindropsのオプションを設定したら、簡単に表現することができました。</p>



<pre class="wp-block-code javascript"><code>$(<strong>function</strong>(){
	$(".canvas_wrapper").raindrops();
});</code></pre>



<h2 class="wp-block-heading"><span id="toc5">Raindropsのオプション</span></h2>



<p>このように指定することで、詳細なオプションを設定することができます。</p>



<pre class="wp-block-code javascript"><code>$(".canvas_wrapper").raindrops({
    color:"#fff",
    canvasHeight:200,
    rippleSpeed: 0.05,
    density: 0.04
});</code></pre>



<p>オプションの設定については以下の通りです。</p>



<figure class="wp-block-table">
    <table>
        <tbody>
            <tr>
                <th class="text-aline-center">オプション</th>
                <th class="text-aline-center">説明</th>
            </tr>
            <tr>
                <th>color</th>
                <td>水の色を指定</td>
            </tr>
            <tr>
                <th>waveLength</th>
                <td>波長を数値で指定します。<br>数値が大きいほど、波長は短い。<br>初期設定は340。</td>
            </tr>
            <tr>
                <th>frequency</th>
                <td>雨粒の頻度を指定。<br>数値が大きいほど、雨滴が頻繁に発生。<br>初期設定は3。</td>
            </tr>
            <tr>
                <th>waveHeight</th>
                <td>波の高さ。<br>数値が大きいほど、雨滴によって生成される波が高くなる。<br>初期設定は100。</td>
            </tr>
            <tr>
                <th>density</th>
                <td>水の密度。<br>数値が大きいほど、波紋が短くなる。<br>初期設定は0.02。</td>
            </tr>
            <tr>
                <th>rippleSpeed</th>
                <td>波及効果の速度。<br>数値が大きいほど、波紋が速い。<br>初期設定は0.1。</td>
            </tr>
            <tr>
                <th>canvasWidth</th>
                <td>canvasの幅。<br>初期設定は親の幅の100%。</td>
            </tr>
            <tr>
                <th>canvasHeight</th>
                <td>canvasの高さ。<br>初期設定は親の高さの50%。</td>
            </tr>
            <tr>
                <th>rightPadding</th>
                <td>アニメーションによる、canvasの左右の余白を指定。<br>初期設定は20。</td>
            </tr>
            <tr>
                <th>position</th>
                <td>canvasに指定されるpositionの値。<br>初期値は&#8221;absolute&#8221;。</td>
            </tr>
            <tr>
                <th>positionBottom</th>
                <td>canvasに指定されるBottomの値。<br>初期値は0。</td>
            </tr>
            <tr>
                <th>positionLeft</th>
                <td>canvasに指定されるLeftの値。<br>初期値は0。</td>
            </tr>
        </tbody>
    </table>
    <p>参考：<a rel="noopener" class="link broken_link" href="https://daniellaharel.com/raindrops/#documentation" target="_blank">Raindorops ドキュメント</a></p>
</figure>



<h2 class="wp-block-heading"><span id="toc6">デモ</span></h2>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/raindrops/" target="_blank">デモページはこちら</a></strong>です。</p>



<h2 class="wp-block-heading"><span id="toc7">まとめ</span></h2>



<p>今回はJqueryのプラグイン<strong><span style="color:#b78d4a" class="has-inline-color">【Raindrops.js】</span></strong>について、ご紹介しました。<br>組み込みも設定も簡単にできるので、ぜひ参考にして、試してみてください！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/345/">【Raindrops.js】水面の動きを表現したプラグインの使い方【JQuery】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/345/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【BAT】IPアドレスとDNSサーバーのアドレスを抽出・設定する方法</title>
		<link>https://nyanblog2222.com/programming/cmd/327/</link>
					<comments>https://nyanblog2222.com/programming/cmd/327/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Thu, 07 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=327</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/2.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/2-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/2-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/2-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、ネットワーク用アドレスの抽出・設定をするバッチを作成したので、ご紹介します。 目次 ネットワーク用アドレスの抽出・設定とは？接続方法設定ファイルの設定ネットワーク用アドレスをDHCPに設定ネットワーク用アドレスを [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/327/">【BAT】IPアドレスとDNSサーバーのアドレスを抽出・設定する方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/2.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/2-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/2-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/2-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、ネットワーク用アドレスの抽出・設定をするバッチを作成したので、ご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-154" checked><label class="toc-title" for="toc-checkbox-154">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ネットワーク用アドレスの抽出・設定とは？</a></li><li><a href="#toc2" tabindex="0">接続方法設定ファイルの設定</a></li><li><a href="#toc3" tabindex="0">ネットワーク用アドレスをDHCPに設定</a></li><li><a href="#toc4" tabindex="0">ネットワーク用アドレスを任意の値に設定</a></li><li><a href="#toc5" tabindex="0">ネットワーク用アドレスを抽出</a></li><li><a href="#toc6" tabindex="0">管理者権限でバッチを実行する</a></li><li><a href="#toc7" tabindex="0">バッチのフォルダ構成</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ネットワーク用アドレスの抽出・設定とは？</span></h2>



<p>「ネットワーク」 ‐「 プロパティ」 ‐ 「アダプターの設定の変更」 ‐ 「ワイヤレス ネットワーク接続」 ‐ 「プロパティ」 ‐ 「インターネットプロトコルバージョン4(TCP/IPv4)」より、以下画面を表示できますが、今回対象になるネットワーク用アドレスは、赤枠部分になります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="436" height="487" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_22-51-47_No-00.png" alt="ネットワーク用アドレス" class="wp-image-331" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_22-51-47_No-00.png 436w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_22-51-47_No-00-269x300.png 269w" sizes="auto, (max-width: 436px) 100vw, 436px" /></figure>



<p>今回はこのネットワーク用アドレス</p>



<ul class="wp-block-list"><li><strong>IPアドレス</strong></li><li><strong>サブネットマスク</strong></li><li><strong>デフォルトゲートウェイ</strong></li></ul>



<ul class="wp-block-list"><li><strong><strong>優先</strong></strong> <strong>DNSサーバ</strong></li><li>代替 <strong>DNSサーバ</strong></li></ul>



<p>の抽出・設定をします。</p>



<p>今回ご紹介するBATで、</p>



<ul class="wp-block-list"><li><strong>DHCPへの変更</strong></li><li><strong>指定のネットワーク用アドレスへの変更</strong></li><li><strong>設定済みのネットワーク用アドレスを抽出</strong></li></ul>



<p>が可能です。</p>



<p>使用者としては、<strong><span style="color:#b78d4a" class="has-inline-color">ネットワーク用アドレスを一時的に変更する機会が多い方</span></strong>を想定しています。<br>例）普段は社内ネットワークとインターネットを分離しているけれど、ライセンス認証等の際にDHCPに設定変更が必要な場合。</p>



<p>他にも、設定ファイルを変えるだけで簡単にIPを変えれるので、パソコンセットアップやネットワーク用アドレス消失等のトラブル対応時の一助になるかもしれません。</p>



<p>それではバッチの内容をそれぞれご紹介します。<br>基本的に全てコピペで使用可能ですので、良かったら試しに動かしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc2">接続方法設定ファイルの設定</span></h2>



<p>事前準備として、以下ファイルを設定ください。<br>このファイルはすべての処理で使用します。</p>



<p>ファイル：CONNECTION.INI</p>



<pre class="wp-block-code plaintext"><code>CONNECTION_METHOD="ワイヤレス ネットワーク接続"</code></pre>



<p><strong><span style="color:#b78d4a" class="has-inline-color">&#8220;ワイヤレス ネットワーク接続&#8221;箇所</span></strong>については、以下のネットワーク接続画面を参照いただき、抽出・設定したいネットワーク接続方法の名称を入力してください。<br>例）抽出・設定したいネットワーク接続方法がローカルエリア接続であれば、&#8221;ローカル エリア接続&#8221;等に書き換え</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="532" height="202" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_コントロール-パネルネットワークとインターネットネットワーク接続_2020-5-6_22-33-41_No-00.png" alt="ネットワーク接続方法" class="wp-image-334" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_コントロール-パネルネットワークとインターネットネットワーク接続_2020-5-6_22-33-41_No-00.png 532w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_コントロール-パネルネットワークとインターネットネットワーク接続_2020-5-6_22-33-41_No-00-300x114.png 300w" sizes="auto, (max-width: 532px) 100vw, 532px" /></figure>



<h2 class="wp-block-heading"><span id="toc3">ネットワーク用アドレスをDHCPに設定</span></h2>



<p>以下のバッチでDHCP（IPアドレス・DNSサーバのアドレスを自動的に取得）に設定します。</p>



<p>■ネットワーク用アドレスをDHCPに設定.bat</p>



<pre class="wp-block-code dos"><code>@ECHO OFF
CD /D %~DP0\..\設定ファイル\

@REM ******************************************************************************
@REM * 接続方法設定ファイルを読み込み
@REM ******************************************************************************
FOR /F "DELIMS== TOKENS=1,2" %%A IN (CONNECTION.INI) DO (
  SET %%A=%%B
)

@REM ******************************************************************************
@REM * IPアドレス・DNSサーバのアドレスを自動的に取得する
@REM ******************************************************************************
NETSH INTERFACE IPV4 SET ADDRESS NAME=%CONNECTION_METHOD% SOURCE=DHCP
NETSH INTERFACE IPV4 SET     DNS NAME=%CONNECTION_METHOD% SOURCE=DHCP</code></pre>



<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"></div>



<p>処理結果です。<br>２か所が自動的に取得する（DHCP）となっています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="465" height="518" src="https://nyanblog2222.com/wp-content/uploads/2020/05/2020-05-06-2-1.png" alt="DHCP" class="wp-image-335" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/2020-05-06-2-1.png 465w, https://nyanblog2222.com/wp-content/uploads/2020/05/2020-05-06-2-1-269x300.png 269w" sizes="auto, (max-width: 465px) 100vw, 465px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">ネットワーク用アドレスを任意の値に設定</span></h2>



<p>事前準備として、「NETWORKADDRESS.INI」に、それぞれ設定したいネットワーク用アドレスを入力します。</p>



<p>ファイル名：NETWORKADDRESS.INI</p>



<pre class="wp-block-code plaintext"><code>IP_IP=123.45.6.1
IP_MASK=255.255.255.0
IP_GATEWAY=123.45.6.2
DNS_MAIN=123.45.6.3
DNS_SUB=123.45.6.4</code></pre>



<p>「NETWORKADDRESS.INI」を使用し、以下のバッチでネットワーク用アドレスを任意の値に設定します。</p>



<p>■ネットワーク用アドレスを任意の値に設定.bat</p>



<pre class="wp-block-code dos"><code>@ECHO OFF
CD /D %~DP0\..\設定ファイル\
<em>
@REM ******************************************************************************</em>
<em>@REM * 接続方法設定ファイル、IPアドレス・DNSサーバのアドレス設定ファイルを読み込み</em>
<em>@REM ******************************************************************************</em>
<strong>FOR</strong> /F "DELIMS== TOKENS=1,2" %%A <strong>IN</strong> (CONNECTION.INI,NETWORKADDRESS.INI) <strong>DO</strong> (
SET %%A=%%B
)
<em>
@REM ******************************************************************************</em>
<em>@REM * IPアドレス変更</em>
<em>@REM ******************************************************************************</em>
NETSH INTERFACE IPV4 SET ADDRESS NAME=%CONNECTION_METHOD% SOURCE=STATIC ADDRESS=%IP_IP% MASK=%IP_MASK% GATEWAY=%IP_GATEWAY%
<em>
@REM ******************************************************************************</em>
<em>@REM * 優先DNSサーバ変更</em>
<em>@REM ******************************************************************************</em>
NETSH INTERFACE IPV4 SET DNS NAME=%CONNECTION_METHOD% SOURCE=STATIC ADDRESS=%DNS_MAIN% REGISTER=PRIMARY VALIDATE=NO
<em>
@REM ******************************************************************************</em>
<em>@REM * 代替DNSサーバ変更</em>
<em>@REM ******************************************************************************</em>
NETSH INTERFACE IPV4 ADD DNS NAME=%CONNECTION_METHOD% ADDRESS=%DNS_SUB% INDEX=2 VALIDATE=NO</code></pre>



<p>処理結果です。<br>「NETWORKADDRESS.INI」と同様のネットワーク用アドレスが設定されます。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="436" height="487" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_22-51-47_No-00.png" alt="ネットワーク用アドレス設定済" class="wp-image-331" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_22-51-47_No-00.png 436w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_22-51-47_No-00-269x300.png 269w" sizes="auto, (max-width: 436px) 100vw, 436px" /></figure>



<h2 class="wp-block-heading"><span id="toc5">ネットワーク用アドレスを抽出</span></h2>



<p>以下の画面はネットワーク用アドレスが設定されている状態です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="442" height="492" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_23-55-1_No-00.png" alt="ネットワーク用アドレス" class="wp-image-340" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_23-55-1_No-00.png 442w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_NoName_2020-5-6_23-55-1_No-00-270x300.png 270w" sizes="auto, (max-width: 442px) 100vw, 442px" /></figure>



<p>バッチで設定されているネットワーク用アドレスを抽出します。</p>



<p>■ネットワーク用アドレスを抽出.bat</p>



<pre class="wp-block-code dos"><code>@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

CD /D %~DP0\..\設定ファイル\

@ECHO ******************************************************************************
@ECHO * 【警告】
@ECHO *  ネットワーク用アドレスを抽出し、「NETWORKADDRESS.INI」に書き込みます。
@ECHO *  問題なければ続行してください。
@ECHO ******************************************************************************
PAUSE
<em>
@REM ******************************************************************************</em>
<em>@REM * 接続方法設定ファイルを読み込み</em>
<em>@REM ******************************************************************************</em>
<strong>FOR</strong> /F "DELIMS== TOKENS=1,2" %%A <strong>IN</strong> (CONNECTION.INI) <strong>DO</strong> (
  SET %%A=%%B
)
<em>
@REM ******************************************************************************</em>
<em>@REM * IPアドレスを設定ファイルに書き込み</em>
<em>@REM ******************************************************************************</em>
SET TAGERT_ADDRESS="IP"
<strong>CALL</strong> :GET_ADDRESS ADDRESS
ECHO IP_IP=%ADDRESS_NUMBER%&gt;NETWORKADDRESS.INI
<em>
@REM ******************************************************************************</em>
<em>@REM * サブネットマスクのアドレスを設定ファイルに書き込み</em>
<em>@REM ******************************************************************************</em>
SET TAGERT_ADDRESS="サブネット"
<strong>CALL</strong> :GET_ADDRESS ADDRESS
<em>
@REM 前処理でXXX.XXX.XXX.XXX/XXX(マスクXXX.XXX.XXX.XXX)の形で取得してしまうため、</em>
<em>@REM XXX.XXX.XXX.XXXの形に成型する</em>
<strong>FOR</strong> /F "DELIMS=( TOKENS=2" %%A <strong>IN</strong> ("%ADDRESS_NUMBER%") <strong>DO</strong> (
  SET ADDRESS_NUMBER=%%A
  SET ADDRESS_NUMBER=!ADDRESS_NUMBER:~3,-1!
)
ECHO IP_MASK=%ADDRESS_NUMBER%&gt;&gt;NETWORKADDRESS.INI
<em>
@REM ******************************************************************************</em>
<em>@REM * デフォルトゲートウェイのアドレスを設定ファイルに書き込み</em>
<em>@REM ******************************************************************************</em>
SET TAGERT_ADDRESS="デフォルト"
<strong>CALL</strong> :GET_ADDRESS ADDRESS
ECHO IP_GATEWAY=%ADDRESS_NUMBER%&gt;&gt;NETWORKADDRESS.INI
<em>
@REM ******************************************************************************</em>
<em>@REM * 優先DNSサーバのアドレスを設定ファイルに書き込み</em>
<em>@REM ******************************************************************************</em>
SET TAGERT_ADDRESS="DNS"
<strong>CALL</strong> :GET_ADDRESS DNSSERVERS
ECHO DNS_MAIN=%ADDRESS_NUMBER%&gt;&gt;NETWORKADDRESS.INI
<em>
@REM ******************************************************************************</em>
<em>@REM * 代替DNSサーバのアドレスを設定ファイルに書き込み</em>
<em>@REM ******************************************************************************</em>
<em>
@REM DNSサーバのアドレスの１行目が優先、２行目が代替となるため、</em>
<em>@REM １行目の行番号を取得し、行番号から代替DNSサーバのアドレスを取得しにいく</em>
<strong>FOR</strong> /F "DELIMS=: TOKENS=1" %%A <strong>IN</strong> ('NETSH INTERFACE IPV4 SHOW DNSSERVERS %CONNECTION_METHOD% ^| FINDSTR /N %TAGERT_ADDRESS%') <strong>DO</strong> (
  SET DNSMAINLINE=%%A
)

<strong>FOR</strong> /F "SKIP=%DNSMAINLINE%" %%A <strong>IN</strong> ('NETSH INTERFACE IPV4 SHOW DNSSERVERS %CONNECTION_METHOD%') <strong>DO</strong> (
  SET ADDRESS_NUMBER=%%A
  SET ADDRESS_NUMBER=!ADDRESS_NUMBER: =!
  <strong>GOTO</strong> BREAK
)
:BREAK
ECHO DNS_SUB=%ADDRESS_NUMBER%&gt;&gt;NETWORKADDRESS.INI

<strong>GOTO</strong> :END


:GET_ADDRESS
<em>REM アドレス取得</em>
<strong>FOR</strong> /F "DELIMS=: TOKENS=2" %%A <strong>IN</strong> ('NETSH INTERFACE IPV4 SHOW %1 %CONNECTION_METHOD% ^| FINDSTR %TAGERT_ADDRESS%') <strong>DO</strong> (
  SET ADDRESS_NUMBER=%%A
  SET ADDRESS_NUMBER=!ADDRESS_NUMBER: =!
)

<strong>GOTO</strong> :END

:END</code></pre>



<p>処理結果です。<br>「NETWORKADDRESS.INI」にネットワーク用アドレスが抽出されます。</p>



<p>ファイル：NETWORKADDRESS.INI</p>



<pre class="wp-block-code"><code>IP_IP=123.45.6.5
IP_MASK=255.255.0.0
IP_GATEWAY=123.45.6.6
DNS_MAIN=123.45.6.7
DNS_SUB=123.45.6.8</code></pre>



<h2 class="wp-block-heading"><span id="toc6">管理者権限でバッチを実行する</span></h2>



<p>今回のバッチですが、実行にあたって管理者権限が必要な処理（ネットワーク情報更新）となります。</p>



<p>そこで、起動するバッチを右クリックし「管理者として実行」でもいいのですが、今回はショートカットをダブルクリックすするだけで強制的に管理者権限で実行する方法を紹介します。</p>



<p>１．ショートカットを作成</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="305" height="133" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_CUsersTanakaDesktopネットワークアドレス設定バッチ_2020-5-7_12-56-48_No-00-1.png" alt="ショートカット作成" class="wp-image-364" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_CUsersTanakaDesktopネットワークアドレス設定バッチ_2020-5-7_12-56-48_No-00-1.png 305w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_CUsersTanakaDesktopネットワークアドレス設定バッチ_2020-5-7_12-56-48_No-00-1-300x131.png 300w" sizes="auto, (max-width: 305px) 100vw, 305px" /></figure>



<p>２．ショートカットのプロパティを開き、詳細設定をクリック</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="493" height="676" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_ネットワークアドレスをDHCPに設定bat-ショートカットのプロパティ_2020-5-7_12-57-11_No-00.png" alt="プロパティ" class="wp-image-366" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_ネットワークアドレスをDHCPに設定bat-ショートカットのプロパティ_2020-5-7_12-57-11_No-00.png 493w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_ネットワークアドレスをDHCPに設定bat-ショートカットのプロパティ_2020-5-7_12-57-11_No-00-219x300.png 219w" sizes="auto, (max-width: 493px) 100vw, 493px" /></figure>



<p>３．「管理者として実行」にチェックを入れる</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="483" height="374" src="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_詳細プロパティ_2020-5-7_12-57-19_No-00.png" alt="管理者として実行" class="wp-image-365" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_詳細プロパティ_2020-5-7_12-57-19_No-00.png 483w, https://nyanblog2222.com/wp-content/uploads/2020/05/SnapCrab_詳細プロパティ_2020-5-7_12-57-19_No-00-300x232.png 300w" sizes="auto, (max-width: 483px) 100vw, 483px" /></figure>



<p>この作業で、バッチを管理者権限で実行することができます。</p>



<h2 class="wp-block-heading"><span id="toc7">バッチのフォルダ構成</span></h2>



<p>以下のフォルダ構成で実行できるようにパス等の設定をしています。</p>



<p>バッチのフォルダ構成</p>



<pre class="wp-block-code has-small-font-size"><code>バッチのフォルダ構成
│  ネットワーク用アドレスをDHCPに設定.bat - ショートカット.lnk　　　・・・実行バッチ（管理者権限で実行可能）
│  ネットワーク用アドレスを任意の値に設定.bat - ショートカット.lnk　・・・〃
│  ネットワーク用アドレスを抽出.bat - ショートカット.lnk・・・・・・・・・〃
│
├─バッチ
│      ネットワーク用アドレスをDHCPに設定.bat ・・・・・・・・・・・・・・本体
│      ネットワーク用アドレスを任意の値に設定.bat ・・・・・・・・・・・・〃
│      ネットワーク用アドレスを抽出.bat ・・・・・・・・・・・・・・・・・〃
│
└─設定ファイル
        CONNECTION.INI ・・・・・・
　　　　　　接続方法（ローカル エリア接続等を入力）
        NETWORKADDRESS.INI ・・・・
　　　　　　抽出バッチを使用する際はこのファイルに抽出される。
　　　　　　設定バッチを使用する際はこのファイルにネットワーク用アドレスを入力する。</code></pre>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/327/">【BAT】IPアドレスとDNSサーバーのアドレスを抽出・設定する方法</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/327/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【C#】文字列を比較する（== 演算子、Equalメソッド、Compareメソッド）</title>
		<link>https://nyanblog2222.com/programming/c-sharp/193/</link>
					<comments>https://nyanblog2222.com/programming/c-sharp/193/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 04 May 2020 08:43:32 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=193</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/94.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/94.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/94-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/94-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/94-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />C#で文字列の比較方法は主に== 演算子、Equalメソッド、Compareメソッドがあります。それぞれ使用用途が異なりますので、用途に応じて使い分けていきましょう。 目次 == （等値）演算子の使用Equalメソッドの [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/193/">【C#】文字列を比較する（== 演算子、Equalメソッド、Compareメソッド）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/94.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/94.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/94-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/94-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/94-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>C#で文字列の比較方法は主に== 演算子、Equalメソッド、Compareメソッドがあります。それぞれ使用用途が異なりますので、用途に応じて使い分けていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-156" checked><label class="toc-title" for="toc-checkbox-156">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">== （等値）演算子の使用</a></li><li><a href="#toc2" tabindex="0">Equalメソッドの使用</a><ol><li><a href="#toc3" tabindex="0">メソッドの使用用途</a></li><li><a href="#toc4" tabindex="0">== (等値)演算子との違い</a></li><li><a href="#toc5" tabindex="0">StringComparison列挙体の指定</a></li></ol></li><li><a href="#toc6" tabindex="0">string.Compareメソッドの使用</a><ol><li><a href="#toc7" tabindex="0">大文字・小文字を区別しない方法</a></li><li><a href="#toc8" tabindex="0">全角・半角を区別しない方法</a></li><li><a href="#toc9" tabindex="0">全角・半角、大文字・小文字を区別しない方法（複数オプション指定）</a></li></ol></li><li><a href="#toc10" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">== （等値）演算子の使用</span></h2>



<p>2つの文字列の内容が等しいかどうかを調べるには、<strong><span style="color:#b78d4a" class="has-inline-color">== <strong>（<strong>等値</strong>）</strong>演算子</span></strong>を使用します。<br>以下のようにオブジェクトが異なっていても、中身が同じであれば同一と判断します。</p>



<pre class="wp-block-code cs"><code>// 変数の設定
string str1 = "sample";
string str2 = "sample";

// 文字列の比較
if (str1 == str2)
{
    Console.WriteLine("文字列は同じです。");
}
else
{
    Console.WriteLine("文字列は異なります。");
}</code></pre>



<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow">
<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は同じです。</code></pre>
</div>



<p>また、文字列の小文字・大文字や全角・半角の区別はされますので、以下の場合、文字列は異なります。</p>



<pre class="wp-block-code cs"><code>// 変数の設定
string str1 = "Sample";
string str2 = "sample";

// 文字列の比較
if (str1 == str2)
{
    Console.WriteLine("文字列は同じです。");
}
else
{
    Console.WriteLine("文字列は異なります。");
}</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は異なります。</code></pre>



<h2 class="wp-block-heading"><span id="toc2">Equalメソッドの使用</span></h2>



<h3 class="wp-block-heading"><span id="toc3">メソッドの使用用途</span></h3>



<p>等値演算子と同様に値の比較を行うメソッドが<strong><span style="color:#b78d4a" class="has-inline-color">Equalメソッド</span></strong>です。<br>以下のように使用します。</p>



<pre class="wp-block-code"><code>// 変数の設定
string str1 = "sample";
string str2 = "sample";

// 文字列の比較
if (str1.Equals(str2))
    Console.WriteLine("文字列は同じです。");</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は同じです。</code></pre>



<h3 class="wp-block-heading"><span id="toc4">== (等値)演算子との違い</span></h3>



<p>等値演算子と同じように値の比較を行いますが、両者の違いは<strong><span style="color:#b78d4a" class="has-inline-color">ポリモーフィズム（多様性）</span></strong>です。等値演算子はオーバーロードされますが、Equalメソッドはオーバーライドされることで、比較結果が異なる場合があります。<br>以下の例を見てみましょう。</p>



<pre class="wp-block-code cs"><code>// 変数の設定
string str1 = new string(new char&#91;] { 's', 'a', 'm', 'p', 'l', 'e' });
string str2 = new string(new char&#91;] { 's', 'a', 'm', 'p', 'l', 'e' });

// 文字列の比較
Console.WriteLine("== 演算子での比較");
if (((object)str1) == ((object)str2))
{
    Console.WriteLine("文字列は同じです。");
}
else
{
    Console.WriteLine("文字列は異なります。");
}
Console.WriteLine("");

Console.WriteLine("Equalsメソッドでの比較");
if (((object)str1).Equals(((object)str2)))
{
    Console.WriteLine("文字列は同じです。");
}
else
{
    Console.WriteLine("文字列は異なります。");
}</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code plaintext"><code>== 演算子での比較
文字列は異なります。

Equalsメソッドでの比較
文字列は同じです。</code></pre>



<p>この例では、stringで宣言した変数に対し、object型にアップキャストして比較しています。<br><strong><span style="color:#b78d4a" class="has-inline-color">== 演算子ではオーバーロード</span></strong>のため、object型同士の比較を行っており、falseで返します。<br>一方Equalメソッドでは、<strong><span style="color:#b78d4a" class="has-inline-color">string型でオーバーライド</span></strong>されたメソッドを使用しているため、trueを返します。<br>string型で文字列を扱っている場合には問題ありませんが、違いは知っていてもいいですね。</p>



<h3 class="wp-block-heading"><span id="toc5">StringComparison列挙体の指定</span></h3>



<p>Equalメソッドでは、StringComparison列挙体の値より、大文字・小文字や並べ替えの規則を指定して比較することができます。</p>



<figure class="wp-block-table">
    <table>
        <tbody>
            <tr>
                <th class="text-aline-center">フィールド</th>
                <th class="text-aline-center">説明</th>
            </tr>
            <tr>
                <th>CurrentCulture</th>
                <td>カルチャに依存した並べ替え規則と、現在のカルチャを使用して、文字列を比較します。</td>
            </tr>
            <tr>
                <th>CurrentCultureIgnoreCase</th>
                <td>カルチャに依存した並べ替え規則と、現在のカルチャを使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。</td>
            </tr>
            <tr>
                <th>InvariantCulture</th>
                <td>カルチャに依存した並べ替え規則と、インバリアント カルチャを使用して、文字列を比較します。</td>
            </tr>
            <tr>
                <th>InvariantCultureIgnoreCase</th>
                <td>カルチャに依存した並べ替え規則と、インバリアント カルチャを使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。</td>
            </tr>
            <tr>
                <th>Ordinal</th>
                <td>序数 (バイナリ) の並べ替え規則を使用して文字列を比較します。</td>
            </tr>
            <tr>
                <th>OrdinalIgnoreCase</th>
                <td>序数 (バイナリ) の並べ替え規則を使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。</td>
            </tr>
        </tbody>
    </table>
    <p><a class="link" href="https://docs.microsoft.com/ja-jp/dotnet/api/system.stringcomparison?view=netcore-3.1">参考：StringComparison 列挙型</a></p>
</figure>



<h2 class="wp-block-heading"><span id="toc6">string.Compareメソッドの使用</span></h2>



<p>最後に<strong><span style="color:#b78d4a" class="has-inline-color">string.Compareメソッド</span></strong>で文字列の比較を行います。<br>Compareメソッドでは、文字列の値を比較するのではなく、<strong><span style="color:#b78d4a" class="has-inline-color">文字列の並び順を比較</span></strong>しています。以下のように使います。</p>



<pre class="wp-block-code"><code>// 変数の設定
string str1 = "sample";
string str2 = "sample";

// 文字列の比較
if (string.Compare(str1, str2) == 0)
    Console.WriteLine("文字列は同じです。");</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は同じです。</code></pre>



<p>この例では、戻り値を0で返しています。<br>Compareメソッドは並び順を比較した結果を-1、0、1で返します。内容は以下の通りです。</p>



<p>string.Compare(A,B);<br>・AがBよりも順番が前：-1<br>・AがBの値が同じ：0<br>・AがBよりも順番が後：1</p>



<p>ちなみにstring.CompareメソッドとString.Compareメソッドがありますが、stringはStringのエイリアスなので、どちらを使用しても大丈夫です。</p>



<h3 class="wp-block-heading"><span id="toc7">大文字・小文字を区別しない方法</span></h3>



<p><strong><span style="color:#b78d4a" class="has-inline-color">第3引数にtrueを入れること</span></strong>で大文字と小文字の区別がなく比較することができます。<br>以下の例で比較結果が同じであることを確認しましょう。</p>



<pre class="wp-block-code cs"><code>// 変数の設定
string str1 = "sample";
string str2 = "SamPle";

// 文字列の比較
if (string.Compare(str1, str2, true) == 0)
    Console.WriteLine("文字列は同じです。");</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は同じです。</code></pre>



<p>また、.Net Framework4.0以上を使用すると、trueを<strong><span style="color:#b78d4a" class="has-inline-color">名前付き引数</span></strong>で指定することができます。</p>



<pre class="wp-block-code cs"><code>if (string.Compare(str1, str2, ignoreCase:true) == 0)</code></pre>



<p>このように指定すると、引数の意味が分かりやすく可読性があがりますね。</p>



<h3 class="wp-block-heading"><span id="toc8">全角・半角を区別しない方法</span></h3>



<p>全角・半角を区別しない場合は、<strong><span style="color:#b78d4a" class="has-inline-color">CultureInfoとCompareOptions.IgnoreWidth</span></strong>を引数に設定します。<br>以降の例では<strong><span style="color:#b78d4a" class="has-inline-color">System.Globalization</span></strong>の名前空間を宣言しています。</p>



<pre class="wp-block-code cs"><code>// 変数の設定
string str1 = "sample";
string str2 = "ｓａｍｐｌｅ";
var cultureInfo = new CultureInfo("ja-JP");

// 文字列の比較
if (string.Compare(str1, str2, cultureInfo, CompareOptions.IgnoreWidth) == 0)
    Console.WriteLine("文字列は同じです。");</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は同じです。</code></pre>



<h3 class="wp-block-heading"><span id="toc9">全角・半角、大文字・小文字を区別しない方法（複数オプション指定）</span></h3>



<p>全角・半角、大文字・小文字を区別しない場合は、<strong><span style="color:#b78d4a" class="has-inline-color">CompareOptions.IgnoreWidth</span></strong>と<strong><span style="color:#b78d4a" class="has-inline-color">CompareOptions.IgnoreCase</span></strong>をOR演算子で繋げることで複数の値を設定することができます。</p>



<pre class="wp-block-code cs"><code>// 変数の設定
string str1 = "sample";
string str2 = "ＳＡＭＰＬＥ";
var cultureInfo = new CultureInfo("ja-JP");

// 文字列の比較
if (string.Compare(str1, str2, cultureInfo,
  CompareOptions.IgnoreWidth | CompareOptions.IgnoreCase) == 0)
    Console.WriteLine("文字列は同じです。");</code></pre>



<p>■実行結果</p>



<pre class="wp-block-code"><code>文字列は同じです。</code></pre>



<p>ちなみに<strong><span style="color:#b78d4a" class="has-inline-color">CompareOptions.OrdinalIgnoreCase</span></strong>も大文字・小文字を区別しませんが、上記のように複数値の設定では使用できませんでした。</p>



<p>他にもひらがなとカタカナを区別しない<strong><span style="color:#b78d4a" class="has-inline-color">CompareOptions.IgnoreKanaType</span></strong>も存在しますので、以下を参考にしてみてください。<br>参考：<a rel="noopener" class="link" href="https://docs.microsoft.com/ja-jp/dotnet/api/system.globalization.compareoptions?view=netcore-3.1" target="_blank">CompareOptions 列挙型</a></p>



<h2 class="wp-block-heading"><span id="toc10">まとめ</span></h2>



<p>今回はC#で文字列の比較方法について、ご紹介いたしました。<br><strong><span style="color:#b78d4a" class="has-inline-color">文字列の値の比較は==（等値）演算子、Equalメソッド</span></strong>を、<strong><span style="color:#b78d4a" class="has-inline-color">並び順はstring.Compareメソッド</span></strong>を使って、試してみてください。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/c-sharp/193/">【C#】文字列を比較する（== 演算子、Equalメソッド、Compareメソッド）</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/c-sharp/193/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSSで】スムーススクロールでふわっとページ移動してみよう</title>
		<link>https://nyanblog2222.com/programming/html-css/170/</link>
					<comments>https://nyanblog2222.com/programming/html-css/170/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 02 May 2020 04:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=170</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/86.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/86.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/86-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/86-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/86-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。前回はJQueryを使用してスムーススクロールをご紹介いたしました。以下リンク先です。 今回はCSSのみでスムーススクロールを実装してみました。早速ご紹介いたします。HTMLとCSSは前回と同じコードを使用し [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/170/">【CSSで】スムーススクロールでふわっとページ移動してみよう</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/86.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/86.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/86-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/86-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/86-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。前回はJQueryを使用してスムーススクロールをご紹介いたしました。以下リンク先です。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/73/" title="【JQuery】スムーススクロールでふわっとページ移動してみよう" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/71-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/71-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【JQuery】スムーススクロールでふわっとページ移動してみよう</div><div class="blogcard-snippet internal-blogcard-snippet">スムーススクロールでふわっとページ移動してみませんか。こんにちは。JQueryを使用して簡単に出来るスムーススクロールをご紹介いたします。まずはHTMLでナビゲーションとセッションの形を作っていきます。...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.04.29</div></div></div></div></a>
</div></figure>



<p><br>今回はCSSのみでスムーススクロールを実装してみました。<br>早速ご紹介いたします。<br>HTMLとCSSは前回と同じコードを使用しています。</p>



<p>余談：ふと疑問になってスムーススクロールとスムーズスクロールどっちが正しいのかと疑問に思い調べてみましたが、どちらでも良いみたいですね。<br>英語でsmooth scroll、スムーズにスクロールするの意、それぞれあるようです。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-158" checked><label class="toc-title" for="toc-checkbox-158">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">CSSでHTMLにスムーススクロールを設定</a></li><li><a href="#toc2" tabindex="0">対応ブラウザ</a></li><li><a href="#toc3" tabindex="0">scroll-behaviorプロパティ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">CSSでHTMLにスムーススクロールを設定</span></h2>



<p>html要素に <strong><span style="color:#b78d4a" class="has-inline-color">scroll-behavior: smooth;</span></strong> を指定することでページ内リンクにスムーススクロールの動きをつけることができます。</p>



<pre class="wp-block-code css"><code>html{
  scroll-behavior: smooth;
}</code></pre>



<p>この設定のみでスムーススクロールが表現できるなんてとても便利ですね！</p>



<h2 class="wp-block-heading"><span id="toc2">対応ブラウザ</span></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="599" height="350" src="https://nyanblog2222.com/wp-content/uploads/2020/05/css-001-min-1.jpg" alt="" class="wp-image-181" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/css-001-min-1.jpg 599w, https://nyanblog2222.com/wp-content/uploads/2020/05/css-001-min-1-300x175.jpg 300w" sizes="auto, (max-width: 599px) 100vw, 599px" /></figure>



<p>設定が簡単にできるので、多用してもいいかな。と思いますが、このようにIE・Safariには対応していないようです。<br>実際に業務で使用する場合は、対応ブラウザに注意して適用させる必要があります。<br>参考：<a class="link" href="https://developer.mozilla.org/ja/docs/Web/CSS">MDN web docs ： CSS: カスケーディングスタイルシート</a></p>



<h2 class="wp-block-heading"><span id="toc3">scroll-behaviorプロパティ</span></h2>



<p>scroll-behaviorプロパティについて、指定した範囲内でスクロールが発生した際の振る舞いを指定できます。</p>



<p>＜キーワード＞<br>・<strong><span style="color:#b78d4a" class="has-inline-color">auto（初期値）</span></strong> : リンク先に瞬時にスクロールします。<br>・<strong><span style="color:#b78d4a" class="has-inline-color">smooth</span></strong> : 設定したセレクタの範囲内でページ内リンクによるスクロールが発生した場合、スムーススクロールでリンク先に移動します。</p>



<p>今回はCSSのみでスムーススクロールを実装してみました。<br>対応ブラウザは限定されますが、用途に応じて使ってみてください。</p>



<p></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/170/">【CSSで】スムーススクロールでふわっとページ移動してみよう</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/170/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JQuery】スムーススクロールでふわっとページ移動してみよう</title>
		<link>https://nyanblog2222.com/programming/javascript/73/</link>
					<comments>https://nyanblog2222.com/programming/javascript/73/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 29 Apr 2020 09:02:38 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=73</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/71.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/71.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。JQueryを使用して簡単に出来るスムーススクロールをご紹介いたします。 目次 HTMLで形を作るCSSでスタイルを設定JQueryをhtmlへ設定するJQueryでイベントを設定する HTMLで形を作る ま [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/73/">【JQuery】スムーススクロールでふわっとページ移動してみよう</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/71.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/71.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/71-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。JQueryを使用して簡単に出来るスムーススクロールをご紹介いたします。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-160" checked><label class="toc-title" for="toc-checkbox-160">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTMLで形を作る</a></li><li><a href="#toc2" tabindex="0">CSSでスタイルを設定</a></li><li><a href="#toc3" tabindex="0">JQueryをhtmlへ設定する</a></li><li><a href="#toc4" tabindex="0">JQueryでイベントを設定する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTMLで形を作る</span></h2>



<p>まずはHTMLでナビゲーションとセッションの形を作っていきます。</p>



<pre class="wp-block-code html"><code>&lt;div class="wrapper" id="top"&gt;
    &lt;h1&gt;スムーススクロール&lt;/h1&gt;
    &lt;nav&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href="#index1"&gt;index1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#index2"&gt;index2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#index3"&gt;index3&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#index4"&gt;index4&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/nav&gt;
&lt;/div&gt;
&lt;div class="wrapper" id="index1"&gt;
    &lt;h2&gt;Section1&lt;/h2&gt;
    &lt;p&gt;&lt;a href="#top"&gt;トップへ戻る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="wrapper" id="index2"&gt;
    &lt;h2&gt;Section2&lt;/h2&gt;
    &lt;p&gt;&lt;a href="#top"&gt;トップへ戻る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="wrapper" id="index3"&gt;
    &lt;h2&gt;Section3&lt;/h2&gt;
    &lt;p&gt;&lt;a href="#top"&gt;トップへ戻る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="wrapper" id="index4"&gt;
    &lt;h2&gt;Section4&lt;/h2&gt;
    &lt;p&gt;&lt;a href="#top"&gt;トップへ戻る&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSSでスタイルを設定</span></h2>



<p>次にCSSでスタイルを決定します。<br>ここではスクロールさせるため、ある程度セッションの高さを設けています。<br>また、スクロール後の位置がぴったりにならないようにwrapperクラスにpaddingを設定しています。</p>



<pre class="wp-block-code css"><code>*{
    box-sizing: border-box;
}

.wrapper{
    padding: 4rem;
    height: 1000px;
}

h1,h2{
    color: #666;
    margin-bottom: 2rem;
}

li{
    float: left;
    margin-right: 1.5rem;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JQueryをhtmlへ設定する</span></h2>



<p>JQueryの設定を行います。<br>&lt;/body&gt;の直前にこのコードを入れます。</p>



<pre class="wp-block-code javascript"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="js/style.js"&gt;&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">JQueryでイベントを設定する</span></h2>



<p>JQueryでクリック時にスクロールさせる動作を追加します。<br>クリック時のイベントは　<strong><span style="color:#b78d4a" class="has-inline-color"><strong>&#8216;</strong>a[href^=#]:not([href=#])&#8217;</span></strong>　で条件を付けています。CSS3では条件を付けることができるので、簡単な条件であればこのように記載します。<br>ちなみに、 <strong><span style="color:#b78d4a" class="has-inline-color">a[href^=#]</span></strong> は#から始まる構文を指し、 <strong><span style="color:#b78d4a" class="has-inline-color">:not()</span></strong> 疑似クラスで <strong><span style="color:#b78d4a" class="has-inline-color">href=#</span></strong> のみの設定を除外しています。</p>



<p>次に移動する位置を取得しています。<br><span style="color:#b78d4a" class="has-inline-color"><strong>$(this).attr(&#8220;href&#8221;)</strong></span> は、クリックしたaタグのhref属性に設定されている値を取得し、<strong><span style="color:#b78d4a" class="has-inline-color">$(href).offset().top</span></strong> で先ほど取ってきたhref属性先の位置を設定しています。<br>そして、設定したposへanimateメソッドを用いてスクロールさせています。<br><strong><span style="color:#b78d4a" class="has-inline-color">return false</span></strong>で戻り値をfalse設定しているのは、リンク先へ移動する機能を動かさないよう無効にしているからです。</p>



<pre class="wp-block-code javascript"><code>$(function () {
    // #から始まらない場合、処理しない
    $("a&#91;href*=#]:not(&#91;href=#])").click(function () {
        // 移動する位置を取得
        var href = $(this).attr("href");
        var pos = $(href).offset().top;

        // スクロール処理
        $("html, body").animate({ scrollTop: pos }, 800);

        // リンク先へ移動する機能を無効化
        return false;
    });
});</code></pre>



<p>これでリンクをクリックするとゆっくりスクロールするスムーススクロールを実装することができました。<br>今回はJQueryで実装してみましたが、調べる中でブラウザが限定されてしまうようですが、CSSのみでも実装できるようなので試してみたいと思います。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/73/">【JQuery】スムーススクロールでふわっとページ移動してみよう</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/73/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JQuery】コピペでできるドロップダウンメニュー【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/32/</link>
					<comments>https://nyanblog2222.com/programming/javascript/32/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 28 Apr 2020 09:21:55 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=32</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/70.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/70.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/70-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/70-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/70-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。 今回はJQueryを使って簡単にコピペで出来るドロップダウンメニューをご紹介いたします。 目次 ナビゲーションをHTMLで作成するCSSでスタイルを設定Jqueryをhtmlへ設定するJQueryでイベント [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/32/">【JQuery】コピペでできるドロップダウンメニュー【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/70.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/70.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/70-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/70-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/70-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。</p>



<p>今回はJQueryを使って簡単にコピペで出来るドロップダウンメニューをご紹介いたします。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-162" checked><label class="toc-title" for="toc-checkbox-162">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ナビゲーションをHTMLで作成する</a></li><li><a href="#toc2" tabindex="0">CSSでスタイルを設定</a></li><li><a href="#toc3" tabindex="0">Jqueryをhtmlへ設定する</a></li><li><a href="#toc4" tabindex="0">JQueryでイベントを設定する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ナビゲーションをHTMLで作成する</span></h2>



<p>メニューをul要素で作成しています。<br>各li要素内に子要素のナビゲーションを設定しています。</p>



<pre class="wp-block-code html"><code>&lt;nav&gt;
    &lt;ul id="global_nav"&gt;
        &lt;li class="#"&gt;&lt;a href="#"&gt;メニュー１&lt;/a&gt;
            &lt;ul&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー１ａ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー１ｂ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー１ｃ&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li class="#"&gt;&lt;a href="#"&gt;メニュー２&lt;/a&gt;
            &lt;ul&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー２ａ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー２ｂ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー２ｃ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー２ｄ&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li class="#"&gt;&lt;a href="#"&gt;メニュー３&lt;/a&gt;
            &lt;ul&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー３ａ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー３ｂ&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li class="#"&gt;&lt;a href="#"&gt;メニュー４&lt;/a&gt;
            &lt;ul&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー４ａ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー４ｂ&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li class="#"&gt;&lt;a href="#"&gt;メニュー５&lt;/a&gt;
            &lt;ul&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー５ａ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー５ｂ&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;メニュー５ｃ&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/nav&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSSでスタイルを設定</span></h2>



<p>子要素のメニューはマウスホバーで表示させるため、#global_nav ulのスタイルをdisplay:noneに設定しておきます。もしご自身でスタイルを色々変更される場合はdisplay:noneの設定は最後に行ってください。</p>



<pre class="wp-block-code css"><code>/* ナビゲーションのスタイル */
a{
    text-decoration: none;
    color: #666;
}

#global_nav li{
    float: left;
    width: calc(98.5%/5);
    margin: 1% 0.15%;
}
#global_nav li a{
    display: block;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #FFF1DA;
}

#global_nav li a:hover{
    color: #fff;
    background: #FCD69E;
}

/* 子要素のみのスタイル */
#global_nav ul{
    display: none;
}

#global_nav ul li{
    float: none;
    width: 100%;
    margin: 1% 0;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">Jqueryをhtmlへ設定する</span></h2>



<p>Jqueryの設定を行います。<br>&lt;/body&gt;の直前にこのコードを入れます。</p>



<pre class="wp-block-code javascript"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="js/style.js"&gt;&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">JQueryでイベントを設定する</span></h2>



<p>JQueryでマウスホバー時に表示を切り替える動作を追加します。<br>まず、ul li liにはイベントを起こさないようにchildrenメソッドで#global_navの子要素のみにhoverメソッドを設定します。<br>次に、this(ホバーされている#global_nav li)の子要素 ulに対し、slideToggleメソッドで要素をスライドしながら開閉します。<br>※ stop()メソッドはイベントの重複を防ぐため、イベントを中止するために設定しています。</p>



<pre class="wp-block-code javascript"><code>$(function () {
    // 1.#global_nav liにhoverメソッドを設定
    $("#global_nav").children("li").hover(function(){
        // 2.メニューの開閉
        $(this).children("ul").stop().slideToggle(180);
    });
});</code></pre>



<p>実際にマウスホバーした時にこのように子要素のナビゲーションが表示されたら完成です。簡単にできますので、試してみてください。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="292" src="https://nyanblog2222.com/wp-content/uploads/2020/04/dropdown-1-1024x292.jpg" alt="" class="wp-image-42" srcset="https://nyanblog2222.com/wp-content/uploads/2020/04/dropdown-1-1024x292.jpg 1024w, https://nyanblog2222.com/wp-content/uploads/2020/04/dropdown-1-300x86.jpg 300w, https://nyanblog2222.com/wp-content/uploads/2020/04/dropdown-1-768x219.jpg 768w, https://nyanblog2222.com/wp-content/uploads/2020/04/dropdown-1.jpg 1152w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><a class="link" href="https://nyanblog2222.com/demo/dropdown/" target="_blank"><strong>デモページはこちら</strong></a>です。<br>簡単にできるので、最初はコピペでも動きを確認しながら勉強できるので試してみてください！</p>



<p>最後までご覧いただきありがとうございました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/32/">【JQuery】コピペでできるドロップダウンメニュー【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/32/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【FSUTILコマンド】指定サイズのファイルを作成する方法！</title>
		<link>https://nyanblog2222.com/programming/cmd/7/</link>
					<comments>https://nyanblog2222.com/programming/cmd/7/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sat, 25 Apr 2020 12:43:00 +0000</pubDate>
				<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=7</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/1.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/1-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/1-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/1-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />今回は、FSUTILコマンドを使った指定サイズのファイルを作成する方法を紹介します。 フリーソフト等を使わなくても、簡単に指定サイズのファイルを作ることができるのでとても便利ですよ♪ 目次 ファイル作成コマンド（FSUT [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/7/">【FSUTILコマンド】指定サイズのファイルを作成する方法！</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/1.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/1-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/1-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/1-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、FSUTILコマンドを使った<span class="marker-under-red">指定サイズのファイルを作成</span>する方法を紹介します。</p>



<p>フリーソフト等を使わなくても、<br>簡単に指定サイズのファイルを作ることができるのでとても便利ですよ♪</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-164" checked><label class="toc-title" for="toc-checkbox-164">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ファイル作成コマンド（FSUTIL）</a></li><li><a href="#toc2" tabindex="0">具体例</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ファイル作成コマンド（FSUTIL）</span></h2>



<p>以下のコマンドで指定サイズのファイルを作成します。<br><span class="marker-under-red">FSUTIL FILE CREATENEW [出力ファイル名] [ファイルサイズ]</span></p>



<p>例えば、10MBの容量のデータを作りたい場合、<br>このコマンド実行で10MBのファイルを作成できます。<br>（[ファイルサイズ]はByte単位なので、10MB = 10*1024*1024 =10,485,760Byte）</p>



<pre class="wp-block-code dos has-normal-font-size"><code>FSUTIL FILE CREATENEW TEST.txt 10485760</code></pre>



<p>なおバイト換算の計算は、<br>以下のページから簡単にできますので、計算が苦手な方はご使用ください。<br><a class="link" href="https://keisan.casio.jp/exec/user/1355670543">ke!san バイト換算（外部リンク</a>）</p>



<h2 class="wp-block-heading"><span id="toc2">具体例</span></h2>



<p>システムのinputファイルの許容サイズを50MBまでとするため、<br>ファイル読み込み時にファイルサイズのチェックをするケース。</p>



<p>今回、<br>①正常データ：許容サイズ<br>②異常データ：許容サイズ + 1Byte<br>を用意する必要があります。</p>



<p>具体的には、50MB = 50*1024*1024 =52,428,800Byte のため、<br>①52,428,800Byte<br>②52,428,801Byte<br>のファイルが必要となりますので、<br>今回は以下のFSUTILコマンドでinputファイルを作成します。</p>



<pre class="wp-block-code dos"><code>FSUTIL FILE CREATENEW InputFile_OK_50MB 52428800
FSUTIL FILE CREATENEW InputFile_NG_50MBOver1 52428801</code></pre>



<p>結果</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="845" height="579" src="https://nyanblog2222.com/wp-content/uploads/2020/07/cc8fe6b859ce5432cbfd6e4067e5e190.png" alt="境界値データ作成結果" class="wp-image-1693" srcset="https://nyanblog2222.com/wp-content/uploads/2020/07/cc8fe6b859ce5432cbfd6e4067e5e190.png 845w, https://nyanblog2222.com/wp-content/uploads/2020/07/cc8fe6b859ce5432cbfd6e4067e5e190-300x206.png 300w, https://nyanblog2222.com/wp-content/uploads/2020/07/cc8fe6b859ce5432cbfd6e4067e5e190-768x526.png 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></figure>



<p>無事、指定サイズのファイルができました。</p>



<p>今回の記事は以上です。<br>何かの参考になれば幸いです、ありがとうございました♪<br></p>
<p>投稿 <a href="https://nyanblog2222.com/programming/cmd/7/">【FSUTILコマンド】指定サイズのファイルを作成する方法！</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/cmd/7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
