QuickBooks Enterprise Solutions 2024 で Certified Payroll Report(公認給与レポート)を作成しようとした際、Excel で「Compile error in hidden module: cpinterview」が表示されて先へ進めない――現場で頻出するこの不具合を、原因別に切り分けて確実に解消するための実践ガイドです。更新・アドイン・Office 修復・マクロ設定・ユーザープロファイル再作成まで、順に実施するだけで復旧できるように構成しました。
現象の概要と前提
QuickBooks Enterprise 2024 から Excel を呼び出して Certified Payroll Report を生成するタイミングで、Excel 側に VBA コンパイルエラーが表示され、ブックが開けない/マクロが実行できない状態になります。
Microsoft Visual Basic for Applications
Compile error in hidden module: cpinterview
| 項目 | 内容 |
|---|---|
| 対象製品 | QuickBooks Enterprise Solutions 2024(Certified Payroll Report 機能) |
| 依存アプリ | Microsoft Excel(Microsoft 365/Office 2019 以降を含む) |
| 症状 | Excel の起動はするが、隠しモジュール cpinterview のコンパイルで停止しレポートが生成されない |
| 影響 | 給与レポートの出力不可、運用停止、処理遅延 |
| 発生契機 | Office 更新直後/アドイン導入直後/RDS 環境のユーザープロファイル破損 |
なぜ起きるのか(原因の見取り図)
エラーの本質は「Excel が QuickBooks のレポート用 VBA を読み込む際に、コンパイルできない状態に陥っている」ことです。多くは以下のいずれかが原因です。
- バージョン不整合:QuickBooks 側テンプレートと Excel のビルド/チャネルが合わず、参照解決に失敗。
- アドイン干渉:COM/Excel アドインが VBE(VBA エンジン)初期化を妨害。
- Office 構成破損:更新やクラッシュで VBA コンポーネントが不整合。
- マクロ規制:マクロ実行が組織ポリシー/信頼センターでブロック。
- ユーザープロファイル破損:プロファイル内キャッシュ(Addins/XLSTART/レジストリ)破損。
| 想定原因 | 手早い確認 | 推奨対処 |
|---|---|---|
| バージョン不整合 | 他 PC では再現しない/更新直後 | QuickBooks/給与テーブル/Office を最新化 |
| アドイン干渉 | Excel セーフモードでは発生しない | COM/Excel アドインを一時無効化し犯人特定 |
| Office 構成破損 | 他のマクロでも不安定 | Office のクイック修復→オンライン修復 |
| マクロ規制 | 「このファイルのマクロはブロック」表示 | 信頼センターで「通知で無効化」に調整 |
| プロファイル破損 | 新規ユーザーでは発生しない | ユーザープロファイル再作成 |
解決策(順番どおりに実行)
基本的な確認と更新
まずは更新系で解消する軽微な不整合を取り除きます。最も効果的かつリスクが低いステップです。
- QuickBooks を最新化:最新パッチを適用し、給与税テーブルも再ダウンロードします。
- Excel/Microsoft Office を更新:Excel の ファイル > アカウント > 更新オプション > 今すぐ更新 を実行し、ビルドを最新にします。
- 再試行:QuickBooks から Certified Payroll Report を再生成し、エラーが消えるか確認。
| 狙い | 具体的操作 | 期待効果 |
|---|---|---|
| 参照不整合の解消 | QB パッチ + 給与テーブル再取得 | テンプレート側参照の再登録 |
| Office 側の互換性向上 | Office 更新プログラム適用 | VBA ランタイムの既知不具合回避 |
Excel アドインの競合を除去(最頻原因)
アドインは Excel の起動経路で読み込まれ、VBA コンパイル時に干渉することがあります。いったんすべて無効にして切り分けます。
- Excel を起動し、ファイル > オプション > アドイン を開く。
- 画面下部の管理ドロップダウンでCOM アドインを選び実行(Go)。
- チェックをすべて外してOK。同様にExcel アドインもすべて無効化。
- Excel を再起動。
- QuickBooks からレポート生成を再試行。
- エラーが消えた場合、アドインを一つずつ戻して再現し、問題のアドインを特定。
なお、より素早い確認として Excel をセーフモードで起動するとアドイン読み込みをスキップできます。
Win + R → excel /safe → Enter
| アドイン種別 | 具体例 | リスク/備考 |
|---|---|---|
| COM アドイン | PDF 作成ツール、会計アドイン、DMS 連携 | VBE 初期化や参照解決を阻害することあり |
| Excel アドイン(.xlam) | 統計・品質管理・テンプレート管理 | 名称衝突や参照優先順位の影響 |
| XLSTART 常駐 | Personal.xlsb 等 | 起動時にマクロが動いて干渉する可能性 |
Microsoft Office の修復(構成破損の再構築)
更新やクラッシュにより VBA 関連コンポーネントが破損しているケースでは修復が有効です。管理者権限を推奨します。
- Windows の 設定 > アプリ > インストール済みアプリ を開く。
- Microsoft 365 / Office を選び変更。
- まずクイック修復を実行(ネットワーク不要)。改善しなければオンライン修復(要ネットワーク)。
- 修復後、PC を再起動し再試行。
Excel のマクロ設定を確認(実行を許可)
マクロが完全ブロックされていると QuickBooks の VBA モジュールが走れません。「通知で無効化」に設定しておき、必要時に有効化できる状態へ。
- Excel の ファイル > オプション > トラスト センター > トラスト センターの設定 を開く。
- マクロの設定で通知で VBA マクロを無効化を選択。
- 組織ポリシーで「インターネットから取得したファイルのマクロをブロック」が有効な場合、レポートファイルが内局の信頼済み場所にあるかを確認。
最終的な解決策:ユーザープロファイルの再作成(高確率で解決)
上記で改善しない場合、ユーザープロファイル破損が疑われます。新規プロファイルへ切り替えると、VBA のロード/参照/キャッシュが初期化され、問題が解消する事例が多数あります。以下は安全に実施する手順です。
- 対象ユーザーをログオフ(RDS/ターミナルサービスではセッション切断ではなくログオフ)。
- 管理者でサインインし、
C:\Users\<ユーザー名>フォルダーを<ユーザー名>.oldにリネーム。 - レジストリ エディタ(regedit)を起動し、以下キーへ。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList該当ユーザーの SID キー(S-1-5-21-...)を削除。 - ユーザーに再ログインしてもらい、新しいプロファイルが自動生成されることを確認。
- QuickBooks を起動して Certified Payroll Report を作成し、エラーが解消したか確認。
- 問題なければ旧プロファイル(
.old)から Desktop / Documents / Downloads 等の必要データを新プロファイルへコピー。
補助コマンド(管理者向け):SID 確認やバックアップに役立ちます。
:: レジストリ バックアップ(推奨)
reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" "%USERPROFILE%\Desktop\ProfileList.reg"
:: 対象ユーザー SID の一覧(PowerShell)
wmic useraccount get name,sid
代替案:新規ユーザーでの再現テスト
プロファイル再作成前に影響範囲を測るため、同一マシンで新規ローカルユーザー(またはドメインユーザー)を作成し、QuickBooks からレポート生成を試します。新規ユーザーで再現しなければ、問題はユーザープロファイル内に限定されます。
検証・確認チェックリスト(実施後に必ず確認)
- Excel 単体で空白ブックを開閉できるか(起動異常がないか)。
- Excel の VBE(Alt+F11)を開き、デバッグ > VBAProject のコンパイルがエラーなく完了するか。
- セーフモード(
excel /safe)ではエラーが消えるか。 - QuickBooks から Certified Payroll Report を実際に生成し、保存・印刷まで通るか。
- イベント ビューアー(アプリケーション)に Office/Excel のエラー(AppCrash 等)が残っていないか。
| 確認項目 | 合格基準 | 不合格時の戻り先 |
|---|---|---|
| Excel セーフモードで再現なし | エラーが消える | アドイン無効化の章へ |
| VBAProject コンパイル通過 | エラーなし | Office 修復の章へ |
| 新規ユーザーで再現なし | エラーなし | プロファイル再作成の章へ |
よくある落とし穴と回避策
- アドインを全部戻してしまう:犯人特定前に一括有効化すると再発。1 つずつ戻し、毎回 QuickBooks から生成テスト。
- マクロを「有効化」に固定する:セキュリティ低下の原因。通知で無効化にして、業務ファイルのみ有効化。
- RDS 環境でセッション切断:ユーザープロファイル操作前は必ずログオフ。切断だとファイル使用中で失敗します。
- コピー漏れ:プロファイル再作成後にブラウザプロファイル、Outlook PST/OST、
%APPDATA%\Microsoft\Templatesなど必要データの移行を忘れがち。 - 64/32bit 混在:Excel のビット数とアドインのビット数が不一致だと干渉リスク増。Excel の bit を確認しておくと切り分けが早いです。
再発防止と運用設計のポイント
- 更新タイミングの統制:QuickBooks と Office の更新を同一メンテナンス枠で実施し、検証→本番の順に段階適用。
- アドイン ガバナンス:承認済みリストを定義し、追加時は検証環境で QB レポート出力テストを通す。
- プロファイルの健全性監視:RDS/共有端末では定期的に新規プロファイル作成→動作確認のヘルスチェックを。
- バックアップ運用:ユーザープロファイルと重要テンプレートのバックアップを定期取得。復旧時間の短縮に直結。
- 信頼済み場所の活用:レポートテンプレートや出力先を組織の「信頼済み場所」に配置し、マクロ警告を減らす。
原因のまとめ(技術的視点)
VBA モジュール cpinterview は QuickBooks の Certified Payroll 用テンプレートに含まれる隠しモジュールです。Excel の起動時(あるいはテンプレート読み込み時)に、参照ライブラリの解決、アドインの初期化、信頼センターの判定、ユーザー環境のキャッシュ読込など複数の処理が直列で行われ、その途中で例外が発生すると「コンパイルできない隠しモジュール」として表面化します。よって、更新→アドイン→修復→マクロ設定→プロファイルの順で外乱要因を除去していくのが、最短での復旧に最も合理的です。
実作業を短縮するための「時短フロー」
- Excel をセーフモード(
excel /safe)で開き QuickBooks から再試行 → 成功ならアドイン原因。 - COM/Excel アドインを全無効 → 1 つずつ戻し再現するものを特定・恒久無効。
- Office クイック修復 → 効果なしならオンライン修復。
- マクロ設定を「通知で無効化」へ。レポート保存先を信頼済み場所に。
- 新規ユーザーでテスト → 正常ならプロファイル再作成を実施。
| ステップ | 目的 | 所要目安 | ユーザー影響 |
|---|---|---|---|
| セーフモード確認 | アドイン切り分け | 5 分 | なし |
| アドイン全無効化→個別復帰 | 犯人アドイン特定 | 15~30 分 | 軽微 |
| Office 修復 | 構成破損の修復 | 10~60 分 | 再起動の可能性 |
| マクロ設定調整 | 実行権限の付与 | 5 分 | なし |
| プロファイル再作成 | 環境の初期化 | 30~90 分 | ファイル移行が必要 |
FAQ(現場からよく寄せられる質問)
Q. ほかの Excel マクロは動くのに、cpinterview だけ落ちます。
A. テンプレート固有の参照やロード順序でアドイン干渉が起きている可能性が高いです。セーフモード → アドイン切り分け → Office 修復の順で解消するケースが多数です。
Q. マクロを常に有効にすれば直りますか?
A. 一時的に通る場合はありますが、推奨しません。セキュリティ上の観点から「通知で無効化」を基本とし、信頼済み場所と署名で例外管理してください。
Q. プロファイル再作成は本当に必要ですか?
A. 更新・アドイン・修復・マクロ設定で解決しない場合は、プロファイル破損の可能性が高く、再作成が最も早く確実です。既存データは .old から必要分のみ戻します。
Q. 32bit と 64bit の Excel はどちらが良いですか?
A. 既存アドインとの互換性を優先します。組織で統一し、QuickBooks レポート出力の検証を通ったビルド/ビット数を採用してください。
Q. RDS(リモートデスクトップ)サーバーで多発します。
A. 複数ユーザーでアドインやキャッシュを共有した結果、競合・破損が顕在化しやすくなります。ユーザープロファイルの定期初期化、アドインの標準化、更新の一斉適用で安定します。
実務メモ:管理者向け補助スクリプト
以下は動作環境調査や一括確認に使える例です(PowerShell)。環境に合わせて実行ポリシーや権限に注意してください。
# Excel のバージョン/ビット数確認
$excel = New-Object -ComObject Excel.Application
"Excel Version: $($excel.Version)"
"Excel 64bit: $([Environment]::Is64BitProcess)"
$excel.Quit()
# 有効な COM アドイン一覧
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$excel.COMAddIns | ForEach-Object { "$($*.Description) : Enabled=$($*.Connect)" }
$excel.Quit()
# ユーザープロファイルのパス(対象ユーザー名を指定)
$User = "targetuser"
(Get-WmiObject Win32_UserProfile | Where-Object { $_.LocalPath -like "C:\Users$User" }).SID
結論
「Compile error in hidden module: cpinterview」は、Excel 側の環境要因(更新・アドイン・修復・マクロ設定・プロファイル)のいずれかでほぼ必ず解消できます。本記事の順序で実施すれば、無駄なく原因を切り分け、最短でレポート業務を再開できるはずです。とくに RDS/共有環境では、アドイン標準化とプロファイル定期初期化を運用に組み込むことで再発率を大幅に下げられます。
参考:本記事の要点(エグゼクティブサマリー)
- まずは QuickBooks/給与テーブルと Office を最新化。
- Excel アドインを全無効化 → 一つずつ戻して干渉源を特定。
- 改善しなければ Office のクイック修復 → オンライン修復。
- マクロ設定は「通知で無効化」、ファイルは信頼済み場所へ。
- それでも NG なら、ユーザープロファイル再作成で高確率に解決。
補足(原因と再発防止)
原因:VBA モジュール cpinterview が Excel にロードされる際、破損したアドイン・Office コンポーネント・ユーザープロファイルのいずれかが干渉し、コンパイルできずエラーが発生します。
再発防止:Office と QuickBooks の同時アップデート運用、不要アドインの削除、ユーザープロファイルの定期バックアップ/初期化計画を推奨します。

コメント