CHAPTER 7
注意事項
- Office(Excel・Word・PowerPoint)に関する制限
- パスワードを設定しないファイル
- ファイルを直接読む判定の制限
- Office が初期化できない場合
- タイムアウト
- バッチモードでのファイルの読み込み間隔
- 長いパス
- 32bit 版・64bit 版での動作
- 使用しているライブラリ
Office(Excel・Word・PowerPoint)に関する制限
ver 1.5.0 から、確認はファイルの中身を直接読んで行うため、Office は不要です。FPC が Office を使うのは、古い形式(xls・doc・ppt・pps)にパスワードを設定するとき、「Office で開いて判定する」を選んだとき、直接読めないファイルを確認するときです。Office を使うときは、次の点にご注意ください。
- 「Office で開いて判定する」を選んでいるときは、FPC を起動する前に、すべての Office を終了してください。PowerPoint が起動している場合、FPC は起動しません(警告が表示されます)。ファイルを直接読んで判定する方法(初期値)では、PowerPoint が起動していても FPC は起動します。
- FPC が Office を使っている間は、Office を使ったほかの作業をしないでください。その間に Excel・Word・PowerPoint を起動しても、正常に動作しない場合があります。
- Outlook で Excel・Word・PowerPoint のファイルをプレビューしている場合も、起動時に警告が表示されることがあります。
- FPC が異常終了した場合、Excel・Word・PowerPoint のプロセスが残ることがあります。タスク マネージャーで終了するか、サインインし直してください。
- FPC が Office を使っている間に、Office のダイアログなどが表示される場合があります。FPC が制御しますので、操作しないでください。
- Office が応答しなくなった場合、FPC は Excel・Word・PowerPoint のプロセスを強制終了します。ほかの作業で使っている Office も終了されることがあります。
- Office を使う処理をバッチモードで行うときは、ログオンした状態(対話モード)で実行してください。Office がバックグラウンドでの処理に対応していないためです。
- 古い形式へのパスワードの設定など、Office を使う処理は日本語版の Office で確認しています。
- 古い Office で作成したファイルにパスワードを設定しようとすると、エラーになる場合があります(エラーメッセージ:HRESULT からの例外:0x800A03EC)。新しい Office で古い形式のファイルを保存できないためです。ファイルを新しい形式で保存し直してから、もう一度設定してください。
パスワードを設定しないファイル
- 読み取りパスワードがすでに設定されているファイルは変更しません。
- 書き込みパスワードが設定されているファイルには、読み取りパスワードを設定しません(Office を使わずに設定する新しい形式でも同じです)。
- 編集・印刷などの制限が設定されている PDF と、電子署名のある PDF には設定しません(署名が無効になるためです)。
ファイルを直接読む判定の制限
- 古い Excel などが作る、既定のパスワード「VelvetSweatshop」で暗号化された新しい形式のファイルは、Office ではパスワードを聞かれずに開けますが、FPC は「パスワードあり」と表示します。
- 古い形式の Word(.doc)では、既定のパスワードかどうかは確かめていません(Word は既定のパスワードを使わないためです)。
- PDF は、ファイルの先頭と末尾の 2 MB を読んで判定します。それで判定できない場合は、512 MB までファイル全体を読みます。
Office が初期化できない場合
Office を使う処理で、ログ(FPCLog.txt)に次のように出力された場合は、Office が正常にインストールされていない可能性があります。
2025/10/25 11:11:11,初期化できませんでした。EXCELファイルは処理対象外になります。
2025/10/25 11:11:11,初期化できませんでした。WORDファイルは処理対象外になります。
Word の場合は、PowerShell から Word が起動するかを確認してください。起動しない場合は、Word の COM の構成やインストールの状態に問題があることが多いです。Office の修復をお試しください。
Add-Type -AssemblyName "Microsoft.Office.Interop.Word"
$word = New-Object Microsoft.Office.Interop.Word.ApplicationClass
$word.Visible = $true
タイムアウト
- FPC は、Office や ZIP の処理が応答しなくなった場合、そのプロセスを強制終了します。このとき、ログには「強制終了」と記録されます。
- 強制終了までの時間の初期値は 30 秒です。変更する場合は、設定ファイル FPC.xml の次の箇所を修正してください(30000 ミリ秒 = 30 秒)。
<WaitTime>30000</WaitTime>
- ファイルによっては、時間を変更しても正常に処理できない場合があります。その場合は、そのファイルを直接開いて状態を確認してください。
バッチモードでのファイルの読み込み間隔
- バッチモードでは、次のファイルを読み込むまでの間隔を設定できます(ver 1.4.1 から)。読み込みの間隔が短いと、NAS などでアクセスがブロックされる場合があるためです。
- 初期値は 0 秒です。変更する場合は、設定ファイル FPC.xml の次の箇所を修正してください(1000 ミリ秒 = 1 秒)。
<BatchIntervalTime>1000</BatchIntervalTime>
- 間隔を指定すると、並列ではなく 1 ファイルずつ確認します。
長いパス
- Windows の仕様により、フォルダー名とファイル名を合わせて 260 文字以上になると、正常に処理できません。バックアップファイルを作るときも同じです。
- エラーになった場合は、フォルダー名とファイル名を合わせて 260 文字未満(バックアップする場合は 254 文字未満)になるように変更してください。
32bit 版・64bit 版での動作
Office を使う処理について、次の組み合わせで動作を確認しています(2017 年 3 月、Windows 10 Professional 1607・Office 2016 ProPlus 日本語版)。
| OS | Office | 動作 | 備考 |
|---|---|---|---|
| 32bit | 32bit | ○ | | |
| 32bit | 64bit | — | この組み合わせではインストールできません |
| 64bit | 32bit | ○ | | |
| 64bit | 64bit | ○ | |
使用しているライブラリ
PDF の処理には PDFsharp(MIT ライセンス)を使用しています。