-- 更新履歴 --

ここでは「誤字脱字の修正」「書式表現の訂正」「画像の差し替え(Windows、Officeのバージョン変更等)」といった微細な修正は記載していません。


2024年

2024/04/02 長らく更新ができませんでしたが、実は地元(埼玉県川口市)で、パソコン関連の指導を行なうのボランティアに参加して活動を始めました。
内容はMicrosoft Officeの講習ですが、組織の現状は「初心者向け」のみの対応になっています。
かなりの期間成り立っている組織なのですが、入ってみて感じたのが、いつまでも「お年寄り=パソコン初心者」ではないだろうということです。 それでもExcelの講座は人気があって定員以上の申込みがあるようですが、受講者アンケートでも少し踏み込んだ講座の希望が散見されます。
これからは「中級者」向け的な講座の立ち上げを模索しようと思っているところです。



「計算式」「文字列操作の例(氏名を分解する)」に新しい関数利用の方法を追加しました。

Excel365(Microsoft365のExcel)では、2022年のアップデートによりTEXTBEFORE/TEXTAFTER関数が加わりました。
これにより、氏名を姓名間の空白文字で分解することは非常に簡単になりました。是非、ご覧下さい。

2023年

2023/10/22 「基本操作」「バーコードの印刷がしたい。」の説明を再作成しました。
このページはサンプルは提示していたものの「概要の紹介」レベルの記事だったので、実際にバーコードをワークシート上に描画させるまでの手順説明にあるように変更を行ないました。
また、バーコードの種類の変更にも触れて「QRコード」のサンプルを追加しています。 サンプルの「QRコード」は説明中の画像でも当サイトのトップページへのジャンプができるものなので、お手持ちのスマートフォンのカメラで動作確認ができます。
2023/08/25 おかげさまで、当サイトは満20周年を迎えることができました。



振り返ると、前半の10年はExcel自身やWindowsにも改廃があり、話題が豊富でアクセス数も多かったのですが、 後半の10年はスマホの台頭からパソコンの個人利用が減り、Excelへの関心度も減ってきたように思います。
当サイト側での印象では特に学生さんからの問合せが「めっきり減った」というのが実感です。
ですが、事務系業務の現場で「パソコン」が「スマホ」に置き換わるわけではなく、Excelを凌駕するアプリが台頭してくるわけでもないようです。



「学生さん」視点で見ると、前半の10年ではパソコンが「就活生の必須アイテム」だったのですが、 後半の10年になるとネットへの接続手段がスマホで済んでしまうので個人でパソコンなどは所有しなくなりました。 就職してから初めてパソコンを使うというのでは大変だろうと思います。



当サイトを訪問される方はこれらのことにはお気づきでしょうから、ぜひMicrosoft Excelで何ができるのかを理解していただき、 ご自身の業務に生かしていただきたいと思います。
2023/08/01 「ダウンロード」「シンプルなパスワード管理ツール」を再修正しました。(不具合修正)
下記の「分類」表示変更に伴って、アカウントの登録画面から呼び出す「分類」の指定画面での動作不具合が見つかり、これを修正しています。
2023/07/28 「ダウンロード」「シンプルなパスワード管理ツール」を変更しました。(不具合修正と機能改善)
まず、不具合修正が2点あります。②の方は起動できなくなる問題の修正になります。
①設定変更で設定画面を出して「分類」タブを表示させると、左端に「削除」列があります。
この削除機能は元々「論理削除」であって物理的な抹消ではないのですが、「削除」列にチェックを付けて登録しても、一覧表示のメニュー左端にある「分類」のプルダウンには削除されたアイテムが表示されたままで、 アカウントの新規登録を行なう画面での「分類選択」では削除されたアイテムは表示されないようになっていました。
これを修正し、削除されたアイテムは一覧表示のメニュー左端にある「分類」のプルダウンに表示されないようにいたしました。
なお、設定画面の「分類」タブの「使用」は登録上の有効件数ですが、これはアカウントの削除分が含まれていなかったため、削除分を含むように変更しています。 これは「分類」の削除の可否判断としては削除済みアカウントを含めないと実際の内部チェックとの整合性が採れないためです。



②タスクトレイモードで終了すると、次回起動した時にもタスクトレイモードで起動されるという仕組みでしたが、 途中のバージョンからタスクトレイモードで終了すると次回から起動できなくなるという現象が見つかり、これを修正しました。
「起動できない」は数件問合せがあって、これらは初期化+再インストールで対応しており、根本の原因が判らなかったのですが、 下記の機能追加の作業の過程で原因が見つかったため、これを修正しています。
もし「起動できない」状態のままになっている方があれば、そのままバージョンアップでインストールしていただき起動を試してみて下さい。



もう一つは「タスクトレイモード」に関する表示上の機能改善です。
時々問合せもあるのですが、「通常モード」での一覧表示のメニューで「タスクトレイモード」をクリックすると、 説明資料にも記載されている通り、一覧表示が消えてタスクトレイの「鍵アイコン」だけの表示になります。
ただ、これだとタスクトレイの「鍵アイコン」は小さく目立たないことから、「一覧表示が消えてしまった」だけという印象が強くなってしまうようです。
このため、「通常モード」での一覧表示から「タスクトレイモード」に移行した当初だけは「鍵アイコン」だけでなく、 本来この「鍵アイコン」のクリックで表示されるタスクトレイ側の小さい「アカウントリスト(ミニリスト)」を表示させるように変更しました。
さらにこの「アカウントリスト(ミニリスト)」の側にも「通常モード」メニューを追加したので、 「通常モード」と「タスクトレイモード」が一覧表示同士でメニュークリックによるワンタッチ切り替えができるようになりました。



今回の不具合はインストール直後の不具合といった問合せと捉えてしまっていたため、原因究明に時間が掛かってしまい、ご利用の皆様には大変ご迷惑を掛けてしまいました。申し訳ありません。
また、不具合の連絡と機能改善の提案をいただいたkasai様、まことにありがとうございました。
「ダウンロード」「通常使うプリンタの変更」を修正しました。(不具合修正)
「表示除外するプリンタ」などの設定は次回起動時に再現される仕組みですが、本アプリを閉じずにWindowsを閉じたり再起動させてしまうと直前に行なった設定が無効になってしまう問題が見つかり、 これを修正しました。



