PowerShellでWordファイルのページ数を一括取得する方法

パソコンパソコン・スマホ教室
スポンサーリンク

Wordファイルのページ数を一括で取得したいと思ったことはありませんか?特に、複数の文書を扱う際には、手動で確認するのは手間がかかりますよね。そんなときに役立つのが、PowerShellを使った方法です。今回は、初心者の方でもわかりやすいように、PowerShellを使ってWordファイルのページ数を一括で取得する方法をご紹介します。

スポンサーリンク

PowerShellを使ってWordファイルのページ数を取得する方法

Wordのイメージ

Wordのイメージ

PowerShellを使うと、指定したフォルダ内のWordファイルのページ数を一括で取得することができます。以下の手順で実行してみましょう。

PowerShellスクリプトの準備

まず、以下のPowerShellスクリプトを準備します。このスクリプトは、指定したフォルダ内のWordファイルを検索し、それぞれのページ数を取得してCSVファイルに出力します。

powershell
$outpath = "C:\temp"
$output = $outpath + "\output.csv"

function usage {
Write-Host "Usage: page-output.ps1 "
exit 1
}

if ($args.length -eq 0) {
usage
}

$inpath = $args
if (-not (Test-Path $outpath)) {
New-Item -ItemType Directory -Path $outpath
}

if (Test-Path $output) {
Remove-Item -Path $output
}

$target = Get-ChildItem $inpath -Recurse -Include *.doc, *.docx | Where-Object {-not $_.PSIsContainer}

$shell = New-Object -ComObject Shell.Application

$target | ForEach-Object {
$folderobj = $shell.NameSpace($_.DirectoryName)
$item = $folderobj.ParseName($_.Name)
$pageCount = $folderobj.GetDetailsOf($item, 157)
$_.FullName + "," + $pageCount | Add-Content $output
}

スクリプトの実行

上記のスクリプトを「page-output.ps1」という名前で保存し、PowerShellを管理者として実行します。以下のコマンドでスクリプトを実行します。

powershell
PS C:\> .\page-output.ps1 "C:\Users\user\Documents"

これで、指定したフォルダ内のWordファイルのページ数が「C:\temp\output.csv」に出力されます。

出力結果の確認

出力されたCSVファイルをExcelなどで開くと、以下のような形式でページ数が確認できます。

ファイルパス ページ数
C:\Users\user\Documents\file1.docx 10
C:\Users\user\Documents\file2.docx 5
C:\Users\user\Documents\file3.docx 12

よくある質問

Q1: PowerShellスクリプトを実行する際にエラーが発生しました。

PowerShellの実行ポリシーが制限されている場合があります。以下のコマンドで実行ポリシーを変更してみてください。

powershell
PS C:\> Set-ExecutionPolicy RemoteSigned

その後、再度スクリプトを実行してみてください。

Q2: 特定のフォルダ内のWordファイルのみを対象にしたいのですが、どうすればよいですか?

スクリプト内の「\$inpath = \$args」の部分に、対象のフォルダパスを指定してください。例えば、「C:\Users\user\Documents\Reports」フォルダ内のWordファイルのみを対象にする場合は、以下のように指定します。

powershell
$inpath = "C:\Users\user\Documents\Reports"

Q3: 出力されるCSVファイルの保存先を変更したいのですが、どうすればよいですか?

スクリプト内の「\$outpath = “C:\temp”」の部分を、希望する保存先のパスに変更してください。例えば、「D:\PageCounts」に変更する場合は、以下のように指定します。

powershell
$outpath = "D:\PageCounts"

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

PowerShellを使うことで、複数のWordファイルのページ数を一括で取得することができます。手作業で確認する手間を省き、効率的に作業を進めることができます。ぜひ、今回ご紹介した方法を試してみてください。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

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