ここは個人の趣味のページです。
昭和49年生まれ、血液型B型、男。
名前は、かわ、kawa、d_kawakawa、cookiepuddingman、平行四辺形 などいろいろあります。
文書を書くときの助詞や助動詞、副詞などが苦手で、記事を書いて後から「不自然だな」と思ったりします。
私がプログラミングを好むのは、プログラミングは私の「物づくり」に対する探求心と創造性を十分に満たしてくれるから、、です。
憧れに向かう、形にする。そんなわけで、この個人ページではプログラミングの話をすることが多いです。
ここの管理人、
AI の利用やめるってよ。
AI の問題点:
これらが向こう10年解決されないだろうと見込んで、やめることにしました。(2025年5月23日~)
私は AI に頼らず「自分の力」を大切にしたいです。
…とはいえ、人間は新しく見つけた技術を手放すということは基本的にやらないと思います。
だから私も後々 AI を利用することにはなると思います。
でも上記の問題点は確かなもので、将来 AI ロボが私の家の扉をコンコンと叩いて
「市からの要請で、お手伝いするため おうかがいしました」
と言うまでの間は、この AI 技術を導入せず、頑張ってみようと思います。
でもこの考え方、キツイと思うのでマネしなくていいです。


最近は Microsoft Excel の VBA というプログラミング言語で「図形の変換ツール」を作っています。
▼ こういう画面でプログラミングしていますね。
▼ Microsoft Excel で何か描いて、画面の「ボタン 6」を押すと、、
▼ インターネットブラウザ上で JavaScript で描画されます。
別途取り組んでいる「人体のプログラム」では「顔」をいろいろ作る必要があるんですが、

この顔を数値をポチポチ入力しながら作っていると大変なので、Excel でズバッと描いて、バシッと人体に挿入できたら楽だろうと、そういうコンタン(根端)です。

Excel 画面の「ボタン 6」を押すと、図形データが JavaScript に変換され、test.js みたいなファイル名のファイルへ落ちます。
ブラウザの更新ボタンを押せば、test.js を読み直すので、
…という簡単操作で実現されます。
これが内部的には結構大変で、Excel のプリセット図形というのは、見た目は単純でも、データとしては
『嵐のように』
ひどいことになっています。
▼Excel にはいろいろな図形がありますが、、
▼たとえばこの図形、「額縁」という名前ですけど、(名前はどうでもいいんだが)

▼ひもとくと、こんな感じ。意外と複雑です。
Excel で図形をいじっていて、ちょっと形を変えようと思って「頂点の編集」で、点を動かしたら次々と点が出てきて「いじりようがなかった」という結果にならなかったでしょうか。
その理由がコレ↑なんですね。1カ所に4個も5個も点が折り重なっています。
▼ ↑この図について、頂点の順番はどうなのかと探ったメモ
▼図形描画を使って把握しようとしたけど断念。これこそ嵐のようだ!

▼いろいろ苦労した結果の最終的なメモ。
点には種類があって、その種類の並びのパターンによって、「一筆書きが中断」されたり、「別の場所から再開」されたりと、変化します。
上図の下部に並ぶ「 L 」が線を引く、「 J 」が一筆書きを中断して別の場所へジャンプするという意味です。
その上には "33LC" とか "34Ln" とか記号が並んでいますが、
33LC は「33番目の点であり、ラインを引く。種類は "msoEditingCorner"」という意味、
34Ln は「34番目の点であり、ラインを引く。種類は未設定 null」という意味です。
点の種類とは、たぶん、

これのことかなと思います。
| Excel 画面 | VBA |
|---|---|
| 頂点を中心にスムージングする | msoEditingSmooth |
| 頂点で線分を伸ばす | msoEditingAuto |
| 頂点を基準にする | msoEditingCorner |
…かなぁ。
このほか VBA の設定値として上記3つではなく「未設定 null」だと、ハンドル(上図の菱形図形の右端カドの2方向に伸びた白い■のついた棒)を動かすと、そのとき初めて未設定から「msoEditingSmooth」、「msoEditingAuto」、「msoEditingCorner」のいずれかの値に変化するみたいです。
以降(図形8種類のメモ)は私の徹夜の証です。夜を徹してと書いて徹夜です。
この図を解析。
研究、研究…
この図を解析。
Office で使われる「ドローデータのフォーマット」というものが Microsoft から資料公開されていないので、自分で解析します。