izumi様、本件のご連絡ありがとうございました。
2023/07/16 VBA基本」「クラスについて」を追加しました。
今さらなのですが、「クラス」を「クラス」として説明したページがなかったのです。でも「クラス」を利用したサンプルはかなりの数あります。
当サイトは当初から「理論より実践」なので、「クラス」も理論的に解説するのではなく(たぶん、できません)、 どういう所で利用するのかなどをすでに作成されているサンプルへのリンクを交えて説明しています。
VBAで同種の機能部分の集約などが発生するような環境で仕事をされる方や、いずれそういうことの可能性があるといった方向けの説明です。
VBAで「クラス」や「オブジェクト指向」を基礎から学ぼうなどという方がいるのであれば、そういった学習向けの説明ではありません。



説明ページを作成する段階で「どこに置くか」を悩んだのですが、応用編でもないし、かといって初心者向けでもないのですが、 メニュー上はVBA基本」の最後に配置しました。
2023/07/06 以前(2022/07/20)VBA基本」「セル範囲から配列変数へ転記」「おかしな現象」を追記させていただいてあったのですが、 tinei様からこの「解釈」についてご連絡をいただきました。この件は特に不具合ということではなく、「こう記述すればこうなる」と説明ができることが解りました。
該当ページの最後に本件の説明を追加しました。



tinei様、ご連絡ありがとうございました。
2023/02/19 「ダウンロード」「シンプルJPEGビューワ」で、 以前に行なっていた「フェード効果処理の再調整」について再度調整を行ないました。 以前の方法では起動初回にフェードオンの時間が約1秒弱になるように透過度差分を逆算させておりましたが、 起動初回だけだとPCスペック等の影響で一時的に時間が掛かるような時に以降にまで影響されてしまうことから、 フェードオン10回目までで約1秒となる最適値を探す方法に変更しております。
2023/02/12 前回追加した「ダウンロード」「カレンダー入力用フォーム:アドイン版」について、 Vectorからも「カレンダー入力フォーム(Calendar6:アドイン版)でダウンロードできるようになりましたのでお知らせします。
( Windows10/8/7/Vista/XP/2000/NT > ビジネス計算・表計算・グラフ > 表計算 > MS-Excel用 )



Vectorへのフリーソフト登録はExcelVBAでは初めてになりますが、 .NET Frameworkで作成しているプログラムは多数展開させていただいております。 登録の一覧はこちらです。
2023/01/22 「ダウンロード」「カレンダー入力用フォーム:アドイン版」を追加しました。
以前から公開していた「カレンダー入力用フォーム」は好評でしたが、一方で「VBA初心者には実装が難しい」という意見もいただいておりました。



アドイン利用の方法は当サイトでもあちこちで紹介しているものでしたが、このような機能での利用はレスポンス上の理由で先入観として避けていた状態でした。 今回、実際にアドイン化を試したところでは、事務用の標準的なPCの体感的な見解になりますが、実用には問題ないものと判断して公開することとしました。 サンプル付きでダウンロードできるので、レスポンス等の確認も含めてお試しいただけます。



VBA初心者向け」という点に関しては同梱しているサンプルブックがソースコードの「ひな形」になるようにしており、 それも先頭の方の定数以外は変更しないで利用できるように配慮しています。
VBA初心者」でないとしても、実装時の作業が大きく軽減できる点や、アドインの配置の一元化でメンテナンス性に貢献できる点などがあるため、 これから「カレンダー入力」を検討される場合は先にご覧いただくと良いと思います。
2023/01/15 「ダウンロード」.NET Frameworkで作成している各プログラムについて、 共通で利用している独自メッセージボックスについて変更いたしました。 一部を除いて各プログラムの業務要件上での変更はありません。



メッセージボックスというものはVB.NETであってもVBAであっても本来はWindows標準のものが利用でき、 独自のものを作成しなくても追いのですが、Windows標準のものはスクリーンの中央に表示されてしまうことになります。
一方、当サイトで公開しているフリーソフトの方は画面の隅に配置するような小さなウィンドウで済むものです。



このような場合、Windows標準のメッセージボックスだとフリーソフトの画面からは離れた位置に表示されてしまうことから、 独自のメッセージボックスを作成して共通クラスを用意し、各フリーソフトから利用するようにしておりました。



最近になって、私自身が「トラックボールマウス」というものを使い始め、 これに関してWindows側の設定をいくつか変更した中にマウスの「ポインターを自動的に既定のボタン上に移動する」というものがあります。
これはメッセージボックスやプロパティ等の別ウィンドウが表示される時に、マウスポインタがその別ウィンドウの「OK」ボタン上に移動するというものなのですが、 ここでこの「独自メッセージボックス」では「OK」ボタン上に移動してくれないという問題が見つかりました。 マウスポインタはその別ウィンドウ上には移動しますが、「OK」ボタン上ではなく左上の方に移動してしまっていました。



この件について修正を行なうことができましたので、利用している各フリーソフトについてもアップデートを行ないました。
下記それぞれのページからダウンロードしてアップデートをお願いします。



今回の変更の対象は以下の通りです。
[VisualBasic開発系のフリーソフト]



[一般用フリーソフト]

2022年

2022/12/18 「ダウンロード」VB.NETソースファイル退避」をアップデートしました。
利用者様からご連絡(ご指摘)をいただきました。起動画面にある「圧縮ファイル名」の指定が機能しないというものです。
デフォルトの「圧縮ファイル名」は「コピー元フォルダ名」なのですが、別名を指定しても機能しませんでした。



この「圧縮ファイル名」の指定機能は201811月に追加されたものとして更新履歴に記載されていましたが、 当時この機能は作成途中の状態のままになっており、以降に行なったVisualStudioバージョンアップの更新でリリースされてしまったものでした。



今回、この修正を行ない「圧縮ファイル名」の指定があればそのファイル名で圧縮ファイルを作成し、なければデフォルトのままとなるようにしております。 (この「圧縮ファイル名」は任意としており、ブランクの時はデフォルトで動作します)



