Excelのセルのフォント名(フォントファミリー)を変更するPowerShellのサンプルコード

記事内に広告が含まれています。

Excelのセルのフォント名(フォントファミリー)を変更するPowerShellのサンプルコードを紹介します。

仕様

ローカルの任意の場所にPowerShellの*.ps1ファイルと、フォント名を変更する対象のExcelファイルを格納します。

Book1.xlsxの中のA列の文字列のフォント名を変更してみます。比較用にB列にも同じものをコピペしておきます。

実行後のフォント名はどれでもいいのですが、Windows環境でよく使用しそうなフォント名に変更させます。

セル位置実行前実行後
A1游ゴシックMS Pゴシック
A2游ゴシックMS ゴシック
A3游ゴシックMS 明朝
A4游ゴシックメイリオ
A5游ゴシック游ゴシック

ソースコード

コマンド

powershell -ExecutionPolicy RemoteSigned -File "setExcelFontName.ps1"

setExcelFontName.ps1

$excel = New-Object -ComObject Excel.Application
$book = $null

$excel.Visible = $false
$excel.DisplayAlerts = $false

$fileName  = "Book1.xlsx"
$filePath = (Convert-Path .) + "/" + $fileName

$book = $excel.Workbooks.Open($filePath)
$sheet = $book.Sheets("Sheet1")

$cell = $sheet.Cells(1,1)
$cell.font.Name = "MS Pゴシック"

$cell = $sheet.Cells(2,1)
$cell.font.Name = "MS ゴシック"

$cell = $sheet.Cells(3,1)
$cell.font.Name = "MS 明朝"

$cell = $sheet.Cells(4,1)
$cell.font.Name = "メイリオ"

$cell = $sheet.Cells(5,1)
$cell.font.Name = "游ゴシック"


[void]$book.Save()
[void]$book.Close($false)
[void][System.Runtime.Interopservices.Marshal]::ReleaseComObject($book)

[void]$excel.Quit()
[void][System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)

Pause

実行

実行手順

Windows PowerShellのターミナルからsetExcelFontName.ps1を実行するコマンドを打ちます。

実行結果

以下の通り、A列のフォント名が変わりました。

ぱっと見でも分かりますが、想定通りフォント名が変わったか確認しました。

各セルにフォーカスを当ててみますが、確かに変更されています。

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows11
2PowerShell5.1
環境一覧

以上です。

コメント

タイトルとURLをコピーしました