ある一つの図形について
「JavaScript で正しく再現できた!」
と思っても、他の図形では崩れていたりします。

だから崩れている図形を一つ一つ調べて、
地道に考えてプログラムしていきます。

↑図を見ると、簡単に色分けをしていますよね。
←解析すると、すべての図形が「一筆書き」で作られています。
一筆書きで、色分けをどうやって判定して塗るのか??
…を考えたときゾッとしました。
そこまでできない。。。。やりたくない。。。キガトオクナル

ノンノンノン☝☝☝ 大丈夫さ。
プリセットの図形だけが、「一筆書き&色分け」になっていて、ユーザーが作る図はそういう変態的な形式にはならないので、たぶんそんなに恐れることはないと思います。
徹夜したから疲れてるな。

こんな解析を一晩中続けて、朝の6時を過ぎてしまい、
もう51歳になったのに、そんな無茶なことはマズいよ、、と思った。

この図だけ、Microsoft のミスが2つありました。
点の種類が他と違うイレギュラーな順番で並んでいて、「ミスじゃないのか?」と思いました。プログラムの中で特別対応が必要でした。
また、同じ場所に点が複数置かれている場合、それらの点はすべて同じ座標値のはずですが、この図形だけある点に重なる2つの点がズレていました。
2番目の点 points : [ 200.2499, 1444.185 ],
19番目の点 points : [ 200.25, 1444.185 ],
このちょっとのズレにより、よーくみると線の太さがちょっと違っていました。
わずかな差でずれるんですよね。Excel のドローって。
たぶん日本全国1億人でこれを発見したユーザーは私一人だけ。1/100,000,000。
ワン・ハンドレッド・ミリオン。ぶんのいち。
つっ…つかれた…
せっかくなので、ちょっとやってみるか。どーかなー
▼「3Dお姉さん」は Excel で描かれているんですが、、
▼おー!これは、、

いけね、もっと疲れる。。。
わすれてたわ。
回転とかその他、「いろいろ図形を動かすプロパティ」があるんだった orz

(訪問者のどんなニーズと この記事がつながるか)
以下のような構成で話をしています。
最近、Wi-Fi ルーターについてのニュースが目立っています…
目立っている、、と思ったんですけど、よくよくニュースを探してみると上記2点だけで、そんなに目立っているというほどではありませんでした。
「でも無視できない内容だなー」と思いました。
サポートが切れたルーターは脆弱性が直されず、セキュリティ上危険です。
ァゥァゥと思いましたけど、でもメーカーがそうするって言うならしかたないでしょう。
メーカーも業務を改善、効率化しなければならず、その一環なのかなと思います。
注:私のこの記事の後半では「古い機器でもメーカーがサポートしている」と判明しています。各家庭で確認が必要なんですね。
ニュースを読んで、自分が使っている Wi-Fi ルーターの発売年を調べたら、
「Wi-Fi 7 だと何が良いのか」というと、単純に「速度、安定性が高まった」ということのようです。
中でも MLO(Multi Link Operation)というのが新しい追加機能のようで、
2.4 GHz帯、5 GHz帯、6 GHz帯と、これまでは Wi-Fi に接続するときに「何 GHz から一つ」を選んでいましたが、Wi-Fi 7 ではこれら複数に対して同時に接続できるようになったのだそうです。
>2.4GHz・5GHz・6GHz帯域に同時に接続することでスループットや信頼性が向上し、遅延が減少。VR/AR・オンラインゲーム・リモートオフィス・クラウドコンピューティング等の新しいアプリケーションに最適です。
https://www.tp-link.com/jp/blog/1067/wi-fi-7のmlo-multi-link-operation-とは-/
…だそうです。
「2.4GHz 帯でアップロード、5GHz 帯でダウンロード」というような用途別の振り分けができ、アップロードとダウンロードが別々の周波数帯域で同時に行われるので、速度向上されたり、データ干渉がなくなったり、まぁ、とにかく速くなるそうです。
でも私はネットワークゲームはやらないし、映画も SD 画質(標準画質)で見られれば満足なので、単純にセキュリティ上の更新として Wi-Fi ルーターの買い換えを行う、ということです。
今回の調べ物をするなかで、「am I infected?」というサービスを知り、試してみました。これ
(最初のニュース箇条書きの「INTERNET-Watch」の記事で紹介されています)
>自宅のWi-Fiルーターが感染しているかどうかを診断できる
のだそうです。
アクセスしてみると、こんなトップページ。
横浜国立大学、と書いてあります。
メールアドレスを入力し、環境(自宅、勤務先、外出先、その他)を選んで、「感染診断をはじめる」ボタンを押します。
すると5分後にこのようなメールが届きます。
「以下のリンクにアクセスしてください」、と。
問題があったらやだなーと思って、おそるおそるリンクをクリックすると、、
セーフでした。
でも、、
『16年前のルーターについてメーカーはサポートしている?』
…と思ってその商品ページを確認したら、「販売終了」とは書かれているけど、「サポート終了」とは書かれていなくて、ソフトウェアのダウンロード(ファームウェアなど)ができる状態でした。
ソフトウェアがダウンロードできるということは、そのメーカーがサポートを行っている、ということにたぶん等しいので、サポートされているということですね。
ふーん、そうか。。
メーカーのサポートはあるし、管理者パスワードも設定してある。
ファームウェアもちゃんと毎回更新しているので、だから「問題はありませんでした」と表示された、ということだと思います。
「セキュリティ上問題ないんだったら、今回買わなくても良かったんじゃないのー」って思うけど、、、
「もう通販の方は出荷しちゃったかな」と思って注文履歴を確認したら、、