ご連絡いただいた方には感謝申し上げます。ありがとうございました。
2022/12/07 「ダウンロード」「フォルダ一覧」をアップデートしました。
「フォルダのみの一覧の作成機能が欲しい」というリクエストをいただいており、これなら機能追加で対応できそう、ということでアップデートしました。
フォルダのみのモードでも「関連付けプログラムで開く」「ハイパーリンク付加」のオプションが利用できます。
2022/12/06 「ダウンロード」「カレンダー入力用フォーム」をアップデートしました。
以前からのサンプルではユーザーフォーム上の日付項目から「カレンダー入力フォーム」を起動する場合、日付項目右端の▽のクリック以外にF4キーでも起動できたのですが、 ワークシート上では「特定キー打鍵」によるイベントがないことから対応は行なっていませんでした。



しかし、ワークシート上で特定キー打鍵での「カレンダー入力フォーム」起動についてはリクエストも何件かいただいておりますので、これを機に実装に加えました。
以前から本機能をご利用いただいている方についても若干の記述変更で本対応が行なえるのでご覧下さい。
2022/12/03 「トラックボールマウス」を使ってみようと思い購入しました。 20年以上「マウス」を利用してきたわけですが、右手首が慢性的に痛むのが気になってきたので、その対策のつもりで選んだものです。
「トラックボールマウス」は「マウス」と比べると少数派です。


ネット上を見ると「使うのをやめた」といった記事も目にします。 また、同じ作業を「マウス」と比べれば「トラックボールの方がマウスより速く作業ができる」などという評価は全くありません。
但し、ここで思い出すのは「ショートカットキー」です。 かつて、Windowsを始めた頃はショートカットキーはかなり意識していたはずなのですが、長年のマウス利用でこの点はすっかり麻痺していたようです。 入力作業でなければマウスから手が離れない状況でしたから手首が痛くなるわけです。



ショートカットキーはWindowsのものやアプリのものもありますが、主要なものだけ暗記してできるだけキーボードで運用するようにします。
こうすれば「トラックボールマウス」の欠点はかなりカバーできるはずです。
2022/10/15 VBA基本」の構成・記述内容の見直しを行なっています。まだ修正途中です。
  (これまでにも「見直し」は何度か行ないましたが...)
「自動記録」と「自動記憶」の混在が散見されていたのを見つけたのが発端です。
「自動記憶」はかなり古いバージョンでの表記か単なる私の勘違いで現在は存在しません。
当サイトで「記憶」という言葉が出てくるのは、過去バージョンの説明などで再現不可能なことについて 私の頭の中で覚えていることを持ち出す時のみです。
なお、私の悪いクセで「直すたびに説明がクドくなる」ということがあります。
同じことの説明が別のページでダブることがありますが、 Web検索でそれぞれのページに直接入られる場合もあるのでご容赦願います。
2022/08/20 Excel環境」「共存インストール」を再作成しました。
ExcelOfficeの「共存インストール」というのは、かなり以前にやっていたことですが、 用途は「異なるExcelバージョン環境での動作確認」ですから現在では要件に合いません。 そもそも「共存インストール」自体ができなくなってきているという問題もあります。



「ではどうするか」ということでページを再作成したものです。
今後の動作確認での大きな要件は「64ビット版Office」です。
2022/08/14 「計算式」「「営業日数」の計算(ユーザー定義関数)」を更新しました。
新たに祝日名を取得する関数を追加して、サンプルとして「営業日カレンダー」シートに「祝日名」列を追加させています。



実際にユーザー定義関数として利用されるモジュール「modCalendarForFomula1.bas」の方は、 VBA応用」「「営業日数」の算出」で説明しているものですので、 こちらの方のページの掲載ソースコードも関数追加に関して更新させてあります。
(「計算式」のほとんどのページでは関連があってもVBAのソースコードは掲載しておりません)



在来からのカレンダー関連関数モジュール「modAboutCalendar2.bas」及びカレンダー関連クラス「clsAboutCalendar2.cls」には変更はありません。
2022/07/20 「ダウンロード」「自動採番機能(オートナンバー)を再作成しました。
このページに関する問合せは「採番桁数の変更」や「プレフィックス追加」などがほとんどで件数も多いため、従来、説明上のコードサンプル的なものではなく、 ある程度実用に耐えるものとして主機能部分をクラス化させて「採番桁数の変更」や「プレフィックス追加」といった機能を追加させました。



クラスの呼び出し側で初期化時にパラメータをセットする方法でクラス自身は改変させることなく利用できるように考慮しており、 採番結果をメッセージ表示する簡単なサンプルを含めてダウンロードできるようにセットしてあります。
VBA基本」「セル範囲から配列変数へ転記」に追記しました。
これは「おかしな現象」です。そもそも、このような使い方はあまりしないので私もこれまで気がつきませんでした。



ワークシートの中の一部のセル範囲を一旦Rangeオブジェクトに取り出しておき、 このRangeオブジェクトからRange/Cells関数の組み合わせでさらに一部のセル範囲を取り出そうとすると、 例えばCells関数の第1引数に「1」を指定したとしても、 最初のセル範囲の上に指定セル範囲外の「見出し」的な行があると、その分がズレて参照されてしまうという問題です。
Rangeプロパティのみ、Cellsプロパティのみでの参照であれば問題は発生しませんでした。



回避策はいくらでもあることなので、このような使い方はされないように「ご注意」として記載しました。
2022/06/19 Excelの話題ではありません。Windowsの話です。
2022/02/25にノートPCだけWindows11に移行させていたわけですが、 大きな問題点はなかったことと、その後にタスクバーなどの不満点について解決策が見つかったことから、 デスクトップPCも移行を行ないました。
これらについてはこちらのページをご覧下さい。
2022/05/28 2021/12/06「ダウンロード」.NET Frameworkで作成している各プログラムについて、 利用環境となる.NET Frameworkのバージョンを変更しておりましたが、バージョンアップ後の起動時にエラーとなるという問合せを受けております。



今のところ2件のみなのでかなりのレアケースだろうと思いますが、当方では事象は再現できておりません。
判っているところまでは.NET Frameworkの設定ファイル復旧手順」の中に説明を追加しましたのでご覧下さい。
2022/05/21 祝日判定を含めたカレンダー作成に関する件で、当サイトでは祝日変更への対応としてVBA側のソースコードを変更することなく対応できるようにと、「祝日パラメータ」を利用することをお勧めしているわけですが、 特にワークシートでの「祝日パラメータ」シートを利用する方法で、祝日変更を行なった直後にそのままカレンダーを表示させた場合に変更した祝日設定が反映されないというご指摘を頂きました。




