PowerShellを使ってWindowsの「フォントの設定」ダイアログボックスを表示させ、ユーザーが選択したフォントや色などの情報を取得する方法について解説します。
前提条件
本スクリプトはWindows環境(Windows Formsが利用可能な環境)のPowerShellで動作します。GUIを伴うため、コンソールセッションがGUI表示をサポートしている必要があります。
フォント設定ダイアログを表示するスクリプト
以下は、フォント選択ダイアログを表示し、色選択を有効にした上で、選択されたカラー名を取得する最小限の実行例です。
using namespace System.Windows.Forms Set-PSDebug -Strict Add-Type -AssemblyName System.Windows.Forms $fontDialog = New-Object System.Windows.Forms.FontDialog $fontDialog.ShowColor = $True $fontDialog.FontMustExist = $True # ダイアログを表示 $null = $fontDialog.ShowDialog() # 設定したカラー名を取得 $fontDialog.Color.Name # プロパティを変更して再制御する例 $fontDialog.AllowScriptChange = $False $fontDialog.ShowColor = $False # 再度ダイアログを表示 $null = $fontDialog.ShowDialog()
解説
- Add-Type -AssemblyName System.Windows.Forms: .NETのWindows Formsアセンブリを読み込みます。
- System.Windows.Forms.FontDialog: フォント選択ダイアログコンポーネントをインスタンス化します。
- ShowColor:
$Trueに設定することで、ダイアログ内で文字色の選択も同時に行えるようになります。 - FontMustExist: 存在しないフォント名が入力された場合にエラーメッセージを表示させます。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 変更スクリプト内のプロパティ誤記「Showcolor」を正しい「ShowColor」に修正しました。
- 変更不要な「昨日画面も制御できる」という誤字を「機能画面も制御できる」の意味を含めて分かりやすく修正しました。
- 追加Windows Formsを利用するための前提条件と実行手順についての解説を追加しました。
