Accessの.mdbファイル/.accdbファイルから、テーブル/クエリ/フォーム/レポート/モジュール/マクロの一覧表を作成するプログラムを公開します。.NETでExcelを使わずにExcelのファイルを読み込むときの定番NPOIを使用せずExcelDataReaderで文字化けなくファイルを読み込むための方法です。カムロボット工作セット』と『IchigoJam』の組み合わせで動くサンプルプログラムを作ってみました。プログラムを実行するとIchigoJamにつながっているキーボードがリモコンになり、キー入力をするとカムロボット(カムロボ)が動きます。comment「KB4497934を適用するとレイアウトが崩れる?」の続きです。検索キーワードが絞り込めたので、改めてインターネットを検索してみるとQiitaで@tfukumoriさんの記事が見つかりました。(https://qiita.com/tfukumori/items/a1fb3984a3488875515e)@tfukumoriさんの記事を読んでいくと自分が遭遇している現象と同じようです。自分の場合、KB4497934で現象が起きましたが、俗に「令和対応」と呼ばれるパッチがリリースされたあたりから発生しているようです。読み進めていくと、この現象を解決するための修正パッチが配布されているようです。定例パッチ(Bリリース、アメリカ第2火曜日の翌日、日本では5/15)で修正されたようです。えっ、自分の環境では解決できていない...ページに書いてあった情報をヒントに試してみたところ、解決ができたので修正方法を以下に記載します。Comments「KB4497934を適用するとフォントの大きさが変わる?」でアップデートを適用するとフォントの大きさが変わるようだと記事を書きましたが、それ以外にも違いがあるようです。.NETのSystem.Windows.Forms.Formクラスを継承したクラスでインスタンス生成時に発生するフォームのResizeイベントです。具体的には、フォームのコンストラクタから呼び出されるInitializeComponentメソッドの実行中に発生するResizeイベントの発生回数が変わります。比べてみると、アップデート適用後の4回目のResizeイベントが発生したタイミングでフォームのレイアウトが崩れてしまっています。調査のために使用したフォームでは145ピクセル相当の横ずれが生じているようです。全体の幅が1000ピクセル強の中で145ピクセルのずれなので見た目的にはかなりの違和感があります。4回目のResizeイベント発生自体はInitializeComponentメソッドのMe.ResumeLayoutメソッドを呼び出している部分をコメントアウトすることで抑制できます。(かなり乱暴な方法ですが、ResumeLayoutの引数を変えるなどでは抑制できませんでした。)しかし、Resizeイベントの発生を抑制した状態でも生成されたフォームを確認するとフォントの大きさが異なるためか、やはりレイアウトが崩れています。全体的にフォントの横幅が狭まっているのか前詰め状態になっています。Updateで改善されるのを待つのが無難かもしれません。InitializeComponentメソッドの変更ですが、ソースを確認すると以下のように変更をするなとコメントされている部分なので危険性を理解したうえで変更するようにしてください。デザイナを使って変更できます。エディタを使用して、変更しないでください。[とりあえず解決]」にこの記事の続きを書きました。UpdateでKB4497934(2019年5月21日リリース)を適用するとフォントの大きさが変わってしまうケースがあるようです。Pゴシックの2種類です。ゴシックを指定して表示してみました。このサンプルではわずか数ピクセル程度のずれですが、String.Drawing.GraphicsクラスのMeasureStringメソッドなどを用いて描画サイズを測りながら描画位置を調整するような処理を行うと、かなり大きくずれて表示されます。守秘義務の都合上公開はできないのですが作業中のプロジェクトではドン引きするくらいに画面が崩れています。(2019年5月14日リリース)のリリース文に以下のような説明があります。フォントを使用しているときに、テキスト、レイアウト、またはセルのサイズの幅が予想よりも狭く、または広くなることがある問題を修正します。インターネットの情報を検索すると令和対応のあたりから表示崩れの報告が散見されるようです。KB4497934でもなんらかの影響を受けているのかもしれないですね。KB4497934をアンインストールすると、見た目上は以前の描画に戻るようです。「KB4497934を適用するとレイアウトが崩れる?」にこの記事の続きを書きました。commentVB6のUpDownコントロールのように、Valueプロパティの値がMinimumプロパティの値より小さい値になったらMaximumプロパティの値に、Valueプロパティの値がMaximumプロパティの値より大きい値になったらMinimumプロパティの値に折り返すNumericUpDownコントロールです。UpDownコントロールのWarpプロパティをONにした際の挙動のみを拡張しているので、それ以外の部分は必要に応じて実装してください。Edition』のセットアップディスクを求められました。自分で明示的にインストールした記憶がないので、何かに付帯してインストールされてしまったのではないかと考え、手元に該当するメディアも無いことだし、とりあえずセットアップ要求をスキップしようとしたのですが、キャンセルボタンを押しても「取消中」と表示されたまま先に進まなくなってしまいました。そのような現象が発生したときに取った解決手順です。Serverの関連製品をインストールすると入ってしまうという情報が検索で引っかかりました。2005と関連ツールがインストールされています。最近までセットアップディスクの要求はなかったはずなんですよね、謎です。Linux)を起動しLinuxコマンドを実行、標準出力に出力された内容を.NET側で受け取りコンソールに出力するサンプルプログラムです。サンプルプログラムはLinuxのPSコマンドを実行し、標準出力の内容を逐次読み込むパターンとイベントハンドラを用いて非同期に読み込むパターンの2つを用意しました。BackgroundWorkerなどと組み合わせると長時間実行するLinuxコマンドから出力される内容を.NET側で受け取りGUIに進行状況を表示しながら実行することもできます。.NETのライブラリでは簡単に変換できる方法がないようです。WSL環境のwslpathコマンドを呼び出しパス表現の変換を行うための関数を作成しました。