元々の当方が想定していた利用方法では、
  ①予め会社ごとの祝日設定を完了させた利用ワークブックかテンプレートを作成しておく。
  ②上記を各利用現場に配布する。
  ③各利用現場では祝日設定済みのワークブックかテンプレートを利用する。
というものでしたので、祝日変更を行なって保存させて再度開く前にそのままカレンダーを表示させるということが想定範囲にはありませんでした。




ですが、祝日変更時の動作確認などもあり得ますので、この対応を追加させていただきました。




対象は下記のページ及び、各ページからダウンロードできるサンプルになります。
VBA応用
 ・「営業日数」の算出
 ・年間カレンダーの作成2
■ダウンロード
 ・「カレンダー入力」用フォーム




但し、「祝日パラメータ」シートを使わないものは変更の対象ではありません。




VBAソースコード上の変更点としては、「祝日パラメータ」シートにDeactivateイベントを追加しており、 このDeactivateイベントから「カレンダー関連関数クラス初期化(FP_InitAboutCalendar)」を呼び出しています。
(「祝日パラメータ」シートには元々はイベント等のコード記述はありませんでした。)
この時、クラスの再初期化が強制的に行なわれるように「カレンダー関連関数クラス初期化(FP_InitAboutCalendar)」にはオプションの引数「強制再初期化スイッチ」を追加させています。 「祝日パラメータ」シート上の個々のセルで変更したかという判定は行なわないこととしました。




これらのカレンダー作成関連の機能では、ワークシートの「祝日パラメータ」シートから毎回祝日情報を読み出すのではなく、 カレンダークラスの初期化時にクラス側に「祝日情報テーブル」を作成しておいて利用する方法を採っているので、 この「祝日情報テーブル」と「祝日パラメータ」シートとの同期が必要となるものです。 ワークシートの「祝日パラメータ」シートを使わない方法も紹介しておりますが、クラス側の「祝日情報テーブル」を作成した以降の動作は同じです。
2022/05/15 「ダウンロード」.NET Frameworkで作成している各プログラムについて、 開発環境を「Visual Studio 2019」から「Visual Studio 2022」に変更いたしました。 各プログラムの業務要件上での変更はありません。



また、Windows側スタートメニューに登録する際の「概要説明」テキストへのリンクを削除いたしました。
この「概要説明」は本体プログラム内のメニューから起動できるものであり、また、Windows側スタートメニューでの「見え方」が Windows10以降で変わってしまい、見にくくなってしまったことへの対応でもあります。
例えばWindows側スタートメニューの「すべてのプログラム」リストでは「Excelでお仕事!VisualStudioツール」というブロック内に各メンバが並びますが、各プログラム本体と「概要説明」テキストが同じレベルで並んでしまいます。
インストール時のフォルダ指定では「Excelでお仕事!VisualStudioツール」フォルダの下に 各プログラムの機能名のサブフォルダがあって、その配下にプログラム本体と「概要説明」テキストを配置する指定なのですが、 Windows10以降では1階層上がってゴチャゴチャに並んでしまうのです。
このため、各プログラム内のメニューから呼び出せる「概要説明」テキストは、Windows側スタートメニューのメンバからは外すことといたしました。



なお、バージョンアップを行なう場合で、.NET Framework2.0~3.5環境から.NET Framework4.x環境に移る時点の1回のみ、 データ引き継ぎの作業(設定ファイルのコピー)が必要になります。 それぞれのページの一番下のコラム「.NET Frameworkの変更について」を参照して下さい。
(新規導入のインストールでは必要ありません。利用中のものが202112月以前のバージョンである場合が対象になります。)



今回の変更の対象は以下の通りです。
[VisualBasic開発系のフリーソフト]



[一般用フリーソフト]
2022/03/28 「ダウンロード」「シンプルなパスワード管理ツール」を変更しました。(前回の不具合修正)
Excelへ出力」での列配置(A列とY)の変更が「Excelから取込み」側で対応できていなかった件と、 「Excelへ出力」で削除分を含めて出力したものを取り込んだ時に削除分は除外するように修正しました。
2022/03/16 「ダウンロード」「シンプルなパスワード管理ツール」を変更しました。
一覧表示からの「Excelへ出力」の機能を変更しました。
以前は一覧表示の表示モード選択で「削除分も表示」を選択していても、Excel側では削除分は含まれずに出力されていましたが、 この表示モード選択に従うように変更しました。 削除分はグレーに塗りつぶされて表示されます。
また、この変更に伴い、Excel上で「表示順№」と「内部ID」の列を入れ替え、画面と同様に「表示順№」順に表示するように変更し、 パスワード列は白文字で非表示列に設定させています。
2022/02/25 前回(2022/02/12)の続きです。
Windows11ついて「いずれはアップグレードしなければならない」ということではあるので、とりあえずアップグレードを1台だけ試してみることにし、 どちらかというと利用度が少ないノートPCだけアップグレードを行ないました。 問題点などのレポートはこちらのページをご覧下さい。




まだ、短期間の「試用」でしかありませんが、既にWindows11で動かなくなる有償アプリがいくつか見つかっているので、 メインで毎日利用しているデスクトップPCの方はしばらくの間、Windows10のままで利用することにしました。
ノートPCWindows10に戻すことはいたしません。
2022/02/12 Excelの話題ではありません。Windowsの話です。
Windows10の次は出さない」とマイクロソフトは言っていたはずだったのに、Windows11が昨年リリースされました。
「無償アップグレード」ができることとなっており、一方でWindows1020251014日でサポート切れとなります。




もう、アップグレードされた方も多いと思いますが、Windows11にあまり顕著なメリットが見当たらないことと、使いにくさがあったり、動かないアプリがあるかも知れないという不安要素もあるのでアップグレードは行なっていませんが、 特にメインで使っている自作PCについては、そこそこのスペックなのに「無償アップグレード」の対象になっていなかったため、 このあたりの問題点を解消して「無償アップグレード」ができるように準備をしました。
Windows11にアップグレードができる対象であることを確認するまでで、この時点では実際のアップグレードはまだ行なっていません。