なんと、勝手にキャンセルされていました。
「商品ページは表示するけど、在庫は無い」ってやつかな。有名な販売店なのに。(コジマ電機)
お客さんを甘く見てる店ってダメだと思う。
私も遊びでこういうセキュリティ更新とかやってるわけではないので、買わなくても良かったんじゃないかと後から結論し、その購入が勝手にキャンセルされていて結果的に好都合だとしても、そのとき「買う」と決めたのだし、十分に調べものもした、ということもあるので、買うことにします。
同じ商品を「Amazon が販売し発送」の種類のページから購入しました。
16年前は古すぎ、セキュリティは向上(結局は向上することになる)、最新の Wi-Fi 7 環境、そういう理由での購入です。
2日後くらいに Amazon から届き、設定して使えるようになりました。
パソコンはもともと有線接続だったので特別変化なし。
スマートホンは Wi-Fi のアクセス認証方式がもともとは WPA2-tkip でしたが、今回 WPA3 にバージョンアップできました。WPA3 にすることでセキュリティがさらに拡張されるそうです。あと上記の通り、速度向上もしたのかな。
(訪問者のどんなニーズと この記事がつながるか)
「Excel で作図した図形を変換し JavaScript のデータとして出力しよう」という取り組みです。
前回の結末は、Excel に最初から入っているいろいろなプリセット図形は正しく変換できたものの、
|
▼こういう図形を変換してみたら、、、
|
▼こんなんなってしまいました。
|
原因は以下の5点。
そのほか、Excel(バージョン 2010)には図形に関するバグがあり、「特定の操作を行った図形」はデータがバグっているため、今回の VBA プログラムを実行すると「オートメーションエラー、原因を特定できません」とエラーが表示される、、、という問題も発生しました。
その「特定の操作」というのは、
このとき、図 F に含まれる図 A, B, C は、図 F の子であるから「child」プロパティが本来「真」になるはずだが、これがバグにより「偽」になってしまう。
それに関連して、各図形の親図形(グループ図形)を表す「parentGroup」プロパティも「存在しない」という状態になってしまう。
つまり、入れ子になっている図形のコピーをとると、その子図形の「親子関係を示すプロパティ」がバグり、今回のプログラムで親子関係を調査するときに「オートメーションエラー、原因を特定できません」となってしまう、ということです。
私はそういうバグに直面すると「なんで」と誰にともなく責めたくなるんですけど、それであきらめるとやりたいことが実現できないので、しぶしぶ、バグ回避対応を行いました。
その対応とは、図形がバグっているかどうかを判定して、バグっている場合はそのグループをグループ解除して、再度グループ化するとプロパティのバグが直るので、、と、そういう対応を行いました。
バグバグっぽい動きをしますが、それでうまくいっています。
|
▼改めて変換、、、
|
▼ただしく変換できました★
|
他にやることは
その2点かな。
Excel の図形描画の「グラデーション」だとか「3D表現」だとか「点線」とか「太線」とか「影」とか「パターン塗り」とかいろいろ図形の書式とか効果があるんですけど、そこまでやると私の寿命も容易に尽きるので、基本的なところだけとします。

(訪問者のどんなニーズと この記事がつながるか)