tag:blogger.com,1999:blog-74345295883525436822024-03-13T09:48:07.238+09:00duf20's memo for making Web site, using Web service, etc.duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-7434529588352543682.post-63454684549833352152022-07-20T10:29:00.001+09:002022-07-20T10:29:31.900+09:00BloomというAI<p>オープンソースのAI「BLOOM」が出ました。</p><p>日本語も使えるというので、早速サンプルページで遊びました。</p>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB9FsyMFwv98wky2J5sWaZy_HQZQfYqP2LB-NG9Z5kGqTDf0BT3-35u480U33cUyhLaxxbnT9Hw6dzfSgNKb7msHbCecRAdJgF4hWGsGCVD-ZxKdMeRIQykuQ3zaVI8J-hKNGp_L1gvuDF2-TSesATZKhzGOeCw9O5YADbphsKbAqR551HZ1BXotkULg/s646/demo.png" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="639" data-original-width="646" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB9FsyMFwv98wky2J5sWaZy_HQZQfYqP2LB-NG9Z5kGqTDf0BT3-35u480U33cUyhLaxxbnT9Hw6dzfSgNKb7msHbCecRAdJgF4hWGsGCVD-ZxKdMeRIQykuQ3zaVI8J-hKNGp_L1gvuDF2-TSesATZKhzGOeCw9O5YADbphsKbAqR551HZ1BXotkULg/s320/demo.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">白い文字が私。ピンクの文字がAI。</td></tr></tbody></table>
<p style="clear: both;"><br /></p>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRUgGVZHxJ4ZHRgLJsQayspyxBbe6q6eSBO0TgxzbQ8gsDUrkSmmvBnKJZsq1nrrQAqceJgnLQkdp41ddD9cxfRrvKImVAz_WysG0-4DcbOerU9BBFZL40URDJgfr0eLEA87YBgb8D9sVv7pYQNYa00Y65S_kccQXImmsJaEGQTPehdTpxeJ3mDCsO3w/s2095/Bloom.jpg" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1229" data-original-width="2095" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRUgGVZHxJ4ZHRgLJsQayspyxBbe6q6eSBO0TgxzbQ8gsDUrkSmmvBnKJZsq1nrrQAqceJgnLQkdp41ddD9cxfRrvKImVAz_WysG0-4DcbOerU9BBFZL40URDJgfr0eLEA87YBgb8D9sVv7pYQNYa00Y65S_kccQXImmsJaEGQTPehdTpxeJ3mDCsO3w/w640-h376/Bloom.jpg" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">↑AIとやりとり</td></tr></tbody></table>
<p style="clear: both;"><br /></p>
<p>できたのが、これ。AIとの合作超短編童話😆</p><p>『<br />傘をさして公園を歩いていたら、小さなリスが足元に寄ってきた。<br />「おいでよ。」「いいよ。」<br />私がリスに傘をさすと、小リスは嬉しそうに笑った。<br />公園はおもしろかった。また、リスと一緒に遊びたい。<br />「おいでよ。」リスが私に手を振っている。<br />』</p><p><br />こうなると、サイトに作ってサンプルで遊ぶだけの自分をとても残念に感じます。</p><p>こんなに身近に「どうぞ使って」と提示されているというのに。<br />今ほど英語力が欲しいと痛切に思ったことはないですね。<br /><br />サンプルページはここ: </p><p><a href="https://huggingface.co/spaces/huggingface/bloom_demo">https://huggingface.co/spaces/huggingface/bloom_demo</a></p>duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-70666327392843433912022-07-02T04:57:00.000+09:002022-07-02T05:07:39.148+09:00git-bash.exe で超簡単なバージョン管理の練習<!-- directives: [] -->
<div id="content">
<ul>
<li>単純化しよう。
<ul>
<li>現状:ファイルが1つある。(test.txt)</li>
<li>操作:編集して保存して閉じる。</li>
<li>目的:編集する前に戻りたい。過去にタイムリープすること。</li>
<li></li>
</ul>
</li>
<li>バージョン管理に使う道具
<ul>
<li>git-bash.exe</li>
<li></li>
</ul>
</li>
<li>準備
<ul>
<li>デスクトップにフォルダ「forgit」を作り、そこにtest.txt(空)を保存。</li>
<li>Git-2.36.1-64-bit.exeをインストールしておく。</li>
<li>インストールした場所から、git-bash.exeを立ち上げる。</li>
<li><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh18wIVMM-5yIulREZuNhZFKJZDGKaz-TaIxRqeD6HxNAs6tjyg6vZUwT0FhLNnKCXcLaetGUgFcpg1oPBEjdQ1657Es-mXljJ6lHQ-mpOhS1su0I0cvOFG_0BTOhUesAyXjgdAPjQMyyqtHmPc5JIt1umfjEm3Do9XKHj4Mvb7fiWkUwEaLL6h8glXow/s513/git00_preperation.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="91" data-original-width="513" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh18wIVMM-5yIulREZuNhZFKJZDGKaz-TaIxRqeD6HxNAs6tjyg6vZUwT0FhLNnKCXcLaetGUgFcpg1oPBEjdQ1657Es-mXljJ6lHQ-mpOhS1su0I0cvOFG_0BTOhUesAyXjgdAPjQMyyqtHmPc5JIt1umfjEm3Do9XKHj4Mvb7fiWkUwEaLL6h8glXow/s320/git00_preperation.png"/></a></div></li>
<li>コマンドプロンプト(黒い画面)$がでたら、作っておいたフォルダ「forgit」に移動する(コマンド:cd)</li>
<li>
<pre><code> $ cd C:/Users/user/Desktop/forgit
</code></pre>
</li>
</ul>
</li>
<li></li>
<li>gitで バージョン管理
<ul>
<li>① フォルダにレポジトリを設定する(コマンド:<mark>init
</mark>
)</li>
<li>
<pre><code> $ git init
</code></pre>
</li>
<li>→「forgit」フォルダのなかに「.git」フォルダができる。ここがバージョン管理管制室(レポジトリ)</li>
<li><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjto-XT1Rv714pCSLKuGRXYoX93dk1i21v7BtzlSe8EHm-M71nrJdyGugKODJEVBAj9suRGNTsd20Kehi6o07lkz2j71ZKvOYxurQ2Rrbm7wJ6pzhGO_Ta-Ym4zFUxe2NtJQY87946JPDtYXhyr7rnoraEjzNx6rXtBaqyD0E-EUUUORqzsgw5xrpwdXg/s340/git00_epository.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="314" data-original-width="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjto-XT1Rv714pCSLKuGRXYoX93dk1i21v7BtzlSe8EHm-M71nrJdyGugKODJEVBAj9suRGNTsd20Kehi6o07lkz2j71ZKvOYxurQ2Rrbm7wJ6pzhGO_Ta-Ym4zFUxe2NtJQY87946JPDtYXhyr7rnoraEjzNx6rXtBaqyD0E-EUUUORqzsgw5xrpwdXg/s320/git00_epository.png"/></a></div></li>
<li></li>
<li>② 管理対象のtest.txtを、インデックスに登録(コマンド:<mark>add
</mark>
)</li>
<li>
<pre><code> $ git add test.txt
</code></pre>
</li>
<li>③ 登録準備ができたので、メッセージ("initial commit")をつけて管理室に渡す=コミットする(コマンド:<mark>commit -m
</mark>
)</li>
<li>
<pre><code> $ git commit -m "initial commit"
</code></pre>
</li>
<li><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3T7vuoct2_u9kNc_7kmpPYouWf3e4IU9Sb4h0NrZBMzFAA4tO2jL8x1laDfL1HLk8JKQXdrOPqnKCpX3c2Wa4dFq34qN4xGO0EW7JUhOAAleHrlEp_6GBlj5T3If4NAEuDnE42yieK4Gili8XRSCBat8OtDIoRJAElHrcpC1nHqh1t1qHeP5qsxopjg/s513/git01_makeRepository_commit.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="327" data-original-width="513" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3T7vuoct2_u9kNc_7kmpPYouWf3e4IU9Sb4h0NrZBMzFAA4tO2jL8x1laDfL1HLk8JKQXdrOPqnKCpX3c2Wa4dFq34qN4xGO0EW7JUhOAAleHrlEp_6GBlj5T3If4NAEuDnE42yieK4Gili8XRSCBat8OtDIoRJAElHrcpC1nHqh1t1qHeP5qsxopjg/s320/git01_makeRepository_commit.png"/></a></div></li>
<li>→実行後のフィードバックの中に「[master (root-commit) 0ccc4b6]」とある。この「0ccc4b6」がこのバージョンのID番号。</li>
<li></li>
<li>④ test.txtを変更する。1行「foo」と入力した。</li>
<li>⑤ 新しくなったtest.txt を メッセージ(”add foo")付きでコミットする(コマンド:commit -m"add foo")</li>
<li>
<pre><code> $ git commit -m "Added foo" test.txt
</code></pre>
</li>
<li><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6yPFzUaJgF2L8W6ePGCFmUE9Jz8fgj2NUli37LMZ_7wDTsi_DQPioTJSeBOAQmrVGTVZVx7FQDz40iMwXAcHV1Z-N7CAbSEIEx4Or3GlNhi7oesqGWOKMLU8hwefu_da4YIwH2x68ZoceozeIG7snPb2lYD71fEm2wxjTzwZI-7vlDRcu3ExJQo4WXw/s539/git02_second_commit.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="134" data-original-width="539" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6yPFzUaJgF2L8W6ePGCFmUE9Jz8fgj2NUli37LMZ_7wDTsi_DQPioTJSeBOAQmrVGTVZVx7FQDz40iMwXAcHV1Z-N7CAbSEIEx4Or3GlNhi7oesqGWOKMLU8hwefu_da4YIwH2x68ZoceozeIG7snPb2lYD71fEm2wxjTzwZI-7vlDRcu3ExJQo4WXw/s320/git02_second_commit.png"/></a></div></li>
<li>→実行後のフィードバックの中に「[master f9a78f8]」とある。この「f9a78f8」がこのバージョンのID番号。</li>
<li></li>
<li>⑥ revisionIDが2つできたので比較できる(コマンド:<mark>diff
</mark>
)</li>
<li>
<pre><code> $ git diff 0ccc4b6 f9a78f8
</code></pre>
</li>
<li><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_xKAEFTcTQN1jrrp1kxA6QftUJ2jfmKhf5G5cLXK_7_FaFQCUWX14_Vfi9VpuVOhuyIDv6i5tnVIx8zDnQWDRiSla2tekuuTuzHLgsIYmOHvf1xqRHmwcizJGqCPFtfKkqCd2f5b_db6b4Lzd_1R0fFUTuH00gGlggtsVSfzWElUDbQhI1vOrdRBchg/s639/git03_diff.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="133" data-original-width="639" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_xKAEFTcTQN1jrrp1kxA6QftUJ2jfmKhf5G5cLXK_7_FaFQCUWX14_Vfi9VpuVOhuyIDv6i5tnVIx8zDnQWDRiSla2tekuuTuzHLgsIYmOHvf1xqRHmwcizJGqCPFtfKkqCd2f5b_db6b4Lzd_1R0fFUTuH00gGlggtsVSfzWElUDbQhI1vOrdRBchg/s320/git03_diff.png"/></a></div></li>
<li>→ 実行後のフィードバック。差分”foo”を表示している。</li>
<li></li>
<li>⑦ それでは、'0ccc4b6'のバージョンへタイムリープ(コマンド:<mark>checkout
</mark>
)</li>
<li>
<pre><code> $ git checkout 0ccc4b6
</code></pre>
</li>
<li><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitkT-IJLWWH5sjhO7cC7Ew36YIJYBG_tO6KrqWZgbqzGwCKWyi2HBEPuxr9KAYq0qm0oH1SRhy3LdSHbdrz1ivdt22XKijDAHw55wYYVtIxV_gV0RFncrFJuf6rmxgIzVvSrpjEkWcIcYd_sgItcAPGn3dn6SYTOtQfjvv6rwGfKV3R9ut_B4-l7GKbA/s639/git04_checkout.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="297" data-original-width="639" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitkT-IJLWWH5sjhO7cC7Ew36YIJYBG_tO6KrqWZgbqzGwCKWyi2HBEPuxr9KAYq0qm0oH1SRhy3LdSHbdrz1ivdt22XKijDAHw55wYYVtIxV_gV0RFncrFJuf6rmxgIzVvSrpjEkWcIcYd_sgItcAPGn3dn6SYTOtQfjvv6rwGfKV3R9ut_B4-l7GKbA/s320/git04_checkout.png"/></a></div></li>
<li>→ フィードバックにはリポジトリがいろいろ心配してNoteを書いてくれている。でも今回はOK。</li>
<li>test.textを表示すると、ちゃんとfooはなくなって最初の状態に戻っている。</li>
</ul>
</li>
<li></li>
<li>HEADってレコードの針みたいだ。</li>
</ul>
</div>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-50420849518637961162020-06-23T20:53:00.001+09:002020-06-23T20:56:01.725+09:00embedできるかどうかCan this script move in iframe?
<iframe height="400" src="https://editor.p5js.org/duf20/embed/1DjYRtjPv" width="400"></iframe>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-17938972478167896492018-09-01T12:22:00.003+09:002018-09-01T12:22:56.632+09:00gmailの 赤い文字の「提案」を消す【問題】<br />
gmail。要件はとっくに片付いているのに、いつまでも提案がでる。こんな提案は全く不要。<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx6s8tbrblMgsnlvz4axa2jHCEmYhlAbht7XwiymRvbUO4kOKlnUivBcMxx8BLSMA8BSn44446hgxkymB4rm-njto1abIHeCulKBml3aKY_i8eqftw3tkbFmbpphWP_TfigyrRc8Ixk97V/s1600/Gmail%25E8%25BF%2594%25E4%25BF%25A1%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%258B.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx6s8tbrblMgsnlvz4axa2jHCEmYhlAbht7XwiymRvbUO4kOKlnUivBcMxx8BLSMA8BSn44446hgxkymB4rm-njto1abIHeCulKBml3aKY_i8eqftw3tkbFmbpphWP_TfigyrRc8Ixk97V/s400/Gmail%25E8%25BF%2594%25E4%25BF%25A1%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%258B.png" /></a><br />
<br />
<br />
【消す方法】<br />
<br />
1)[設定]の[全般]で、「アクションの提案」を探す。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggVj59j_Bu0WjjSrQk0Yho01JBhEYsjjp_JwX9NPRkwtLR5NxVX3TFIOhVp5DcNWifoqCfSKzOlqy8Un64o679g0WXtmalzCOY1luYqEkwyre0EhpKqcyT6s3rdW6i-Sjo7t7sQIb9tkRo/s1600/Gmail%25E8%25BF%2594%25E4%25BF%25A1%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%258B%25E8%25A7%25A3%25E6%25B1%25BA%25E6%2596%25B9%25E6%25B3%2595.png.png" imageanchor="1"><img border="0" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggVj59j_Bu0WjjSrQk0Yho01JBhEYsjjp_JwX9NPRkwtLR5NxVX3TFIOhVp5DcNWifoqCfSKzOlqy8Un64o679g0WXtmalzCOY1luYqEkwyre0EhpKqcyT6s3rdW6i-Sjo7t7sQIb9tkRo/s640/Gmail%25E8%25BF%2594%25E4%25BF%25A1%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%258B%25E8%25A7%25A3%25E6%25B1%25BA%25E6%2596%25B9%25E6%25B3%2595.png.png" width="640" /></a><br />
<br />
2)その「返信するメールを提案」のチェックをはずす。<br />
ついでに「フォローアップするメールを提案」のチェックもはずす。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoMNvuZnGxnHXD1vkdIMwQNYVrgDQCY2iHe4wbRRMmxIB11Rijfbugp0GnIC6VzuvALskU42JpvRm6K1iTHqXjcj5633JZEtFfnvX9X83ghYB7qMixL00Z5TXIkmUVXVBJFESE35AcbS5j/s1600/Gmail%25E8%25BF%2594%25E4%25BF%25A1%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%258B%25E8%25A7%25A3%25E6%25B1%25BA%25E6%2596%25B9%25E6%25B3%25952.png.png" imageanchor="1"><img border="0" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoMNvuZnGxnHXD1vkdIMwQNYVrgDQCY2iHe4wbRRMmxIB11Rijfbugp0GnIC6VzuvALskU42JpvRm6K1iTHqXjcj5633JZEtFfnvX9X83ghYB7qMixL00Z5TXIkmUVXVBJFESE35AcbS5j/s640/Gmail%25E8%25BF%2594%25E4%25BF%25A1%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%258B%25E8%25A7%25A3%25E6%25B1%25BA%25E6%2596%25B9%25E6%25B3%25952.png.png" width="640" /></a><br />
<br />
すっきり。<br />
<br />duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-38100283185440283732018-04-28T20:14:00.001+09:002018-04-28T20:14:13.925+09:00youtubeへのリンクテスト● youtubeのダウンロード<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ItDXD1isGhM/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/ItDXD1isGhM?feature=player_embedded" width="320"></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/cuVRmvpTaUQ/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/cuVRmvpTaUQ?feature=player_embedded" width="320"></iframe></div>
<br />duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-84851504828515474372018-03-22T01:20:00.000+09:002018-03-22T01:20:51.371+09:00mb_strlen 1文字3バイトになる・他PHPの mb_strlen関数で、 1文字3バイトになる<br />
<br />
<br />
(参考)<br />
http://hamamuratakuo.blog61.fc2.com/blog-entry-421.html<br />
<br />
● 文字のバイト数は、文字コードごとに異なる<br />
<br />
Shift_JIS : 半角文字・1バイト、全角文字・2バイト<br />
UTF-8 : 半角文字・1バイト、全角文字・ 2-6バイト<br />
<br />
<br />
● 解決策 : UTF-8をSJISに変換して、文字数をカウントする<br />
<br />
strlen(mb_convert_encoding($str, 'sjs', 'utf-8'))<br />
<br />
<br />
<br />
● mb_strlen を正確に動かすには<br />
<br />
php.iniで内部エンコードを正しく設定するか、mb_stringで文字コードを指定する。<br />
<br />
・ php.iniで文字コード指定<br />
;mbstring.internal_encoding = EUC-JP<br />
<br />
<br />
・ mb_string の第2パラメータでエンコーディングが指定できる。<br />
(省略した場合、内部エンコーディングを使用)<br />
mb_strlen($str,'utf-8')duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-87692557856523401392018-03-11T06:16:00.001+09:002022-07-02T05:04:41.462+09:00ロケットブックの使い方(Rocketbook Everlast)
<h1 style="font-size:100%;">
2018年3月5日 ロケットブックを購入 (ノートサイズ・黒・32ページ)。まとめ。
</h1>
<div>
◆ 自由に手書きできるノート。充電とか不要。<b>水で消せるから、半永久使用</b>可。<br />
◆ スマホを使って、<b>スマートにデジタル化</b>。<br />
そのまま<b>スムーズにクラウド保存</b>。GoogleDriveでもEvernoteでもicloudでも好きなところに。<br />
◆ さらに!使ってわかったこと。<br />
ロケットブックとスマホを使えば、<b>他の紙に普通のペンで手書きしたものも、簡単にデジタル保存</b>できるんです!!秀逸なスキャン台です!! これに気づいた時は、とっても嬉しかった♪ もう手放せません。<br />
</div>
<hr /> <!-- -------------------------- -->
<h1 style="font-size:100%;">
◆ノートの特長 ◆
</h1>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvZknIHPwVpf3K4gv5kMsv1VEDiSLh_WmENDajXd3KmIHWt8jrtFSogGJQIFdRt8fpz-MRasV0fOQfiOh5EaalPJkwmvbSQ0PnHPDZLulK8_PdIHBQW9XF44eb9uRVYLenbCP52bAsvp7D/s1600/01_%25E8%25A3%25BD%25E5%2593%2581_%25E8%25A1%25A8%25E7%25B4%2599.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="752" data-original-width="600" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvZknIHPwVpf3K4gv5kMsv1VEDiSLh_WmENDajXd3KmIHWt8jrtFSogGJQIFdRt8fpz-MRasV0fOQfiOh5EaalPJkwmvbSQ0PnHPDZLulK8_PdIHBQW9XF44eb9uRVYLenbCP52bAsvp7D/s320/01_%25E8%25A3%25BD%25E5%2593%2581_%25E8%25A1%25A8%25E7%25B4%2599.jpg" width="255" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">ノートと、フリクションペンが1本付属。</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2xtQWIBwI-Mi_Pn8SrwtZZmhbhtogdsvNHZxonf3PEqBD2Z9l1Zi1KrQFTIzvl20JjJ6XJ8ItNrafl58GzN2xvETjCctpAAWmCgkMPXKEP_hMwrsO2_-n2V1ti3S75Ib6KVa2coNsygWQ/s1600/02_%25E8%25A3%25BD%25E5%2593%2581_%25E3%2583%258E%25E3%2583%25BC%25E3%2583%2588.jpg" imageanchor="1" style="display: inline !important; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="1358" data-original-width="1600" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2xtQWIBwI-Mi_Pn8SrwtZZmhbhtogdsvNHZxonf3PEqBD2Z9l1Zi1KrQFTIzvl20JjJ6XJ8ItNrafl58GzN2xvETjCctpAAWmCgkMPXKEP_hMwrsO2_-n2V1ti3S75Ib6KVa2coNsygWQ/s320/02_%25E8%25A3%25BD%25E5%2593%2581_%25E3%2583%258E%25E3%2583%25BC%25E3%2583%2588.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">弾力のある柔らかなシート。薄いドットグリッド。</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7S31xZdN0lxhz4EiDBjtPKPch9HsDvKWUCd82RndbNyFTkdl_Nduste746mC0qG7axvszfCp1HlUe0-qw6BIkkS2vq-B0VET9iQAizSacmm2h1BGlDJICfn28mEURizqmRhTEnocOimWw/s1600/03_%25E8%25A3%25BD%25E5%2593%2581_%25E3%2583%258E%25E3%2583%25BC%25E3%2583%2588open.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7S31xZdN0lxhz4EiDBjtPKPch9HsDvKWUCd82RndbNyFTkdl_Nduste746mC0qG7axvszfCp1HlUe0-qw6BIkkS2vq-B0VET9iQAizSacmm2h1BGlDJICfn28mEURizqmRhTEnocOimWw/s320/03_%25E8%25A3%25BD%25E5%2593%2581_%25E3%2583%258E%25E3%2583%25BC%25E3%2583%2588open.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">開いた所</td></tr>
</tbody></table>
</div>
<div>
<br />
普通に持って歩いて、手書きできる薄いノートです。充電不要です。<br />
フリクションペンで書いて、ウェットティッシュや、付属のマイクロファイバー布を水で濡らして消します。「1000回消しても大丈夫」だそうです。(私はまだ1000回も消していませんけれども、きれいに消えます。でも普通のボールペンで書くと、もう消せません。うっかり注意。)<br />
<br />
付属のフリクションペンは0.7mm。シートの表面は滑らかです。つるつるした感じではありません。インクがきれいにのります。乾くのに10秒ほど時間が必要です。<br />
速く書きすぎるとインクがのりません。また、0.4mmの細いペンではうまくインクがのりませんでした。0.7mmが丁度よい感じ。<br />
</div>
<hr /> <!-- -------------------------- -->
<h1 style="font-size:100%;">
◆ アプリとの連携 ◆
</h1>
<div>
アプリを立ち上げて、3タップでクラウドに送信保存できます。<br />
ノートに手書き → アプリを立ち上げて → カメラで自動撮影 → デジタル化 → クラウドに送信<br />
</div>
<!--
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKSntz9UKYsnOJqd2spxKcYJXpkNfxzXTn8JiAKN9j_8tysUPYwM96hmPWbm_Cr5oWlOdsbmZVrp0UUYa1-RW6U9h7oeNZcF_xi3Bv-VImtWmh7EgTKqICQHi78EW6qjs745_mKLANN9VV/s1600/11_%25E3%2582%25A2%25E3%2583%2597%25E3%2583%25AA_%25E3%2582%25A4%25E3%2583%25A1%25E3%2583%25BC%25E3%2582%25B8.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKSntz9UKYsnOJqd2spxKcYJXpkNfxzXTn8JiAKN9j_8tysUPYwM96hmPWbm_Cr5oWlOdsbmZVrp0UUYa1-RW6U9h7oeNZcF_xi3Bv-VImtWmh7EgTKqICQHi78EW6qjs745_mKLANN9VV/s320/11_%25E3%2582%25A2%25E3%2583%2597%25E3%2583%25AA_%25E3%2582%25A4%25E3%2583%25A1%25E3%2583%25BC%25E3%2582%25B8.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">手書きノート → アプリのカメラ → デジタル化 → クラウドに送信</td></tr>
</tbody></table>
</div>
-->
<hr /> <!-- -------------------------- -->
<h1 style="font-size:100%;">
◆ アプリの操作(iPhoneの場合です)◆
</h1>
<div>
[1] インストール<br />
「Rocketbook App」(ジャンルはビジネス)をインストールします。<br />
<br />
[2] 初回登録では、3つ入力します<br />
Full Name(名前...実名の必要はありません)<br />
Email Address(メールアドレス)<br />
Create Password(パスワード)<br />
<br />
[3] 手書きノートをデジタル画像にする方法<br />
1. スマホでアプリを立ち上げます<br />
2. [new Scan] をタップ → カメラに切り替わります<br />
3. 画面にノートを入れる → ノートが緑色になる位置で自動撮影<br />
(次々と続けてスキャンできます)<br />
4. 撮影が終わったら、[Done] をタップして確定<br />
→ これで、Historyに保存されます。<br />
(複数撮った画像はグループとして保存)<br />
(Historyから、保存した画像を選んで好きなところに送信できます。)<br />
<br />
★ 7つのマークを使うと、びっくりするほど便利。効率的になります。 ★<br />
★ スマホでスキャンするだけで、さっとクラウドに保存できるようになります。★<br />
<br />
[4] 7つのマークに7つの場所を設定<br />
1. [Destination] をタップ → 7つのマークが一覧表示<br />
(ここで、それぞれ送信場所を設定します。<br />
最初は、初回登録したメールアドレスになっています)<br />
2. マークをタップ → マークの設定内容が出ます。<br />
3. [Change Destination] をタップ → 送信先クラウドのリストが出ます。<br />
4. 自分の使っているクラウドを選択して登録<br />
例えば、Google Drive の場合、<br />
初回はGoogleのアカウント管理のサイトに移動するので<br />
「Rocketbook App」の使用を許可。<br />
使用するアカウントを選んで [Save]。<br />
<br />
[5] マークの使い方<br />
1. ノートの下のマークに、チェックを入れます。(バッテンでもチェクでもOK)<br />
2. アプリを立ち上げて [new Scan] → 自動撮影 → [Done] → [Send]<br />
この3タップで、マークしたクラウドに送信保存できます。<br />
(忘れないように裏表紙のマークに、保存先をメモ。<br />
ここもフリクションペンで書けば、ウェットティッシュで消せます。)<br />
</div>
<hr /> <!-- -------------------------- -->
<h1 style="font-size:100%;">
◆ ♪♪ 普通の手書きメモをデジタル化します ♪♪ ◆
</h1>
<div>
<b>普通の紙に、普通のインクで(フリクションじゃなく)手書きしたもの</b>を、<br />
簡単にデジタル化・クラウド保存する方法。<br />
<br />
1. ノートの上に、スキャンしたいものを載せます。<br />
★バーコードと下のマークに触れないように。<br />
★白い部分からはみ出さないように。<br />
2. アプリを立ち上げて [new Scan]→ [Done]→[Send]<br />
<br />
角度補正をしっかりやってくれるので、ほとんど歪みのない画像になりました。<br />
普通の細字のボールペンで書いたメモも、きれいにデジタル化できます。<br />
アプリで写真を撮るだけなので(しかも自動)スキャナー機器を使うよりずっと手軽。<br />
メモを散らかすことがなくなって、私はとても幸せです。<br />
<br />
</div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4-l98a9RF211FU7H06v5NXU0-QgdlA5OgBmhMRPwok6DYTVSiavTzabaZuSR_IazRKky7Rl2lh6wZvw9hblm2JvdXU2YWCl50N-VYImiLs9vKdktaoarhesRjsx5BRckFnwYEH7v1JGj/s1600/80_scan.jpg" imageanchor="1" style="margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4-l98a9RF211FU7H06v5NXU0-QgdlA5OgBmhMRPwok6DYTVSiavTzabaZuSR_IazRKky7Rl2lh6wZvw9hblm2JvdXU2YWCl50N-VYImiLs9vKdktaoarhesRjsx5BRckFnwYEH7v1JGj/s320/80_scan.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">1.ノートの上に鉛筆スケッチを載せます</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhadBc0xXPDMlSVoVsulJAmAAaIIYBPwFiJKwucwZXLOnNlDjSK2izkyd2PwjycrPXXVcYaODn2MyLPEVsZIRLppGcRMQBsjvWYl_IwZohdMsou4kd-LlTJdN_A2PbQQz3jv4mfNUwhGz09/s1600/81_scan.jpg" imageanchor="1" style="margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhadBc0xXPDMlSVoVsulJAmAAaIIYBPwFiJKwucwZXLOnNlDjSK2izkyd2PwjycrPXXVcYaODn2MyLPEVsZIRLppGcRMQBsjvWYl_IwZohdMsou4kd-LlTJdN_A2PbQQz3jv4mfNUwhGz09/s320/81_scan.jpg" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">2.アプリでスキャン中</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhASEcU1neBcao_A0pPdu55E6cf9ieSs3hJA1ceczryQFx5Unakn7WZw1HL8FVwB8HmB8Cy7yIUY0FyGjIO7ymP-Rg03e8M27TJ1E0YW3WCIHU8Nn_cQ12r7Cuu3mRWqLxEsNpy__eYc0rt/s1600/82_scan.jpg" imageanchor="1" style="margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhASEcU1neBcao_A0pPdu55E6cf9ieSs3hJA1ceczryQFx5Unakn7WZw1HL8FVwB8HmB8Cy7yIUY0FyGjIO7ymP-Rg03e8M27TJ1E0YW3WCIHU8Nn_cQ12r7Cuu3mRWqLxEsNpy__eYc0rt/s320/82_scan.jpg" width="242" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">3.鉛筆スケッチのデジタル化・クラウド保存</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFFlDKa8Nef8vPZa3g2it4tX5bXr1zkU6o4c30v7DUGlxFzp3F2f8gg_whcae8CZr6i6GR4OXwyqLAaNx9pdhMSBIHDOhA_FxeJuKBWv6xjFA7q67EgtPM5LNSgNZlAqCbUyGzI6I8nxWs/s1600/83_scan.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="1" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFFlDKa8Nef8vPZa3g2it4tX5bXr1zkU6o4c30v7DUGlxFzp3F2f8gg_whcae8CZr6i6GR4OXwyqLAaNx9pdhMSBIHDOhA_FxeJuKBWv6xjFA7q67EgtPM5LNSgNZlAqCbUyGzI6I8nxWs/s320/83_scan.jpg" width="243" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">普通のメモ用紙に普通のペンで書いたメモ</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6KNKos9vNAhVj_wX0ABJSnZTr1xFl0TH-TWIHE1yqLWjzgaOEmRgdsX5CgTkrAdhgjBLiEpEjSnXxy3gajQJy8XzE59criMh3yd9gnwvV7eJL9ODojMrTl9GWLEfctnhRRddksBVG4zs3/s1600/84_scan.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;">
<img border="1" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6KNKos9vNAhVj_wX0ABJSnZTr1xFl0TH-TWIHE1yqLWjzgaOEmRgdsX5CgTkrAdhgjBLiEpEjSnXxy3gajQJy8XzE59criMh3yd9gnwvV7eJL9ODojMrTl9GWLEfctnhRRddksBVG4zs3/s320/84_scan.jpg" width="227" height="320" data-original-width="426" data-original-height="600" />
</a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">uniballは茶色のインク・「カラー筆ペン」の文字色も茶色</td></tr>
</tbody></table>
</div>
<div>
<hr style="clear: both;" />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=etsu1118ko-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B0756SW2FF&linkId=154aeaa36aac53e3ec6f844ffa3ba785" style="height: 240px; width: 120px;"></iframe>
<hr style="clear: both;" />
</div>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-19849466005532743292016-11-10T16:22:00.002+09:002016-11-10T16:23:57.055+09:00PHP の `headers already sent` エラー<br />
PHP の `headers already sent` エラー<br />
<br />
(参考)<br />
http://ja.stackoverflow.com/questions/5453/php-%E3%81%AE-headers-already-sent-%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AF%E3%81%A9%E3%81%86%E7%9B%B4%E3%81%97%E3%81%9F%E3%82%89%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B<br />
<br />
● header()の前に、出力文字(空白他)が含まれていてはいけない。<br />
● 例)includeするhead.php に<head>が含まれていた場合。includeの前に header()をセットする。<br />
<br />
--エラー----------------<br />
<?php<br />
session_start();<br />
$title ="duf20page:Contact";<br />
include 'head.php';<br />
?><br />
<br />
<?php<br />
header("Content-type: text/html; charset=utf-8");<br />
header('X-FRAME-OPTIONS: SAMEORIGIN');<br />
?><br />
<br />
--エラー----------------<br />
<?php<br />
session_start();<br />
$title ="duf20page:Contact";<br />
?><br />
<br />
<?php<br />
header("Content-type: text/html; charset=utf-8");<br />
header('X-FRAME-OPTIONS: SAMEORIGIN');<br />
include 'head.php';<br />
?><br />
<br />
<br />
--エラー----------------<br />
<?php<br />
session_start();<br />
$title ="duf20page:Contact";<br />
include 'head.php';<br />
header("Content-type: text/html; charset=utf-8");<br />
header('X-FRAME-OPTIONS: SAMEORIGIN');<br />
echo sha1(session_id());<br />
?><br />
<br />
<br />
解決した(1)<br />
● head.php に<head>が含まれている。includeの前に、header()をセットする。<br />
● header()の前に、出力文字(空白他)が含まれていてはいけない。<br />
--OK----------------<br />
<?php<br />
session_start();<br />
$title ="duf20page:Contact";<br />
header("Content-type: text/html; charset=utf-8");<br />
header('X-FRAME-OPTIONS: SAMEORIGIN');<br />
include 'head.php';<br />
?><br />
<br />
<br />
解決した(2)<br />
● head.phpで既にchersetしてあるので、header("Content-type: text/html; charset=utf-8");を省いた。<br />
--OKOK----------------<br />
<?php<br />
session_start();<br />
$title ="duf20page:Contact";<br />
header('X-FRAME-OPTIONS: SAMEORIGIN');<br />
include 'head.php';<br />
?><br />
-----------------------<br />
<br />
<br />duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-33370347809853907412016-11-08T21:21:00.001+09:002016-11-09T16:44:31.759+09:00CSRF (Cross site request forgeries) クロス サイト リクエスト フォージェリCSRF対策 メモ(php)<br />
<br />
参考)ドットインストール<br />
http://dotinstall.com/lessons/bbs_php_v2/24508<br />
http://dotinstall.com/lessons/bbs_php_v2/24509<br />
<br />
1) フォームをポストするファイルにトークンを仕込む。<br />
<br />
1.トークンを作る<br />
例) $token=sha1(uniqid(mt_rand(),true))<br />
<br />
2.サーバ上に記録。<br />
(1) session_start() で、セッションを使えるようにして、<br />
(2) 変数 $_SESSION['token'] にトークンをセット。<br />
<br />
3.トークンをデータとともに送信する<br />
formからPOSTで、データとトークンを送り出す<br />
<br />
<br />
2) データ受取りの処理をするファイルで、<br />
<div>
サーバ上の記録と、POSTで受け取ったトークンを比較する。<br />
<br /></div>
<div>
サーバ上に記録がなかったり、値が異なっている場合は、異常。<br />
if ( empty($_SESSION['token']) || ($_SESSION['token'] != $_POST['token']) ) </div>
<div>
<br /></div>
<br />
---------------<br />
◆ session_start エラー<br />
<br />
エラーメッセージがでた :<br />
Warning: session_start() [function.session-start]: Cannot send session cookie....<br />
<br />
session_start() は、必ず、先頭に記述すること。<br />
http://www.phppro.jp/phpmanual/php/ref.session.html<br />
http://www.phppro.jp/phpmanual/php/function.session-start.html<br />
<br />
---------------<br />
◆_CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例<br />
徳丸浩の日記 2011年01月27日<br />
http://www.tokumaru.org/d/20110127.html<br />
<br />
(本文より)> トークン生成は安全な乱数を用いるべきであり、安全な疑似乱数生成器がない場合は、セッションIDそのものを使う方法が妥当<br />
<br />
(コメントより)> 時刻を種にしても安全性はたいして向上しない<br />
<br />
---------------<br />
◆CSRF対策の実際<br />
2011年3月4日 23:17 <br />
http://www.phppro.jp/qa/3140<br />
answerer:ockeghem 3月7日 09:20<br />
・トークンの要件は、「第三者に推定されないこと」<br />
・セッションID(session_id)は推定されない(ように対策されている)という前提をおくことができます<br />
・トークンとして推測の困難なものを使っている場合、それに加えてハッシュ関数を通す必要はありません<br />
<div>
<br /></div>
<div>
---------------</div>
<div>
<br /></div>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-16849158358868835242016-10-27T23:17:00.001+09:002016-11-03T23:40:43.971+09:00bracket メモ (ライブプレビューの設定)◆ライブプレビューの設定<div>
<br /></div>
<div>
[ファイル]-[プロジェクト設定]</div>
<div>
<br /></div>
<div>
例えば、http://localhost/フォルダ名/ と設定しておけば、</div>
<div>
PHPもそのまま、ライブプレヴューできる。</div>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-68305026648931521062016-10-21T09:26:00.000+09:002016-10-21T09:26:38.232+09:00Chrome デベロパーツールのパネルの表示場所<h2 class="duf">
Chrome デベロパーツールのパネルの表示場所</h2>
画面下・画面右横・フロート、と選ぶことができます。<br />
<br />
<div class="separator" style="clear: both;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzK6cc-SmhtJ3wOgnAoglBWUH1EdMPhofjPKdQHM2SAb7DHAshSRIirXyb_USHVHHlt2nIX64vR0NWzd1TsAEVNcKnfT7HMAdO0mhx_PdQ1nG5jAJnp0Hbisk2_wS-J4w-wxysP-fnObf7/s1600/yoko_posi.png" imageanchor="1">
<img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzK6cc-SmhtJ3wOgnAoglBWUH1EdMPhofjPKdQHM2SAb7DHAshSRIirXyb_USHVHHlt2nIX64vR0NWzd1TsAEVNcKnfT7HMAdO0mhx_PdQ1nG5jAJnp0Hbisk2_wS-J4w-wxysP-fnObf7/s200/yoko_posi.png" width="200" />
</a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif7shnpXEQNK368AkHPaeNYgpfUy-krLYB6akOqrRxFIepUU4nrzrQ02191yRwB5Bm-I_NHovC10EvXcZ8WFWrZa1kILVRtqreVL7KLU_NHs9S8PzA83HsoMveMICwbwZyp02bftgW9wLo/s1600/tate_posi.png" imageanchor="1">
<img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif7shnpXEQNK368AkHPaeNYgpfUy-krLYB6akOqrRxFIepUU4nrzrQ02191yRwB5Bm-I_NHovC10EvXcZ8WFWrZa1kILVRtqreVL7KLU_NHs9S8PzA83HsoMveMICwbwZyp02bftgW9wLo/s200/tate_posi.png" width="200" />
</a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglIlsSrGkb_jK_a9Y5hWtEF1PpDVUeSGzEUnVCMUGbXBKh5r36z9LEENgHuG5y9Rvj-PyutDqqD0jwTkmYKp6dylA1QJtzkSgmSxGf9su6kagRakI0250oDQSZQM24wtko_plZHcwe-BBr/s1600/float_posi.png" imageanchor="1">
<img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglIlsSrGkb_jK_a9Y5hWtEF1PpDVUeSGzEUnVCMUGbXBKh5r36z9LEENgHuG5y9Rvj-PyutDqqD0jwTkmYKp6dylA1QJtzkSgmSxGf9su6kagRakI0250oDQSZQM24wtko_plZHcwe-BBr/s200/float_posi.png" width="200" />
</a>
</div>
<br />
<br />
<div class="separator" style="clear: both;">
デベロパーツールの、設定アイコン(2016年10月時点で、縦に点が3つ並んでいる形)をクリックして、選びます。</div>
<br />
<div class="separator" style="clear: both;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxfGZmyhyMp6DPhLpKjb46RKSm-PWF-sMlPjxJl3CIVbjgo7MS0FqJwVzpGa1zpKPnEPvECBa87Ga3QmUGud_Cq_-m1r7X7hGlcNuGc6s3-qLySd4JGQpzGl1QKBWXMv0sdRraq4lUIMse/s1600/chrome_devTool.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxfGZmyhyMp6DPhLpKjb46RKSm-PWF-sMlPjxJl3CIVbjgo7MS0FqJwVzpGa1zpKPnEPvECBa87Ga3QmUGud_Cq_-m1r7X7hGlcNuGc6s3-qLySd4JGQpzGl1QKBWXMv0sdRraq4lUIMse/s320/chrome_devTool.png" width="320" /></a>
</div>
<br />
<br />duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-5369957610009813172016-10-19T12:53:00.000+09:002016-10-21T09:29:38.177+09:00blogger 設定のリンク (随時メモ)ブログ一覧:<br />
https://www.blogger.com/home<br />
<br />
<br />
ユーザー設定を編集:<br />
https://www.blogger.com/user-settings.g<br />
◆全般<br />
ユーザー プロフィール<br />
Blogger<br />
Google+<br />
Blogger Draft を使用する<br />
◆メール通知<br />
機能のお知らせ<br />
<br />
<br />
プロフィールを編集:<br />
https://www.blogger.com/edit-profile.g<br />
<br />
<br />
画像を削除:<br />
https://picasaweb.google.com/home<br />
◆picasaから。<br />
詳しい説明はここを参考に。<br />
http://www.memorou.com/2013/12/bloggerpicasa.html<br />
<br />duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-9881601257788864732016-10-12T01:06:00.000+09:002016-10-12T01:06:09.605+09:00イラストレータで角丸長方形イラストレータで角丸長方形を描く<br />
<br />
<br />
編集しやすい描き方<br />
<br />
1. 長方形ツールを使う(角丸長方形ツールは使わない)<br />
<br />
2. 効果-スタイライズ-角を丸くする<br />
<br />
3. 編集するときは、アピアランスで編集(「角を丸くする」で、fxをクリック)duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-60290451841739370872016-09-28T23:50:00.000+09:002016-10-20T00:00:07.118+09:00photoshopを使って、gifアニメを小さくする方法<h1 class="duf">
photoshopを使って、gifアニメの表示サイズを小さくする方法</h1>
<br />
例えば、400*400pxを、200*200pxにしたいときの方法です。<br />
<br />
<br />
【1】準備<br />
<br />
<ol>
<li> gifファイルをphotoshopで開く<a name='more'></a></li>
<li>[ウィンドウ]-[アニメーション]で、アニメーションパネルを開く</li>
</ol>
<br />
<br />
【2】絵を小さくする<br />
<br />
<ol>
<li>(アニメーションパネルで)フレーム1を選択</li>
<li>(レイヤーパネルで)「フレーム1を反映」にチェックを入れる</li>
<li>[選択範囲]-[全てのレイヤー]</li>
<li>[ctr]+[a] で全ての範囲を選択</li>
<li>[ctr]+[t] で変形モードに入って</li>
<li>幅と高さを連動させて、サイズを変更する</li>
</ol>
<br />
結果→ アニメーションパネルで[アニメーションを再生する]と小さくなったアニメが動く<br />
<br />
<br />
【3】絵に合わせて、カンバスサイズを小さくする<br />
<br />
<ol>
<li>(アニメーションパネルで)フレーム1を選択</li>
<li>[ctr]+[a] で全ての範囲を選択</li>
<li>[イメージ]-[切り抜き]</li>
<li>[ctr]+[d] で選択解除</li>
</ol>
<br />
結果→ アニメーションパネルで[アニメーションを再生する]とカンバスも小さくなってアニメが動く<br />
<br />
【4】gifアニメとして保存する<br />
<br />
<ol>
<li>[ファイル]-[Webおよびデバイス用に保存]</li>
<li>「GIF」であることを確認して、アニメーションのループオプションを決めて、[保存]</li>
</ol>
<br />
<br />duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-58313572116311488422016-09-02T16:16:00.002+09:002016-10-20T00:00:49.069+09:00ロイヤリティフリー リンク集 (随時更新予定) ☆2016-10-15追記著作権フリー<sub>(*1)</sub>素材の探し方。以下、簡単に説明。<br />
<br />
1)使用料金:著作権フリー素材には、<wbr></wbr>有料のものと無料のものがあります。<br />
<div class="a3s aXjCH m156da3fb6da5dd51" id=":z7">
<br />
2)使用条件:著作権フリーとあっても、<wbr></wbr>必ず使用条件を確認してください。<br />
・商用(非営利目的)利用...可/不可<br />
・編集(改変)...可/不可/程度によって可<br />
・作者やサイトを明記すれば、使用可、など<br />
<br />
※ 一番安全なのは、Creative Commons のゼロ (CC0)<br />
・商用(非営利目的)利用...可<br />
・編集(改変)...可<br />
のものです。<br />
<br />
3) ネット上での見つけ方<br />
<br />
<a name='more'></a> ・検索ボックスに「著作権フリー 検索」 と入力すると、<br />
素材を検索できるサイトがでてきます。<wbr></wbr>そのサイトを利用して探します。<br />
<br />
<div style="color: #333333; font-family: "Helvetica Neue Notes", sans-serif; margin-right: 6px;">
(*1)上の「著作権フリー」と、下の4つの単語は、厳密にはそれぞれ異なりますが、ここではざっくり同じととらえてください。どんな素材にも作者がいます。大切なのは創作者の意図と権利を尊重すること、と考えています。<br />
・ロイヤリティフリー<br />
・著作権フリー<br />
・パブリックドメイン<br />
・クリエイティブコモンズ
</div>
<br />
<hr />
[総合検索]<br />
英語のサイトですが、上の検索ボックスに日本語を入れて利用できます。<br />
<a data-saferedirecturl="https://www.google.com/url?hl=ja&q=https://search.creativecommons.org/&source=gmail&ust=1472886103354000&usg=AFQjCNGTUBVe7tZ1RqOM3hYKh9Wa2tAFLQ" href="https://search.creativecommons.org/" rel="noreferrer" target="_blank">https://search.<wbr></wbr>creativecommons.org/</a><br />
<br />
使い方<br />
1. 上部の検索ボックスに単語を入力する。<br />
2. ボックス下の「I want something that I can...」の横の2つのチェックボックスにはチェックを入れておく。<br />
3. 下に並んでいる検索サイトを選んでクリックする。(かっこ)の中は画像や音楽など検索できるものの種類になっている。<br />
<ul>
<li>Europeana (Media)</li>
<li>Google Images (Image)</li>
<li>Wikipedia Commons (Media)</li>
<li>SoundCloud (Music)</li>
<li>Flickr(Image)</li>
<li>Jamendo(Music)</li>
<li>YouTube(Video)</li>
<li>Open Clip ArtLibrary(Images)</li>
<li>Pixabay(Image)</li>
<li>Google(Web)</li>
<li>SpinXpress(Media)</li>
<li>ccMixter(Music)</li>
</ul>
<hr />
[写真] Unsplash<br />
https://unsplash.com/<br />
<br />
高解像度の写真です。<br />
CC0で配布されています。<br />
<br />
<サイトより引用>--ここから↓----<br />
Free (do whatever you want) high-resolution photos.<br />
<br />
All photos published on Unsplash are licensed under Creative Commons Zero which means you can copy, modify, distribute and use the photos for free, including commercial purposes, without asking permission from or providing attribution to the photographer or Unsplash.<br />
<div>
<サイトより引用>--ここまで↑----</div>
<div>
<br /></div>
<br />
<br />
<br />
<hr />
[音楽検索] Jukedeck<br />
https://www.jukedeck.com/ <br />
<br />
紹介サイト<br />
無料で自動的にロイヤリティフリーの音楽を作成してダウンロードもできる「Jukedeck」<br />
<a href="http://gigazine.net/news/20151209-jukedeck/">http://gigazine.net/news/20151209-jukedeck/</a><br />
GIGAZINE<br />
2015年12月09日 20時00分00秒
<br />
<br />
<br />
<hr />
☆2016-09-22追記<br />
「しっぽのさきっちょ」というブログの 2016-09-22 付の記事<br />
・<a href="http://text.baldanders.info/remark/2016/09/photo-meti-project/">経産省は CC Licenses を知らない?</a><br />
<a href="http://text.baldanders.info/remark/2016/09/photo-meti-project/">http://text.baldanders.info/remark/2016/09/photo-meti-project/</a><br />
<br />
この記事を見ると、上述したCCライセンスのポイントがわかります。
<br />
<hr />
<br />
<hr />
<br />
<br />
<br /></div>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-37163397686246867422016-05-29T13:01:00.002+09:002016-05-29T13:04:56.016+09:00MS-officeのマニュアルを英語で読みたい時
MS-officeのマニュアルを英語で読みたい時
ほとんど日本語で問題ないのですが、時々英語にしたくなるので。
メモ。
https://msdn.microsoft.com/ja-jp/library/office/ee861523.aspx
「ja-jp」を、「en-us」 に書き換える
逆もまたOK。翻訳がある場合に有効。
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-7233207215649979412016-05-04T03:48:00.001+09:002016-10-20T00:02:05.399+09:00エクセルにフォームをつける Part II (01)- vbaプログラミング:[次行][前行]をつける、変数を使う<h1 class="duf">
フォームの機能を増やす(その1) [次行][前行]をつける、変数を使う。</h1>
※前回の内容は→
<a href="http://duf20.blogspot.jp/2016/01/excel-form-04.html" target="_blank"> Part I (04)</a>です。
<br />
前回終了時点のサンプルファイルはここにあります→
<a href="http://duf20.com/making_tutorial/excelform_images/sample04.xlsm">右クリックでここからダウンロードできます(ファイル名sample04.xlms)</a><br />
<br />
PartIの、VBAの規則(文法)は2つでした。<br />
◆ プログラムは、Subで始まりEnd Subで終わるプロシージャの中にまとめて書く。<br />
◆ セルやフォーム上のオブジェクトの書き方は<br />
・シート上のセルは、WorkSheet("シート名").Cells(行,列)で表す。<br />
・フォーム上のオブジェクトは、オブジェクト名をつけて使う。<br />
<br />
PartIIでは、プログラム特有の『変数』『ループ構文』『コメント』などを使って、作りこんでいきます。<br />
<br />
<!-- *********************** --><br />
今回(Part2の第1回)は、「次へ」「前へ」ボタンをつけて、行を移動できるようにします。<br />
<br />
このときに『変数』という考え方を使います。<br />
<br />
<a name='more'></a><br />
<h2 class="duf">
(II-1-1)始める前の、準備 (可読性のための、オブジェクト名の変更・プログラムの順番、など)--------</h2>
すすめる前に「後で読みやすいようにする」目的で、<br />
オブジェクト名を変更し・プログラムの順番を変え・コメントを加えて、コードを整えます。<br />
<br />
1) sample04.xlmsを開いて、Visual Basic Editorを立ち上げてください。<br />
<ol>
<li>[開発] タブをクリック</li>
<li>リボン左端の「Visual Basic」をクリック</li>
</ol>
2) PartIで作ってきた、オブジェクト(フォームやシートなど)を確認して、オブジェクト名を変更します。<br />
・ 標準モジュールの「Module1」 のオブジェクト名を「menu」に変えます。<br />
(ワークシート上のボタンをクリックしたときに、実行するプログラムは、ここに書くことにします。)<br />
<br />
<!--<p>
<img src="excelform2_images/201_01.png" width="589" height="355" alt="201_01"></p>
-->
<img alt="201_01" src="http://duf20.com/making_tutorial/excelform2_images/201_01.png" height="355" width="589" /><br />
3) ユーザフォーム editDataForm の、プログラムを確認して、順番を変更します。<br />
・ コードの表示方法 … プロジェクトエクスプローラの 「フォーム」フォルダの「editDataForm」をクリックして、<br />
[F7]を押す か、 右クリックして「コードの表示」をクリックして、表示します。<br />
現在のコードは、下記のようになっています。<br />
<pre class="duf">Private Sub UserForm_Initialize()
' TextBox1.Value = Worksheets("Sheet1").Cells(5, 1).Value
' TextBox2.Value = Worksheets("Sheet1").Cells(5, 2).Value
' TextBox3.Value = Worksheets("Sheet1").Cells(5, 3).Value
' TextBox4.Value = Worksheets("Sheet1").Cells(5, 4).Value
' TextBox5.Value = Worksheets("Sheet1").Cells(5, 5).Value
' TextBox6.Value = Worksheets("Sheet1").Cells(5, 6).Value
TextBox1.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 1).Value
TextBox2.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 2).Value
TextBox3.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 3).Value
TextBox4.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 4).Value
TextBox5.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 5).Value
TextBox6.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 6).Value
End Sub
Private Sub CommandButton_write_Click()
Worksheets("Sheet1").Cells(ActiveCell.Row, 1).Value = TextBox1.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 2).Value = TextBox2.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 3).Value = TextBox3.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 4).Value = TextBox4.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 5).Value = TextBox5.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 6).Value = TextBox6.Value
End Sub
Private Sub CommandButton1_Click()
Unload editDataForm
End Sub
</pre>
<br />
[[ 説明 ]] 「' (アポストロフィ)」から始まる行は、コメント行です。その行は実行されません。<br />
[[ 操作 ]] コメント行を削除して、プロシージャの順番を変え、各プロシージャにコメントを書いてください。<br />
<pre class="duf"><span class="dufchangecode">Private Sub UserForm_Initialize()
'フォームの初期化</span>
TextBox1.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 1).Value
TextBox2.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 2).Value
TextBox3.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 3).Value
TextBox4.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 4).Value
TextBox5.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 5).Value
TextBox6.Value = Worksheets("Sheet1").Cells(ActiveCell.Row, 6).Value
End Sub
<span class="dufchangecode">Private Sub CommandButton_write_Click()
'セルに書き込む</span>
Worksheets("Sheet1").Cells(ActiveCell.Row, 1).Value = TextBox1.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 2).Value = TextBox2.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 3).Value = TextBox3.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 4).Value = TextBox4.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 5).Value = TextBox5.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 6).Value = TextBox6.Value
End Sub
<span class="dufchangecode">Private Sub CommandButton1_Click()
'フォームを閉じる</span>
Unload editDataForm
End Sub
</pre>
<br />
<br />
[[ 操作 ]] [閉じる]ボタン のオブジェクト名を変更して、コードを書き換えてください。<br />
<br />
「閉じる」とわかるように「CommandButton_close」と変えます。<br />
その後、上の「フォームを閉じる」部分を書き換えてください。<br />
<!--<p>
<img src="excelform2_images/201_02.png" width="453" height="387" alt="201_02"></p>
-->
<img alt="201_02" src="http://duf20.com/making_tutorial/excelform2_images/201_02.png" height="387" width="453" /><br />
<pre class="duf">Private Sub <span class="dufchangecode">CommandButton_close_Click()</span>
'フォームを閉じる
Unload editDataForm
End Sub</pre>
<br />
4) シート名を変更する<br />
・ Visual Basic Editor を閉じて、表に戻ってください。<br />
・ Sheet1を 「data」 という名前に変えてください。<br />
プログラムからは、Worksheets("data") として操作します。<br />
<!--<p>
<img src="excelform2_images/201_03.png" width="337" height="660" alt="201_03"></p>
-->
<img alt="201_03" src="http://duf20.com/making_tutorial/excelform2_images/201_03.png" height="660" width="337" /><br />
<br />
・ オブジェクト名を変えたので、それに合わせて、プログラムを書き換えます。<br />
Visual Basic Editorの、「フォームの初期化」「セルに書き込む」の2つのプロシージャ部分です。<br /><br /> ( ここは練習なので、途中でオブジェクト名を変えました。実際は途中で変えることはやりません。書き換えがたいへんなので。)<br />
下記のように、 Worksheets("Sheet1") → WorkSheets("data") に変更します<br />
<pre class="duf">Private Sub UserForm_Initialize()
'フォームの初期化
TextBox1.Value = Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 1).Value
TextBox2.Value = Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 2).Value
TextBox3.Value = Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 3).Value
TextBox4.Value = Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 4).Value
TextBox5.Value = Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 5).Value
TextBox6.Value = Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 6).Value
End Sub
Private Sub CommandButton_write_Click()
'セルに書き込む
Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 1).Value = TextBox1.Value
Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 2).Value = TextBox2.Value
Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 3).Value = TextBox3.Value
Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 4).Value = TextBox4.Value
Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 5).Value = TextBox5.Value
Worksheets(<span class="dufchangecode">"data"</span>).Cells(ActiveCell.Row, 6).Value = TextBox6.Value
End Sub
</pre>
★ **** おまけ: 置換: 一気に置換する方法です ******<br />
1. [編集]-[置換]<br />
2. ダイアログボックスで、[検索する文字列](上)に Worksheets("Sheet1") 、[置換後の文字列](下)に WorkSheets("data") 。対象を「カレントモジュール」。 検索方法を「全体」。チェックボックスは全部OFF。と設定して<br />
3. [すべて置換] をクリック<br />
4. 終了メッセージがでたら [OK]<br />
5. ダイアログボックスを[キャンセル] で閉じる<br />
<!--
<p>
<img src="excelform2_images/201_04_1.png" width="310" height="335" alt="201_04_1"></p>
<p>
<img src="excelform2_images/201_04_2.png" width="525" height="206" alt="201_04_2"></p>
<p>
<img src="excelform2_images/201_04_3.png" width="401" height="191" alt="201_04_3"></p>
<p>
<img src="excelform2_images/201_04_4.png" width="525" height="206" alt="201_04_4"></p>
-->
<img alt="201_04_1" src="http://duf20.com/making_tutorial/excelform2_images/201_04_1.png" height="335" width="310" /><br />
<img alt="201_04_2" src="http://duf20.com/making_tutorial/excelform2_images/201_04_2.png" height="206" width="525" /><br />
<img alt="201_04_3" src="http://duf20.com/making_tutorial/excelform2_images/201_04_3.png" height="191" width="401" /><br />
<img alt="201_04_4" src="http://duf20.com/making_tutorial/excelform2_images/201_04_4.png" height="206" width="525" /><br />
************************************<br />
これで、準備は完了です。<br />
<br />
<br />
<h2 class="duf">
(II-1-2) [次へ] [前へ] ボタンを増やす --------</h2>
ユーザーフォームに、コマンドボタンを2つ増やしてください。<br />
・ [次へ]ボタン … オブジェクト名「 CommandButton_next 」、Caption 「次へ」<br />
・ [前へ]ボタン … オブジェクト名「 CommandButton_previous 」、Caption 「次へ」<br />
※ オブジェクト名(半角英数字で)も、キャプション(日本語OK)も、 自由につけて構いません。<br />
ここでは、CommandButton_next、CommandButton_previous としました。<br />
ボタンの位置や色は、自由に作ってください。<br />
<!--<p>
<img src="excelform2_images/201_04_5.png" width="655" height="361" alt="201_04_5"></p>
-->
<img alt="201_04_5" src="http://duf20.com/making_tutorial/excelform2_images/201_04_5.png" height="361" width="655" /><br />
<br />
<br />
<h2 class="duf">
(II-1-3) [次へ] [前へ] ボタンのコードを書く</h2>
ボタンをクリックするたびに、編集する行を移動させます。<br />
<h3 class="duf">
[ 考え方 ] </h3>
編集する行番号を記録しておいて、[次へ] [前へ]ボタンで行番号を増やしたり減らしたりすればよい。<br />
<!--
<p>
(例) 10行目を編集しているとします。<span class="duf"> <br>
[次へ] … 1増やして11行目を</span>編集する。<span class="duf"> <br>
</span><span class="duf">[前へ] </span><span class="duf"> … 1減らして 9行目を</span><span class="duf"></span>編集する</p>
<p>
</p>
-->
<br />
<h3 class="duf">
[ 手順 ]</h3>
[1] 編集フォームを呼び出す前に、クリックした行の番号を記録しておきます。<br />
[2] 編集フォームを呼び出して、記録した行番号のデータを表示します。<br />
→ このとき、<span class="dufstrong">『変数』</span> を利用します。<br />
[3] [次へ] ボタンの、プロシージャを書きます。<br />
[4] [3]と同様に、[前へ] ボタンのプロシージャを書きます。<br />
<br />
<br />
<br />
<h3 class="duf">
[ 操作 ]</h3>
<h4 class="duf">
[1] 編集する前に、クリックした行の番号を記録します。</h4>
<div class="dufh4contents">
ここでは、記録用のシートを用意して、そこに行番号を記録します。<br />
1. <準備> シートを挿入して、 シート名を「 param 」 にします。<br />
<!--<p>
<img src="excelform2_images/201_05.png" width="476" height="404" alt="201_05"></p>
-->
<img alt="201_05" src="http://duf20.com/making_tutorial/excelform2_images/201_05.png" height="404" width="476" /><br />
<br />
2. 行番号をワークシートparamのセル(2,1)に記録します。<br />
記録のタイミングは、編集フォームを表示する前です。<br />
コードは、「標準モジュール」フォルダの「menu」モジュールに書きます。<br />
ポイント<br />
・ Sub edit_data() の中に記述<br />
・ 行番号 … クリックした行 「ActiveCell.Row 」<br />
・ paramシートのセル(2,1) … worksheets("param").cells(2,1)<br />
現在のコード<br />
<pre class="duf">Sub edit_data()
editDataForm.Show
End Sub</pre>
書き加えます<br />
<pre class="duf">Sub edit_data()
'------------
'クリックした行の番号を、ワークシートparamのセル(2,1)に記録
<span class="dufappendcode">Worksheets("param").Cells(2, 1).Value = ActiveCell.Row</span>
'------------
'フォームを立ち上げる
editDataForm.Show
End Sub </pre>
※上枠のコードには、コメントを加えました。
<br />
-----確認してください -----<br />
dataシートの6行目を選択
(どのセルでも可)<br />
[データの編集] ボタンをクリックして、
何もせず フォームを[閉じる]<br />
paramシートの、2行目1列のセルに 「6」 が記録されていることを確認<br />
--------------------</div>
<br />
<br />
<h4 class="duf">
[2] 編集フォームを書き換えて、記録した行番号のデータを表示します。<br />
→ 記録した行番号を利用するために、<span class="dufstrong">『変数』</span> を使います。</h4>
<div class="dufh4contents">
ポイント<br />
コードは、「フォーム」の「editDataForm」に書きます<br />
・ Private Sub UserForm_Initialize() の中に記述<br />
・ 行番号はparamシートのセル(2,1)に記録されています … worksheets("param").cells(2,1)<br />
・ 行番号を格納する変数 … 今回は「pointRow」という変数名にします。型はLong。<br />
変数を使用するには「Dim pointRow As Long」と書きます(説明は後述)。
<br />
1. 記録した行番号を取得するための、変数を宣言します。(ここではpointRowとします)<br />
<pre class="duf">Private Sub UserForm_Initialize()
'フォームの初期化
'------------
'記録した行番号を利用するため、変数pointRowを準備し、paramシートから値を入力
<span class="dufappendcode">Dim pointRow As Long
pointRow = Worksheets("param").Cells(2, 1)</span>
'------------
'データの表示
TextBox1.Value = Worksheets("data").Cells(ActiveCell.Row, 1).Value
TextBox2.Value = Worksheets("data").Cells(ActiveCell.Row, 2).Value
TextBox3.Value = Worksheets("data").Cells(ActiveCell.Row, 3).Value
TextBox4.Value = Worksheets("data").Cells(ActiveCell.Row, 4).Value
TextBox5.Value = Worksheets("data").Cells(ActiveCell.Row, 5).Value
TextBox6.Value = Worksheets("data").Cells(ActiveCell.Row, 6).Value
End Sub
</pre>
※「Dim pointRow As Long」について<br />
Dim ... 変数を定義するための宣言文句です。<br />
pointRow ... 変数名は自由につけてください。(原則は半角英数で。ここではpointRowとします)<br />
As Long ... 変数には「型」があります。Asの後ろに型を記述します。今回はLong型にしました。
<br />
<br />
2. データを表示する部分で、行番号を「ActiveCell.Row」から「pointRow」に書き換えます。<br />
<pre class="duf">Private Sub UserForm_Initialize()
'フォームの初期化
'------------
'記録した編集指定行を利用するため、変数pointRowを準備し、paramシートから値を入力
Dim pointRow As Long
pointRow = Worksheets("param").Cells(2, 1)
'------------
'pointRowのデータを表示
TextBox1.Value = Worksheets("data").Cells(<span class="dufchangecode">pointRow</span>, 1).Value
TextBox2.Value = Worksheets("data").Cells(<span class="dufchangecode">pointRow</span>, 2).Value
TextBox3.Value = Worksheets("data").Cells(<span class="dufchangecode">pointRow</span>, 3).Value
TextBox4.Value = Worksheets("data").Cells(<span class="dufchangecode">pointRow</span>, 4).Value
TextBox5.Value = Worksheets("data").Cells(<span class="dufchangecode">pointRow</span>, 5).Value
TextBox6.Value = Worksheets("data").Cells(<span class="dufchangecode">pointRow</span>, 6).Value
End Sub
</pre>
</div>
-----確認してください -----<br />
dataシートの6行目を選択(どのセルでも可)<br />
[データの編集] ボタンをクリックして、<br />
6行目のデータが、フォームに表示されていたらOKです。<br />
--------------------<br />
続いて、[次へ]ボタンを作成しましょう。<br />
<br />
<br />
<h4 class="duf">
[3] [次へ] ボタンの、プロシージャを書きます。</h4>
<div class="dufh4contents">
ポイント<br />
コードは、「フォーム」の「editDataForm」に書きます。<br />
・ 新しいプロシージャ「Private Sub CommandButton_next_Click()」 を作ります。<br />
・ <次行へ移動する処理><br />
・記録した行番号を取得して、1 加えます。<br />
・ 1加えた現在行番号を、paramシートに記録し直します<br />
・ dataシートのセルポインタも現在行に移動します<br />
・ データをフォームに表示します。
<br />
1. コードは、「フォーム」の「editDataForm」に書きます。<br />
・ 新しいプロシージャ「Private Sub CommandButton_next_Click()」 を作ります。<br />
(Private Sub UserForm_Initialize():フォームの初期化 の下に書きました。)
<br />
<pre class="duf"><span class="dufappendcode">Private Sub CommandButton_next_Click()
'次データボタン
End Sub</span>
</pre>
2.次の行へ移動する処理<br />
<br />
・新しいプロシージャなので、新しく変数を作ります(pointRowとしました)。<br />
「Dim pointRow As Long」<br />
※ [2]のPrivate Sub UserForm_Initialize()でも変数を作っていますが、プロシージャが変わったので使えません。新しく作ります。詳細説明は後述。<br />
<br />
<pre class="duf">Private Sub CommandButton_next_Click()
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
<span class="dufappendcode">Dim pointRow As Long</span>
End Sub
</pre>
<br />
・paramシートに記録した行番号を、変数pointRowに入れます。<br />
「pointRow = Worksheets("param").Cells(2, 1).Value」<br />
<pre class="duf">Private Sub CommandButton_next_Click()
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
Dim pointRow As Long
'記録した行番号を取得する
<span class="dufappendcode">pointRow = Worksheets("param").Cells(2, 1).Value</span>
End Sub
</pre>
<br />
・pointRowに入れた行番号を、1増やします。<br />
「pointRow = pointRow + 1」<br />
※変わった式に見えますが、意味は「右辺の計算結果を、左辺に代入する」です。<br />
pointRowを1増やした値を、pointRowに再セットしています。<br />
<pre class="duf">Private Sub CommandButton_next_Click()
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
Dim pointRow As Long
'記録した行番号を取得する
pointRow = Worksheets("param").Cells(2, 1).Value
'行番号を、1 増やす
<span class="dufappendcode">pointRow = pointRow + 1</span>
End Sub
</pre>
<br />
・paramシートの記録も書き換えます。<br />
「Worksheets("param").Cells(2, 1).Value = pointRow」<br />
<pre class="duf">Private Sub CommandButton_next_Click()
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
Dim pointRow As Long
'記録した行番号を取得する
pointRow = Worksheets("param").Cells(2, 1).Value
'行番号を、1 増やす
pointRow = pointRow + 1
'------------
'現在行番号を、paramシートに記録し直す
<span class="dufappendcode">Worksheets("param").Cells(2, 1).Value = pointRow</span>
End Sub
</pre>
<br />
・dataシートも、現在行に移動します。<br />
「Worksheets("data").Cells(pointRow, 1).Activate」<br />
※「ワークシートdataのpointRowセルを、Activateする」と書きます<br />
<pre class="duf">Private Sub CommandButton_next_Click()
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
Dim pointRow As Long
'記録した行番号を取得する
pointRow = Worksheets("param").Cells(2, 1).Value
'行番号を、1 増やす
pointRow = pointRow + 1
'------------
'現在行番号を、paramシートに記録し直す
Worksheets("param").Cells(2, 1).Value = pointRow
'------------
'dataシートのセルポインタも現在行に移動する
<span class="dufappendcode">Worksheets("data").Cells(pointRow, 1).Activate</span>
End Sub
</pre>
<br />
<br />
3. フォームにデータを表示します。<br />
<br />
データの表示は、Private Sub UserForm_Initialize() のデータ表示部分と全くです。
<br />
<pre class="duf">Private Sub CommandButton_next_Click()
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
Dim pointRow As Long
'記録した行番号を取得する
pointRow = Worksheets("param").Cells(2, 1).Value
'行番号を、1 増やす
pointRow = pointRow + 1
'------------
'現在行番号を、paramシートに記録し直す
Worksheets("param").Cells(2, 1).Value = pointRow
'------------
'dataシートのセルポインタも現在行に移動する
Worksheets("data").Cells(pointRow, 1).Activate
'------------
'pointRowのデータを表示
<span class="dufappendcode">TextBox1.Value = Worksheets("data").Cells(pointRow, 1).Value
TextBox2.Value = Worksheets("data").Cells(pointRow, 2).Value
TextBox3.Value = Worksheets("data").Cells(pointRow, 3).Value
TextBox4.Value = Worksheets("data").Cells(pointRow, 4).Value
TextBox5.Value = Worksheets("data").Cells(pointRow, 5).Value
TextBox6.Value = Worksheets("data").Cells(pointRow, 6).Value</span>
End Sub
</pre>
<br />
以上で、[次へ]ボタンのコードが完成です。確認してください。<br />
</div>
<h4 class="duf">
[4] [前へ] ボタンの、プロシージャを書きます。</h4>
<div class="dufh4contents">
[3][次へ] ボタンの、プロシージャと同様です。<br />
[前へ]なので、行番号が -1 となります。<br />
<br />
<pre class="duf"><span class="dufchangecode">Private Sub CommandButton_previous_Click()</span>
'次データボタン
'------------
'記録した行番号を取得するために、変数を作る
Dim pointRow As Long
'記録した行番号を取得する
pointRow = Worksheets("param").Cells(2, 1).Value
'行番号を、1 減らす
pointRow = pointRow <span class="dufchangecode">- 1</span>
'------------
'現在行番号を、paramシートに記録し直す
Worksheets("param").Cells(2, 1).Value = pointRow
'------------
'dataシートのセルポインタも現在行に移動する
Worksheets("data").Cells(pointRow, 1).Activate
'------------
'pointRowのデータを表示
TextBox1.Value = Worksheets("data").Cells(pointRow, 1).Value
TextBox2.Value = Worksheets("data").Cells(pointRow, 2).Value
TextBox3.Value = Worksheets("data").Cells(pointRow, 3).Value
TextBox4.Value = Worksheets("data").Cells(pointRow, 4).Value
TextBox5.Value = Worksheets("data").Cells(pointRow, 5).Value
TextBox6.Value = Worksheets("data").Cells(pointRow, 6).Value
<span class="dufchangecode">End Sub</span>
</pre>
</div>
以上で、[次へ][前へ]ボタンが動くようになりました。<br />
<!--
<p>
</p>
<div class="dufh3contents">
<h3 class="duf">
まとめ</h3>
<ul>
<li>変数は、移動する行番号など、変化する値を扱うのに便利です。<br>
Dim 変数名(自由に) As 変数型(決まっている)<br>
Dim で作った変数は、プロシージャが終わると消えます。<br>
別のプロシージャを実行するときは、作り直します。</li>
<li>フォームコントロールやシートなどの、オブジェクトはわかりやすい名前にします。</li>
<li>コメントはどんどん書き込みましょう。読みやすくなります。</li>
</ul>
</div>
-->
<br />
<br />
※ 続きはまた今度。Part II(02)「同じ処理をまとめる」の予定です。<br />
※ ここまでのデータは、<a href="http://duf20.com/making_tutorial/excelform2_images/sample02_01.xlsm">こちらからダウンロード</a>できます。(リンクを右クリックして保存)<br />
<!--
<p>
続きは<a href="http://duf20.blogspot.jp/2016/01/excel-form-05.html">エクセルにフォームをつける Part I(05)</a></p>
-->
<br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-73704441795116471682016-04-20T00:04:00.001+09:002016-05-04T04:47:52.241+09:00Excel VBA : 数値をゼロ埋めして文字列にする<h1 style="font-size:100%">Excel VBA : 数値をゼロ埋めして文字列にする</h1>
</p>
<p>超★手抜きの方法です。<br>
</p>
<p>例)数値 12 を、3桁の文字列 012 にする</p>
<p> </p>
<pre style="border:solid 1px; padding:5px 10px;"><code class="VBScript">
dim i as integer
dim s as string
i = 12
s = Mid( LTrim(Str(1000 + i)), 2, 3)
</code></pre>
1. 数字を 「12」<br>
2. 数字を4桁にするために、1000を加える → 「1012」<br>
3. str関数で文字列にする → 文字列「 1012」 になる<br>
4. str関数は一番左に符号用のスペースが入るので、LTrimでとる → 文字列「1012」<br>
5. Mid関数で、2文字目から3桁切り出す → 文字列「012」</p>
<p>5桁の0埋めにしたければ、100000を加えて、2文字目から5桁切り出せばOKです。<br>
</p>
<hr>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-5420245542563291"
data-ad-slot="2786456164"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr>duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-40817661694430982802016-04-18T20:19:00.002+09:002016-10-20T00:03:00.593+09:00excelでセルに色を付ける (他のセルの条件に対応して色をつける): 条件付き書式を使う場合<h1 style="font-size: 100%;">
やりたいこと:セルに色をつける</h1>
<div style="font-size: 80%;">
★ここでは、R1C1形式でExcel表を使っています。<br />
(列番号を、ABCではなく、数字で表示する形式)<br />
私はアルファベットネイティブではないので、ABCでは直感的に並びがわかりません。<br />
なので、いつもR1C1形式で使っています。<br />
</div>
今回は、条件付き書式を使いました。<br />
<br />
ここで、やったことは、2つ<br />
その1) セルが、特定の文字を含んでいたら色をつけたい。<br />
その2) 隣のセルが、特定の文字を含んでいたら、色をつけたい。<br />
<br />
<a name='more'></a>文字は3つ、色は3つ<br />
(文字) アイデア → (色) 黄<br />
(文字) 計画 → (色)青<br />
(文字) 実施 → (色)緑<br />
サンプル
<!-- <p>
<img src="excel_conditionalformat/001.png" width="652" height="213" alt="001"></p>
-->
<br />
<img alt="001" src="http://duf20.com/making_tutorial/excel_conditionalformat/001.png" height="213" width="652" /><br />
<!-- <p>
<img src="excel_conditionalformat/202_7.png" width="662" height="216" alt="202_7"></p>
-->
<img alt="202_7" src="http://duf20.com/making_tutorial/excel_conditionalformat/202_7.png" height="216" width="662" /><br />
<br />
<h2 style="font-size: 100%;">
その1:基本) セルが、特定の文字を含んでいたら、そのセルに色をつけたい。</h2>
1.サンプル文のセルを選択<br />
<!-- <p>
<img src="excel_conditionalformat/001_0.png" width="641" height="203" alt="001_0"></p>
-->
<img alt="001_0" src="http://duf20.com/making_tutorial/excel_conditionalformat/001_0.png" height="203" width="641" /><br />
2.[条件付き書式] - [ルールの管理] <br />
<!-- <p>
<img src="excel_conditionalformat/002_1.png" width="401" height="426" alt="002_1"></p>
-->
<img alt="002_1" src="http://duf20.com/making_tutorial/excel_conditionalformat/002_1.png" height="426" width="401" /><br />
3. 「条件付き書式ルールの管理」ダイアログボックスで<br />
書式ルールの表示 : 現在の選択範囲<br />
[新規ルール] をクリック<br />
<!-- <p>
<img src="excel_conditionalformat/002_2.png" width="696" height="320" alt="002_2"></p>
-->
<img alt="002_2" src="http://duf20.com/making_tutorial/excel_conditionalformat/002_2.png" height="320" width="696" /><br />
<br />
4.「新しい書式ルール」 ダイアログボックスで<br />
・「指定の値を含むセルだけを書式設定」 にして<br />
・「 特定の文字列」 で 「次の値を含む 」 にして、設定したい文字 をと入力 (例えば「アイデア」)<br />
・ 書式で、塗りつぶしを選んで、[OK] (例えば「ゴールド」 )<br />
<!-- <p>
<img src="excel_conditionalformat/003.png" width="546" height="408" alt="003"></p>
-->
<img alt="003" src="http://duf20.com/making_tutorial/excel_conditionalformat/003.png" height="408" width="546" /><br />
<!-- <p>
<img src="excel_conditionalformat/003_1.png" width="542" height="578" alt="003_1"></p>
-->
<img alt="003_1" src="http://duf20.com/making_tutorial/excel_conditionalformat/003_1.png" height="578" width="542" /><br />
<br />
5. 「条件付き書式ルールの管理」ダイアログボックスに戻って、[OK] または、[適用] をクリックすると、セルの色が変わる。<br />
<!-- <p>
<img src="excel_conditionalformat/003_2.png" width="696" height="320" alt="003_2"></p>
-->
<img alt="003_2" src="http://duf20.com/making_tutorial/excel_conditionalformat/003_2.png" height="320" width="696" /><br />
<!-- <p>
<img src="excel_conditionalformat/003_3.png" width="659" height="209" alt="003_3"></p>
-->
<img alt="003_3" src="http://duf20.com/making_tutorial/excel_conditionalformat/003_3.png" height="209" width="659" /><br />
<br />
5.残りも設定する → セルの中に「実施」「計画」「アイデア」の両方の文字が入っているときは、<br />
「条件付き書式ルールの管理」 ダイアログボックスで、優先順位を変える。(上の方が優先順位が上)<br />
<!-- <p>
<img src="excel_conditionalformat/003_4.png" width="696" height="320" alt="003_4"></p>
-->
<img alt="003_4" src="http://duf20.com/making_tutorial/excel_conditionalformat/003_4.png" height="320" width="696" /><br />
<!-- <p>
<img src="excel_conditionalformat/001_fini.png" width="697" height="212" alt="001_fini"></p>
-->
<img alt="001_fini" src="http://duf20.com/making_tutorial/excel_conditionalformat/001_fini.png" height="212" width="697" /><br />
<br />
<br />
<h2 style="font-size: 100%;">
その2:応用) 隣のセルが、特定の文字を含んでいたら、色をつけたい。</h2>
1.2. その1)の手順、1.2. と同じ。<br />
3. 「条件付き書式ルールの管理」ダイアログボックスで<br />
書式ルールの表示 : このワークシート<br />
[新規ルール] をクリック<br />
<!-- <p>
<img src="excel_conditionalformat/202_3.png" width="696" height="320" alt="202_3"></p>
-->
<img alt="202_3" src="http://duf20.com/making_tutorial/excel_conditionalformat/202_3.png" height="320" width="696" /><br />
4.「新しい書式ルール」 ダイアログボックスで<br />
・「数式を使用して、書式設定するセルを決定」 にして<br />
・数式に 「 =NOT(ISERROR(FIND("アイデア",RC[-1]))) 」 と入力<br />
・ 書式を設定して [OK]<br />
<!-- <p>
<img src="excel_conditionalformat/202_4.png" width="396" height="408" alt="202_4"></p>
-->
<img alt="202_4" src="http://duf20.com/making_tutorial/excel_conditionalformat/202_4.png" height="408" width="396" /><br />
5. 「条件付き書式ルールの管理」ダイアログボックスに戻って、[OK] または、[適用] をクリックすると、セルの色が変わる。<br />
<!-- <p>
<img src="excel_conditionalformat/202_5.png" width="696" height="320" alt="202_5"></p>
-->
<img alt="202_5" src="http://duf20.com/making_tutorial/excel_conditionalformat/202_5.png" height="320" width="696" /><br />
<!-- <p>
<img src="excel_conditionalformat/202_6.png" width="663" height="204" alt="202_6"></p>
-->
<img alt="202_6" src="http://duf20.com/making_tutorial/excel_conditionalformat/202_6.png" height="204" width="663" /><br />
<br />
<h2 style="font-size: 100%;">
おまけ) さらにとなりのセルに設定</h2>
式は、「=NOT(ISERROR(FIND("アイデア)",RC[-2]))) 」<br />
<!-- <p>
<img src="excel_conditionalformat/202_7.png" width="662" height="216" alt="202_7"></p>
-->
<img alt="202_7" src="http://duf20.com/making_tutorial/excel_conditionalformat/202_7.png" height="216" width="662" /><br />
<br />
<h2 style="font-size: 100%;">
式の意味</h2>
=NOT(ISERROR(FIND("アイデア)",RC[-1]))) <br />
= … 数式の始まり<br />
NOT( ** ) … ** でないもの<br />
ISERROR( FIND(**) ) … ** が見つからなかった<br />
FIND("アイデア)",RC[-1]) … 「アイデア」 という文字を探す、1列左のセルで。(2列左のセルを探す場合は、RC[-2] となります)<br />
まとめると、2重否定ですが、<br />
((「1列左のセル」 で 「アイデア」 という文字を探して)、見つからなかった)のではなかった <br />
つまり、見つかったら、書式を適用する<br />
となります。<br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-30961814495586547822016-03-21T21:58:00.000+09:002016-10-20T00:03:28.926+09:00windows のゴミ箱<h1 style="font-size: 100%;">
windows のゴミ箱</h1>
<br />
windows7です。<br />
<h2 style="font-size: 100%;">
・ windowsの「ゴミ箱の常識」(と言ってよいと思うのですが)</h2>
通常、[削除] すると、まずゴミ箱に入って、あっまずいと思ったら、後から取り出すことができます。<br />
そして、完全に削除するには [ゴミ箱を空にする] を実行します。<br />
<br />
<h2 style="font-size: 100%;">
・ ゴミ箱を入れずに、即座に完全に捨てる時は、 Shift + [Delete]</h2>
<br />
<a name='more'></a><br />
<h2 style="font-size: 100%;">
・ ゴミ箱に入れずに、いつも完全に削除する方法は、ゴミ箱のプロパティを変更します</h2>
ゴミ箱の場所を選んで、「ゴミ箱にファイルを移動しないで、削除と同時にファイルを消去する」をチェックします。<br />
<!-- <p>
<img src="windowstrash_images/001.png" width="409" height="373" alt="001"></p>
-->
<img alt="001" src="http://duf20.com/making_tutorial/windowstrash_images/001.png" height="373" width="409" /><br />
こうすると、いつもサクッと完全削除するようになります。<br />
ゴミ箱には何も入りません。元に戻す技は、もう使えません。<br />
うっかり屋さんには危険なので、後で忘れず元に戻しましょう。<br />
<br />
<h2 style="font-size: 100%;">
・ もとのゴミ箱にもどすには、ゴミ箱のプロパティから</h2>
ゴミ箱の場所を選んで、「カスタムサイズ」をチェックします。<br />
<!-- <p>
<img src="windowstrash_images/002.png" width="409" height="373" alt="002"></p>
-->
<img alt="002" src="http://duf20.com/making_tutorial/windowstrash_images/002.png" height="373" width="409" /><br />
<br />
<h2 style="font-size: 100%;">
おまけ) もとのゴミ箱にもどすために、「カスタムサイズ」にチェックを入れたのに、</h2>
なぜか、完全削除になってしまう。どうして? <br />
と、頭を抱えた、私のような人へ。<br />
「ゴミ箱の場所」を確認してください。<br />
私は、C: のところを間違って、 F:を選んで悩んでいたのでした。<br />
<br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-17433032388626646782016-03-18T15:45:00.001+09:002016-10-20T00:04:12.964+09:00白地図的なものが欲しかったので、Styled Maps Wizardを使った<h1 style="font-size: 100%;">
白地図的なものが欲しかったので、Styled Maps Wizardを使った。</h1>
<br />
白地図といっても、完全に真っ白じゃなくて、地名とかは残しておきたい。<br />
目的は、マップのお店などのマーカーを非表示にして、自分のマークで書き込むこと。<br />
Wizardがいることがわかったので、頼ることにしました。<br />
<br />
<h2 style="font-size: 100%;">
1)魔法使いの名前は、「<a href="http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html">Styled Maps Wizard</a>」</h2>
URL:<a href="http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html">http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html</a><br />
<!-- <p>
<img src="gmapwizard_images/gw001_s.png" width="800" height="532" alt="001"></p>
-->
<img alt="001" src="http://duf20.com/making_tutorial/gmapwizard_images/gw001_s.png" height="532" width="800" /><br />
<br />
<a name='more'></a><br />
<h2 style="font-size: 100%;">
2)普通のgoogleマップと同じように、目的の住所を入れて検索</h2>
<!-- <p>
<img src="gmapwizard_images/gw002_s.png" width="800" height="531" alt="002"></p>
-->
<img alt="002" src="http://duf20.com/making_tutorial/gmapwizard_images/gw002_s.png" height="531" width="800" /><br />
<br />
<h2 style="font-size: 100%;">
3) selector を point of interest、visibility を off</h2>
<!-- <p>
<img src="gmapwizard_images/gw003_s.png" width="800" height="533" alt="003"></p>
-->
<img alt="003" src="http://duf20.com/making_tutorial/gmapwizard_images/gw003_s.png" height="533" width="800" /><br />
<br />
目的達成♪ ありがとうございます>このサイト作ってくれた人。<br />
<br />
<br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-17662703835500861952016-02-29T20:00:00.001+09:002016-10-20T00:04:46.939+09:00パワーポイントのガイドを表示する<h1 style="font-size: 100%;">
パワーポイントのガイドを表示する</h1>
画面にガイドが一つもないときに、表示させる方法<br />
<br />
<h2 style="font-size: 100%;">
1) 画面にガイドが1本もない状態</h2>
→ (確認) [表示] の ルーラー/グリッド線/ガイド をみても、すべてチェックが入っている<br />
<!--<p>
<img src="powerpoint_guide/001.png" width="500" height="327" alt="001"></p>
-->
<img alt="001" src="http://duf20.com/making_tutorial/powerpoint_guide_images/001.png" height="327" width="500" /><br />
<br />
<h2 style="font-size: 100%;">
2) [ガイド]のチェックを外して、もう一度入れる<a name='more'></a></h2>
<!--<p>
<img src="powerpoint_guide/002.png" width="195" height="163" alt="002"></p>
-->
<img alt="002" src="http://duf20.com/making_tutorial/powerpoint_guide_images/002.png" height="163" width="195" /><br />
→ ガイドが、縦横中央に1本ずつ表示される<br />
<!--<p>
<img src="powerpoint_guide/003.png" width="500" height="327" alt="003"></p>
-->
<img alt="003" src="http://duf20.com/making_tutorial/powerpoint_guide_images/003.png" height="327" width="500" /><br />
<br />
<h2 style="font-size: 100%;">
3) 後は、表示されたガイド線を複製して使う (ctrを押しながらドラッグで複製できる)</h2>
<br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-25273866353475040762016-02-22T19:25:00.000+09:002016-10-20T00:05:20.909+09:00Excel: セルの高さを自動調整したら、文字が切れる<h1 style="font-size: 100%;">
【Excel: セルの高さを自動調整したら、文字が切れる】</h1>
<br />
<h2 style="font-size: 100%;">
◆ 前提: セルの書式設定 - [配置]タブ - 文字の制御 - 折り返して全体を表示する<a name='more'></a></h2>
<!--<p style="font-size:100%">
<img src="excel_cellheight_trouble/01.png" width="542" height="539" alt="01"></p>
-->
<div style="font-size: 100%;">
<img alt="01" src="http://duf20.com/making_tutorial/excel_cellheight_trouble/01.png" height="539" width="542" /></div>
・上下が開いた状態<br />
<!--<p>
<img src="excel_cellheight_trouble/02.png" width="332" height="525" alt="02"></p>
-->
<img alt="02" src="http://duf20.com/making_tutorial/excel_cellheight_trouble/02.png" height="525" width="332" /><br />
・自動調整した後<br />
<!--<p>
<img src="excel_cellheight_trouble/03.png" width="309" height="323" alt="03"></p>
-->
<img alt="03" src="http://duf20.com/making_tutorial/excel_cellheight_trouble/03.png" height="323" width="309" /><br />
<br />
<h2 style="font-size: 100%;">
◆ トラブル:ズームを98%のようにしていると、自動調整がうまくいかず、下の文字が一部切れてしまうことがある。</h2>
<!--<p style="font-size:100%">
<img src="excel_cellheight_trouble/04.png" width="187" height="274" alt="04"> <img src="excel_cellheight_trouble/05.png" width="286" height="279" alt="05"></p>
-->
<div style="font-size: 100%;">
<img alt="04" src="http://duf20.com/making_tutorial/excel_cellheight_trouble/04.png" height="274" width="187" /> <img alt="05" src="http://duf20.com/making_tutorial/excel_cellheight_trouble/05.png" height="279" width="286" /></div>
<br />
<h2 style="font-size: 100%;">
◆ 解決策:ズーム100%にすればいい。</h2>
<!--<p style="font-size:100%">
<img src="excel_cellheight_trouble/06.png" width="268" height="212" alt="06"></p>
-->
<div style="font-size: 100%;">
<img alt="06" src="http://duf20.com/making_tutorial/excel_cellheight_trouble/06.png" height="212" width="268" /></div>
<br />
※ セルの文章は、青空文庫「D坂の殺人事件(江戸川 乱歩)」より引用。<br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-12614796062652990852016-02-02T00:45:00.000+09:002016-05-04T04:49:49.757+09:00windows7 関連付け 関連付けの変更<br />
<br />
1) コントロールパネル-プログラム<br />
-既定のプログラム-ファイルの種類またはプロトコルのプログラムへの関連付け<br />
<br />
→ 拡張子のリストが出る<br />
<br />
2) 拡張子を選んで、「プログラムの変更」をクリック<br />
<br />
→ プログラムの選択画面が出る<br />
<br />
3) 関連付けしたいプログラムを選択してOK<br />
<br />
→ 変更後の、拡張子のリストが出るので、2)から繰り返す。<br />
<br />
<br />
<br />
※ Opera のアイコンを Chrome に戻したかった。<br />
<br />
拡張子のリストの、項目「説明」をクリックすると、説明でソートできる。<br />
<br />
「Opera Web Document」 を探して、一つ一つ変更していった。<br />
<br />
.crx .nex .opdownload の3つは、上記2)のリストにoperaしかいなかったので、放置。 <br />
([参照]から探して変更する必要はないと思ったので。)<br />
<br />
<br />
<hr>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-5420245542563291"
data-ad-slot="2786456164"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr>
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0tag:blogger.com,1999:blog-7434529588352543682.post-16139827433243749232016-01-13T03:47:00.003+09:002016-10-20T00:06:06.341+09:00エクセルにフォームをつける Part I (04)<h1 style="font-size: 100%;">
エクセルのデータ表で、フォームを作って操作する(その4) フォームに入力したデータを、セルに書き込む・他</h1>
※前回の内容は→
<a href="http://duf20.blogspot.jp/2016/01/excel-form-03.html" target="_blank"> Part I (03)</a>です。
<!-- <a href ="http://duf20.com/making_tutorial/excelform_02.html" target="_blank">duf20.com/making_tutorial/excelform_02.html</a> -->です。
<br />
前回終了時点のサンプルファイルはここにあります→
<a href="http://duf20.com/making_tutorial/excelform_images/sample03.xlms">右クリックでここからダウンロードできます(ファイル名sample03.xlms)</a><br />
<br />
前回は、編集・入力したい行をクリックしてフォームに表示できるようにしました。またフォームに[閉じる]ボタンを作成して、クリックするとフォームが閉じるように作りました。<br />
今回は、[セルに書き込む]ボタンをフォームに作成し、クリックで、入力したデータをセルに書き込めるようにします。また、フォーム上のオブジェクトを揃えたり、使いやすくします。<br />
<br />
<!-- *********************** --><br />
<h2 style="font-size: 100%;">
(4-1)フォームに「セルに書き込む」ボタンを作る
----------</h2>
<br />
<a name='more'></a>前回の[閉じる]ボタンでは、VBAが自動でつけた名前(オブジェクト名CommandButton1)をそのまま使いました。<br />
今回は、ボタンの名前(オブジェクト名)を自分で決めることにします。<br />
<h3 style="font-size: 100%;">
【4-1-1】フォーム上に[セルに書き込む]ボタンを作る</h3>
※Visual Basic Editorで操作します。<br />
Visual Basic Editor が閉じている場合は、Excelシートの開発タブをクリックして、左端のVisualBasicをクリックして、立ち上げてください。<br />
<img alt="4100" src="http://duf20.com/making_tutorial/excelform_images/4100.png" height="108" width="557" /><br />
<!-- <p>
<img src="excelform_images/4100.png" width="557" height="108" alt="4100"></p>
-->
1)フォームを編集する準備<br />
※ 画面左のプロジェクトエクスプローラを使って、フォームを表示します。<br />
プロジェクトエクスプローラが表示されていない時は、[表示]-[プロジェクトエクスプローラ]をクリックして画面に出してください。<br />
<img alt="4100" src="http://duf20.com/making_tutorial/excelform_images/4100.png" height="108" width="557" /><br />
<!-- <p>
<img src="excelform_images/4100.png" width="557" height="108" alt="4100"></p>
-->
<br />
editDataForm(前回つけたフォームの名前)をダブルクリックして、フォームを表示します<br />
<img alt="4102" src="http://duf20.com/making_tutorial/excelform_images/4102.png" height="249" width="245" /><br />
<!-- <p>
<imgsrc="excelform_images/4102.png" width="245" height="249" alt="4102"></p>
-->
2) ツールボックスを使って、フォーム上に、コマンドボタンを書きます。<br />
<img alt="4103" src="http://duf20.com/making_tutorial/excelform_images/4103.png" height="357" width="525" /><br />
<!-- <p>
<img src="excelform_images/4103.png" width="525" height="357" alt="4103"></p>
-->
3) 左のプロパティウィンドウを使って、ボタンの名前とキャプションを設定します。<br />
・ ボタンのキャプション…「書き込む」にしました。<br />
・ ボタンの名前 … 「CommandButton_Write」にしました。<br />
<img alt="4104" src="http://duf20.com/making_tutorial/excelform_images/4104.png" height="196" width="552" /><br />
<!-- <p>
<img src="excelform_images/4104.png" width="552" height="196" alt="4104"></p>
-->
<br />
<h3 style="font-size: 100%;">
【4-1-2】フォームに、コードを書く</h3>
1) 「CommandButton_writeボタンを クリック」 したときの処理を、記述します。準備として subで始まる枠を書いておきます。
<br />
<pre style="border: solid 1px; padding: 5px 10px;"><code class="VBScript">
Private Sub CommandButton_write_Click()
End Sub
</code></pre>
※ 前回、コードを書く画面は、プロジェクトエクスプローラでeditDataFormを選択→右クリック→「コードを表示」で出しました。(<a href="http://duf20.blogspot.jp/2016/01/excel-form-02.html" target="_blank"> Part I(02) </a>の【2-2-1】 に、他の操作方も書いてあります)<br />
今回は、別の方法を使います。<br />
ボタンの上で右クリック → 「コードの表示」<br />
<img alt="4105" src="http://duf20.com/making_tutorial/excelform_images/4105.png" height="319" width="278" /><br />
<!-- <p>
<img src="excelform_images/4105.png" width="278" height="319" alt="4105"></p>
-->
一気に、上述の「~ CommandButton_write_Click() ~」のコードが入ります。<br />
<br />
2) 「フォームのデータを、セルに入れる」 コードを書きます。<br />
例) ワークシート「Sheet1」のセル5行1列(の値)に、TextBox1の値を入れる <br />
Worksheets("Sheet1").Cells(5, 1).Value = TextBox1.Value<br />
となります。<br />
クリックした行に書き込みたいので、5 の代わりに ActiveCell.Row と書きます。<br />
Worksheets("Sheet1").Cells(ActiveCell.Row, 1).Value = TextBox1.Value<br />
<pre style="border: solid 1px; padding: 5px 10px;"><code class="VBScript">
Private Sub CommandButton_write_Click()
Worksheets("Sheet1").Cells(ActiveCell.Row, 1).Value = TextBox1.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 2).Value = TextBox2.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 3).Value = TextBox3.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 4).Value = TextBox4.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 5).Value = TextBox5.Value
Worksheets("Sheet1").Cells(ActiveCell.Row, 6).Value = TextBox6.Value
End Sub
</code></pre>
※ 「クリックした行をカード型で表示、編集・入力できるフォーム」が作成できました。<br />
<br />
<!-- *********************** --><br />
<h2 style="font-size: 100%;">
(4-2)フォームの見え方を編集します(プロパティウィンドウを使う)
----------</h2>
フォーム上のオブジェクト(テキストボックス、ラベル、コマンドボタンなど)の編集は、プロパティウィンドウを使って行います。<br />
プロパティは、見え方や、表示のしかた、日本語変換を使うかどうかなど、細かな設定ができます。編集したいオブジェクトを選択して、値を設定します。オブジェクトは、Ctrl を押しながらクリックすると、複数選択できるので、一度に設定できます。<br />
いくつか紹介します。<br />
<br />
1) データの内容が、テキストボックスの横幅に収まらない。複数行表示させたい。<br />
→ 変えたいオブジェクトを選択して、MultiLine を「True」にします。<br />
<img alt="4201" src="http://duf20.com/making_tutorial/excelform_images/4201.png" height="305" width="354" /><br />
<!-- <p>
<img src="excelform_images/4201.png" width="354" height="305" alt="4201"></p>
-->
<br />
2) 揃えたい<br />
ボックスのサイズを、揃えたい … オブジェクトを複数選択して width(幅) height(高さ)に値を入れる<br />
左端を揃えたい … オブジェクトを複数選択して、left に値を入れる<br />
横に綺麗に並べたい … オブジェクトを複数選択して、top に値を入れる<br />
<img alt="4202" src="http://duf20.com/making_tutorial/excelform_images/4202.png" height="218" width="337" /><br />
<!-- <p>
<img src="excelform_images/4202.png" width="337" height="218" alt="4202"></p>
-->
3) すぐ日本語入力ができるようにする(切り替えなくてもよい)<br />
設定したいオブジェクトを選択して、IMEMode を「1 - fmIMEModeOn」にします。<br />
<img alt="4203" src="http://duf20.com/making_tutorial/excelform_images/4203.png" height="237" width="351" /><br />
<!-- <p>
<img src="excelform_images/4203.png" width="351" height="237" alt="4203"></p>
-->
※ プロパティウィンドウには「全体」タブと「項目別タブ」があります。<br />
「全体」タブ は アルファベット順、「項目別タブ」は カテゴリー分け。どちらも内容は同じですので、使いやすい方で、設定してください。<br />
<br />
これで、Part I は終わりです。シンプルですが、使えるフォームができました。<br />
<img alt="4204" src="http://duf20.com/making_tutorial/excelform_images/4204.png" height="357" width="528" /><br />
<!-- <p>
<img src="excelform_images/4204.png" width="528" height="357" alt="4204"></p>
-->
プログラムは 「しゃべることば」を、そのまま「コードに置き換えることからはじまる」という感じが伝わっていると、嬉しいです。 <br />
<br />
Part II では、[次へ]ボタンや、[前へ]ボタンを作って、さらに使いやすくします。また、<a href="http://duf20.blogspot.jp/2016/01/excel-form-02.html" target="_blank"> Part I(02) </a>で予告したように、同じパターンが綺麗に並んでいるときの書き方など、プログラムをわかりやすく変えていこうと思います。<br />
<br />
※ 続きはまた今度。Part II 「次へ・前へ」ボタン他、の予定です。<br />
※ ここまでのデータは、<a href="http://duf20.com/making_tutorial/excelform_images/sample04.xlsm">こちらからダウンロード</a>できます。(リンクを右クリックして保存)<br />
続きは<a href="http://duf20.blogspot.jp/2016/05/excelform201.html">エクセルにフォームをつける Part II (01) [次行][前行]をつける、変数を使う</a><br />
<hr />
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- duf20memo_main_Blog1_1x1_as -->
<br />
<ins class="adsbygoogle" data-ad-client="ca-pub-5420245542563291" data-ad-format="auto" data-ad-slot="2786456164" style="display: block;"></ins><script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr />
duf20http://www.blogger.com/profile/07443614088373446668noreply@blogger.com0