関心がある方は、こちらのページ(自作パソコン)最後の方をご覧下さい。
2022/02/06 Visual Basicの以下のページに動作フロー的な説明を追加しました。
  ・「データベースを参照してみます。」
  ・「続いて、更新登録機能を加えてみます。」
  ・「トランザクション処理を使ってみます。」
これまでは、実行画面サンプルとその数行の説明の後は、すぐにソースコードの提示になっていたのですが、 実際の動作にどう繋がるのかが解りにくかったので、時系列の動作の説明として「表」形式にして追加しました。
また、「データベースを参照してみます。」では、複数種類ある起動時・終了時イベントの使い分けについての説明も追加しました。
2022/02/01 「ダウンロード」「シンプルなパスワード管理ツール」を変更しました。
昨日に続いてですが、不具合修正です。昨日の更新に含められればよかったのですが、リリース後に見つかったため、別リリースとなりました。
詳細画面にある「次回変更日」ですが、「変更間隔」を「nヶ月後」等から「(不定期又は固定)」に変更した時に、 おかしな日付が更新される件が見つかったため、これを修正しました。
2022/01/31 「ダウンロード」「シンプルなパスワード管理ツール」を変更しました。
細かい機能追加ですが、パスワードの難易度に以下を追加しています。
  ・英大文字のみ
  ・英大文字・数字 の混在
  ・英大文字・数字・記号の混在
  ・数字のみ
  ・全ての文字(自動生成無)




特に「数字のみ」についてはリクエストをいただいていて、パスワードの類いは全て本プログラムで管理したいということで「暗証番号」などを独立して登録する時の区分ということで要望があったものです。 例えば4桁の数字として自動生成が行なえます。
「英大文字」関連はリクエストはありませんが、独立した機器によって大文字・小文字の区別がないような場合に発生するかも知れないので、今回の変更に合わせて追加しました。
「全ての文字(自動生成無)」については、本プログラムには登録するもののパスワードの自動生成は行なわないという場合の区分で、 これを選択した場合は「新規パスワード生成」メニューを表示させないようにしています。
2022/01/24 「ダウンロード」「シンプルJPEGビュ-ワ」を再修正しました。
2022/01/22に修正している件ですが、PCスペック等によるフェード動作の違いが顕著であったため、これを吸収すべく再調整を行ないました。
フェード動作は内部的にはフォームの透過度を細かい時間単位で変化させる方法であるため、単なるCPUの違いだけでなく、グラフィックチップの違いでも影響を受けるようです。
2022/01/22 「ダウンロード」「宝くじ共同購入配分計算」に機能追加しました。
「購入番号」シートの右端に「当選金額」の列を追加し、購入した番号別にいくら当選したかが明細で判るようにしました。




利用者の意見を聞くと、共同購入でない時も当選判定に利用するといった意見がありましたので、どの番号が当たったのかが判るほうが良いだろうということでの対応です。
「ダウンロード」「シンプルJPEGビュ-ワ」を修正しました。
最近のPCの動作で「フェード効果」を指定していると、フェードオンの動きがスムースでなく何か「スポン!」という感じになってしまっていたので、 「フワッ!」という感じになるように調整してみました。
また、起動時初回にも「フェード効果」が適用されるように修正しています。

2021年

2021/12/18 「ダウンロード」「自動採番機能(オートナンバー)に要件説明を追加しました。
サンプルそのものには変更ありませんが、「なぜ、こんなことをしなければならないのか」の説明がなかったので、 先頭にコラム説明を追加を追加しました。
2021/12/06 「ダウンロード」.NET Frameworkで作成している各プログラムについて、 利用環境となる.NET Frameworkのバージョンを変更いたしました。



元々は古いWindowsへの対応から、.NET Framework2.0~3.5をターゲットとしておりましたが、
近年になってMSのポリシー変更によりWindows10PCでも.NET Framework3.5(SP1)が搭載されないようになってきており、
非搭載なら自動インストールされる.NET Framework4.x(ほとんどの場合.NET Framework4.7.2)の環境に変更しております。



なお、バージョンアップを行なう場合で、.NET Framework2.0~3.5環境から.NET Framework4.x環境に移る時点の1回のみ、 データ引き継ぎの作業(設定ファイルのコピー)が必要になります。 それぞれのページの一番下のコラム「.NET Frameworkの変更について」を参照して下さい。
(新規導入のインストールでは必要ありません)



対象は以下の通りです。
[VisualBasic開発系のフリーソフト]



[一般用フリーソフト]



今回のバージョンより、同一PC上で複数のユーザーにインストールできなかった問題にも対応しております。



この変更に伴い、開発環境を「Visual Studio 2010」から「Visual Studio 2019」に変更しております。
2021/11/21 Excel環境」Excel365はどう変わったか」Excel 365(Microsoft 365)UIが替わりました。」を追加しました。
当方では、202111月に「今すぐ更新」を行なったところ、この変更が行なわれました。
バージョン更新の当初は「クイックアクセスツールバー」の配置が変わってしまったので驚いたのですが、設定のデフォルトが変わったようです。



これらの変更箇所について、変更前後の画像を含めて説明しています。時事的な記事ですのでいずれ削除することになると思います。
2021/10/10 当サイトの「暗号化(https:)」の対応についてです。



当サイトは、古くからの「ホームページ」であり、公開ページのみの単一方向発信サイトなので「暗号化」必須という意識はありませんでした。
近年になって、各ブラウザ上に「保護されていない通信」「セキュリティ保護なし」という警告の表示対象になっており、 サイトの性質・用途とは関係なく一様に「暗号化」が要求されることとなりました。



このたび「暗号化(https:)」の対応を行ないましたので、今後はこのように



URLの表示に「南京錠 」マークが表示されます。



「非暗号化(http:)」のリンクからの呼び出しでも、「暗号化(https:)」ページが再呼び出しされるようになっています。
2021/10/03 「計算式」「ふりがなの自動入力」を修正しました。
サンプルを置いているのですが、ファイル名に誤りがありダウンロードできない状態だったため、これを修正しました。
また、「計算式」のジャンルですが、PHONETIC関数を応用するマクロも提示しておりましたが、 現在のExcelでは1行おきにしか変換されないという問題があったため、これを修正しています。
Excel環境」に「読み取り専用で開く」というページを置いていたのですが、 現在のExcelでは右クリックメニューに「読み取り専用で開く」がなくなっているので、これを削除しました。
元々、「読み取り専用で開く」は機能しておらず、通常の「開く」と同様に編集して上書き保存可能な状態で開かれてしまうという問題がありました。



対応方法としては右クリックメニューから「新規」又は「新規作成」を選択することで同等の機能は得られます。
当サイトからダウンロードできるサンプルや、各ページの説明画像などでのExcel環境が「R1C1参照形式」のものが多数あります。 これは「計算式」や「VBA」の開発側として、当サイトがお勧めしていることではありますが、 そのまま、他者に配布してしまうと、後から開いた他のワークブックまで「R1C1参照形式」になってしまうという弊害があります。



このため、サンプルや説明画像で、特に「R1C1参照形式」とする必要がないものは「A1参照形式」とするように変更しています。
「基本操作」「マクロ無効でワークブックを開く。」を追加しました。
「何を今さら」的なものですが、この説明ページを設けていなかったことに気づいたため、追加しました。
2021/09/12 「基本操作」「配布時のポイント」「ブックに保持されるExcel環境設定」を追加しました。
この説明は特に最近の問題ではなく、昔のExcelから変わっていない問題で、未だに質問が絶えないことがあり追加しました。
Excelを熟知されている方なら以前から「あたりまえ」のことなのですが、この説明のページを設けておりませんでしたので追加しました。



特に「計算方法が勝手に手動になる」といった質問はWeb上にも多数見られるものですので、ぜひご覧下さい。
VBA基本」「配列変数」ReDimステートメント利用時のご注意」を追加しました。
これは動的配列変数を宣言せず(実際は宣言忘れ)ReDimステートメントを用いるという例で、 Microsoftの「ReDimステートメント」の説明では注釈の最後の方にこの説明があって一応は「仕様通り」なのですが、 当方がこの件を知ったのも「宣言忘れによる事故」だったので「ご注意」として追加しています。
2021/09/01 201910月にAPI関連」32ビット版、64ビット版での共用利用」を追加するとアナウンスしておきながら、実際にはページ更新のミスがありページ追加されておりませんでした。本日修正いたしました。
本件は2年近く「放置」されており、申し訳ありませんでしたが、残念ながら指摘等連絡もいただけず当方で見つけた次第です。
2021/08/29 当サイトを構成している各Webページ等の文字コードを全て「UTF-8」コードに変更しました。
当サイトを頻繁にご利用いただいている方、最近ご利用いただいた方の場合では一時的にメニュー等が文字バケすることがありますが、 これは旧「シフトJIS」コードのスクリプトファイルがローカルキャッシュに残っているためですので、 Ctrl+F5にてブラウザのリロードを行なっていただければ復旧いたします。



当サイトも20038月の開設から丸18年となりました。
開設当初はほぼWindows全盛だったのですが、近年ではそうではなくなってきており、 メールソフトなど一部のアプリでは「シフトJIS」コードの対応廃止の動きがでてきております。 今回の「UTF-8」コードへの変更はこれらの状況への対応です。
2021/07/22 VBA応用」SQLiteで試してみます。」を追加しました。
SQLite」はネットワーク型データベースではありませんが、ローカル環境でのアプリ利用に特化したデータベースとしては軽量で動作が速いという特徴があります。 他のページと同様にダウンロードさせて試せるサンプルを用意していますが、サンプルのテーブルや項目はMDB(ACCDB)SQLServerと全く同じにしてあるので、動作レスポンスの比較やソースコードの違いなども確認いただけます。
2021/06/27 VBA応用」「固定長形式テキストデータの書き出し」を修正しました。不具合の修正になります。
項目ごとのバイト数判定に不具合があり、以降の項目に桁ズレが起きるケースが見つかり、本件を修正しています。 このページのロジックを転用利用されている場合も影響があり、修正が必要となります。 ソース上の修正箇所は該当ページの先頭コラムで表示しております。



本件は利用者様からの連絡により修正することができました。ペンネームではないようなのでお名前は控えさせていただきます。ありがとうございました。
2021/06/25 「計算式」「条件判断の使い方」に新しい関数のサンプルを追加しました。
新しい関数は「IFS関数」「SWITCH関数」でどちらもExcel2019(Excel2016 ProPlus)で追加された関数です。
単純分岐は「IF関数」で説明しており、複合分岐も「IF関数」で応用できることも説明していましたが、 今回の新しい関数は1要素の多分岐をシンプルに記述できる関数です。
「計算式」「条件集計(複数条件)を再作成しました。
「配列数式」から「SUMPRODUCT関数」、「SUMIFS関数」へといった時代の変遷も含めて、新しい「MAXIFS関数」「MINIFS関数」の説明も追加しています。
2021/06/10 「ダウンロード」「シンプルなパスワード管理ツール」を変更しました。細かい不具合等の修正になります。
・タスクバー表示をウィンドウ毎に制御するように変更しました。
従来は起動後に常駐する「隠しフォーム」をタスクバーに登録する方法を採っていたため、フォームの切替えでタスクバーが塗り直されることはないようにしていたですが、 最小化した状態でタスクバーから復帰させる時の動作がWindows標準になっていないことが判明したため、これを修正したものです。
・パスワード変更後に一覧の有効期限の赤字表示が元に戻らない件を修正
単なる不具合修正です。一覧表示上でパスワードの有効期限を過ぎているものは黄色で塗りつぶされて有効期限が赤字表示されますが、 ここで新しいパスワードを登録した時に黄色の塗りつぶしはなくなりますが、赤字表示が解消されなかったのでこれを修正しました。
URLの重複はエラーではなく警告に変更
1つのプロバイダに複数のメールアドレスを登録するなどのことは元々発生することであって、URL重複は警告表示を経て許可する仕様にしたはずだったのですが、 登録チェックの処理がエラー扱いしていたのが見つかったため、当初の仕様に合わせて修正しました。
※タスクバー表示制御については「シンプルなテキストリーダー」も同じ状態だったので修正しています。
2021/06/01 個々のコンテンツページの更新ではありませんが、サイト全体をコントロールしているJavaScript及びこれらを配置しているJSファイル、さらにはスタイルシート等も見直しました。
これによりほぼ全ページの呼び出しJSファイル名、スタイルシート名を変更する必要が発生したため、各HTMLファイルを順次一括で更新するマクロを作るなどで対応しました。
各ページを次々と巡回して参照されるような場合は、共通処理部分の集約によりキャッシュに乗るJSファイル等の数やサイズ合計が削減できましたので、動作レスポンスに多少は寄与できたのではないかと思います。



なお、各ジャンルからサンプリングして動作確認しておりますが、不具合等を見つけた場合はお知らせいただけると大変助かります。
2021/05/30 「パソコン環境」の古くなったページを更新しています。大きな変更は下記の通りです。
Thunderbirdを更新しました。
以前の記事時点とユーザーインタフェースが変更されていることと、これに伴いアドオンの利用可否変わっているので紹介画像と説明を最新状態に更新させています。
・「Evernote」を紹介していたページをEvernote⇒OneNoteに変更しました。
  長年利用していた「Evernote」を「OneNote」に移行させることになった経緯や機能の違い、移行方法等の説明になっています。
「その他のソフト」に「カレンダー(Windows10)」を作成しました。
Windows標準のスケジュール管理アプリです。
このページでは以前はフリーソフトの「Schedule Watcher」を紹介していたのですが、「Schedule Watcher」はWindows環境に限定されてしまうので、 タブレット・スマートフォンでも連携できるものとして紹介しています。
2021/05/11 また、久しぶりの更新になってしまいました。
「ダウンロード」「シンプルJPEGビューワー」を修正しました。下記の機能追加になります。
・画像ファイル拡張子「JFIF」の追加
ToolTipテキスト表示の表示/非表示切り替え機能を追加
ToolTipテキスト表示の表示/非表示切り替え機能は利用者様からのリクエストがあったものに対応したものですが、リクエストをいただいた時点から結構期間が経ってしまいました。 作成する言語やコンセプトの制約などの問題がありリクエスト全てにお答えできるわけではありませんが、今後も可能なものにはお答えできるようにしたいと思っております。

2020年

2020/12/12 久しぶりの更新になってしまいました。
「仕事が忙しくて...」と言うと「いいわけ」にしかなりませんが、年齢からするとかなり忙しい仕事を4月から引き受けてしまっていて、サイトの更新ができなくなってしまいました。申し訳ありません。まだ、3ヶ月半続くのですが...
しかし、東京五輪特別措置法による祝日の変更が2021年にも波及することになったことについて、祝日関連のページの更新が急務となり、やっと更新いたしました。 対象は下記のページ及び、各ページからダウンロードできるサンプルになります。
VBA応用
 ・「営業日数」の算出
 ・年間カレンダーの作成2
 ・年間カレンダー作成(祝日パラメータシートを使わない方法)
 ・祝日パラメータを社内で一元化したい
■ダウンロード
 ・「カレンダー入力」用フォーム
 ・カレンダーテーブル取得クラス
VisualBasic
 ・年間カレンダー作成
2020/05/23 「ダウンロード」「シンプルJPEGビューワー」を修正しました。
従来、単一インスタンスに制限していたものを単純に解除したものですが、これにより複数ウィンドウを起動させ、それぞれ別のスライドショーを同時に表示させることができるようになりました。
但し、設定保持内容がプログラム単位で一意であるため、ウィンドウごとに保持されるわけではない点の使用上のご注意があります。
2020/05/04 「計算式」「コードから名称を表示」XLOOKUP関数のサンプルを追加しました。このページの中段くらいの位置です。
これは「Microsoft 365(旧Office 365)」の新機能で、Office2019等の以前のバージョンでは利用できないものです。
社員№を入力したら氏名・部署・内線を表示させるというサンプルで、元々はVLOOKUP関数やMATCH関数でのサンプルを掲示していたページですが、ここにXLOOKUP関数のサンプルを追加しました。
計算式は氏名のセルだけにセットさせており、部署・内線の表示はスピルの機能を利用しています。



さらにこのページではXLOOKUP関数を使ったワークブックを利用できないバージョンのExcelで開いた時の動作についても説明してあります。
2020/05/03 「ダウンロード」ExcelSQLServerツール」を修正しました。
不具合修正です。
本プログラムから出力されるテーブル作成スクリプトで、INDEXのスキーマが「dbo」に固定されてしまっていることが判明したため修正しています。
私が携わっていた会社も「dbo」のみで済んでいたため、事象の発見には至りませんでしたが、ご利用ユーザー様よりご連絡があり修正することができました。 ご連絡いただいた方には感謝申し上げます。ありがとうございました。
2020/04/26 VBA応用」UTF-8テキストデータの読み込み」UTF-8テキストデータの書き出し」を追加しました。



ある仕事で他システムにCSV形式データを渡す際に文字コードが「UTF-8(BOM無し)」という制限があるケースが見つかり、 この対応を行なったので記録に残したものです。



データファイルの「文字コード」などは一般の方は意識することがなく、単に処理して「文字バケ」ということになって問い合わせがあったものでした。



ただ「一般の方は文字コードなど意識しない」がそうではいけないような状況になってきているのです。
Windowsで「メモ帳」というものを使うことがあると思います。 この「メモ帳」がWindows10のバージョン1903から変更されています。
テキストファイルを開くと、ステータスバーの右方に「改行コード」「文字コード」が表示されているのに気がついたでしょうか。 また、テキストを編集して「名前を付けて保存」させる時に、



このように文字コードの指定ができるように変更されています。これ「メモ帳」ですよ。
しかも、デフォルトが従来の「ANSI」ではなく「UTF-8(BOM無し)」に替わっているのです。



従来、VBA応用」で紹介していたテキストファイルの取り扱いでは「UTF-8コード」には対応していないため、 今回、これらの説明を追加しています。
「計算式」「スピルについて」を追加しました。
これは「Microsoft 365(旧Office 365)」の新機能で、Office2019等の以前のバージョンでは利用できないものです。
当サイトでは新しいExcelの機能について、真っ先に飛びついたりはこれまでもしていません。 今回の「スピル」もそうですが、複数のOfficeのバージョンが利用されている環境では利用できないので急いで紹介する必要もないと考えていたわけです。
それは今でも変わりませんが、「スピル」は発表から1年以上経過していて「そろそろ良いかな」といったところです。 従来は計算式を入力すると、その算出結果というのはその計算式を入力したセルのみに表示されるというのが「常識」だったわけですが、「スピル」はその概念を壊すものです。 1つのセルに投入した動的配列数式だけで、その作用するセル範囲に計算結果が表示されるというものです。



今のところ見る限りでは「スピルでなければならない」というようなことではなく、「スピルを使えば無精できる」というイメージのものだと思います。
Microsoft 365(旧Office 365)」限定であるということを含めて利用可否は考えて下さい。
2020/04/19 すでにダウンロードなどでは利用していたものですが、VBA応用」「ドラッグ&ドロップでファイル名を受ける」を追加しました。
「ファイルのフルパス名をセル上で編集する」というのは一般利用者には難しい作業です。 一般的には「ファイルを開く」ダイアログからフォルダをたどっていって指定するのですが、こういう作業の時には利用者は既にそのフォルダをエクスプローラで開いていることが多く、 そこからドラッグさせることができれば作業がスムースに進められるわけです。



ですが、ワークシートのセルはドラッグ&ドロップは受け付けないので、ここに何らかの仕組みが必要なわけです。
このページのサンプルはフルパスファイル名を受け取りたいセルをダブルクリックすることで専用ユーザーフォームを表示させ、 そのユーザーフォームでドラッグ&ドロップにてファイル名を受け取り、セルに格納するという仕組みです。
2020/03/26 まだ具体的には何もないのですが、コロナウィルスの件での東京オリンピックの延期に伴って2020年及び2021年の祝日が変更になるかも知れません。 内閣官房長官が「これから調整」というように言及されています。
プログラムによる祝日処理を行なっている場合は影響があるわけですが、当サイトでは以前から変更に際してソースコードに影響がないようにするため「祝日パラメータ方式」をお勧めしていたわけです。
今回、すでに処理中の年度の祝日がもしかしたら変更になるかもしれないということで「急な変更」ということと「処理の一元化」という点でシステムの見直しが必要になると思います。 「祝日パラメータ方式」はこのサンプル自体のままではExcelシートなので単に作成物を配布した場合は個別変更が発生してしまいますが、 「配布の問題」で説明しているような集約的な場所に配置するアドインや、祝日パラメータ自身を社内共通のデータベースに配置するなどができれば、 こういった事象にタイムリーに対応できると思います。 「祝日パラメータを社内で一元化したい」も併せてご覧下さい。
2020/03/20 「ダウンロード」「フォルダ一覧」を修正しました。
1フォルダごとにワークシート表示を更新させるように処理していたのですが、おそらくExcel2013以降の現象だと思われますが、処理が長いとタイトルバーに「応答なし」と表示されてしまっていました。
それでも内部処理は止まっていたわけではなく、最終的には正常終了します。



これではよろしくないので、画面描画更新段階で「DoEvents」を追加することで解決させています。
2020/03/03 VBA応用」の全般見直しを行なっていましたが、ほぼ完了しました。
FileSearchのようなOffice側でのサポートがなくなって年数が経っているものを削除したりもありましたが、 「マクロを除いた配布用ブックを作成する。」などは*.xlsx、*.xlsm形式が当たり前となってかなり経つので全面的に見直しました。
以前はVBプロジェクトに入り込んでソースコードを削除するような説明をしていたのですが、 これを「マクロなしブック(*.xlsx)」で保存し直す方法に変更しました。 この方法だとVBプロジェクトにパスワードが掛かっていてもソースコードは削除されます。Excelがやってくれるわけです。
2020/02/24 VBA基本」の全般見直しを行なっていましたが、ほぼ完了しました。
サイト立ち上げ当初の記述が結構残っていて、画面コピーもOffice2003時代のものだったり、「リボン」ではなく「ツールバー」での説明だったりしていました。 特にマクロのソースコードについては、最近の記述方法に合わせて変更しており、後半の方の数ページは全面再作成したものも多いです。
今度はVBA応用」の全般見直しを始めたのですが、この中で 「ユーザーフォーム上の数値入力や日付入力の工夫」「ユーザーフォームのコントロールを配列にする。(クラス処理)などは 元々が古い記述を放置していたのがいけないのですが、新しい考え方で全面再作成になりました。



そこで同じことをVB.NETでやったらどうだろうと思い「コントロールの配列化サンプル(VB.NET)を用意していましたので、 このあたりに関心がある方はぜひご覧下さい。
2020/02/10 「ダウンロード」「シンプルなパスワード管理ツール」を再バージョンアップしました。
新規登録時に「クエリの値と出力するフィールドの数が一致しません」のエラーとなってしまう件と、登録画面が高DPIノートPCで天地がハミ出る件を修正しました。
2020/01/18 「ダウンロード」「シンプルなパスワード管理ツール」を再バージョンアップしました。
前回(2020/01/12)の更新で一部のWindows環境で「Microsoft.ACE.OLEDB.12.0プロバイダ未登録」が発生することが判明したため、この件の対応を行ないました。
2020/01/12 「ダウンロード」「シンプルなパスワード管理ツール」をバージョンアップしました。
今回の更新は不具合修正です。
あまり行なう頻度がない操作なのですが、登録以降にメインとなる分類を変更すると、アカウント側と分類索引側での分類コードの同期が採れなくなり、 アカウント自体が一覧表示から消えてしまうという不具合が見つかりました。
本件の修正と同期が採れなくなった分類索引の復旧処理の追加を行なっており、VerUpさせると消えてしまったアカウントが復活されるようにしています。
2020/01/07 「ダウンロード」MDB(ACCDB)生成/テーブル定義取得ツール」を修正しました。
MDB(ACCDB)の利用上には実害はないのですが、説明(Description)に登録している日本語の項目名称や備考の項目間のカンマ数の制御に誤りがありました。 項目名称が3列の利用に満たない状態で備考がある場合に、作成したMDB(ACCDB)から「テーブル定義情報の取得」を行なうと、 本来備考になるべき文字列が項目名称の右列に配置されてしまう事象が見つかり、これを修正しています。

 過去年度の更新履歴は以下のリンクからどうぞ
 なお、過去の更新履歴の中には廃止したページへのリンクが残っている場合があります。ご了承下さい。
   2019
   2018
   2017
   2016
   2015
   2014
   2013
   2012
   2011
   2010
   2009
   2008
   2007
   2006
   2005
   2004
   2003