サービスでオートメーションは基本使えない
使えないんだってさ。で、色々と調べてたらCreateProcessAsCurrentUserというキーワードに辿り着くんだけど、実はこれもダメなんです。普通には動くんだけど、実はログオフ状態だと動かなくなるです。
ExcelもWordlもPowerPointも軒並みエラー
ファイル 'hoge.xlsx' にアクセスできません。次のいずれかの理由が考えられます。
• ファイル名またはパスが存在しません。
• ファイルが他のプログラムによって使用されています。
• 保存しようとしているブックと同じ名前のブックが現在開かれています。
hoge.ppt
プログラムの実行を続行するための十分なメモリがありませんでした。
hoge.docx
オブジェクト参照がオブジェクト インスタンスに設定されていません。
まあそもそもやっちゃだめなんでしょうね。
これをなんとかしましょう。
まずDesktopフォルダが必要
C:\Windows\System32\config\systemprofile\Desktop
C:\Windows\SysWOW64\config\systemprofile\Desktop
こいつらがなければ作ります。
管理者権限のあるアカウントをサービスで指定
コンポーネントサービスでも設定
「コンソール ルート」‐「コンポーネント サービス」‐「コンピュータ」‐「マイコンピュータ」‐「DCOM の構成」
ここから目的の項目を見つけ出して右クリック。
「ID」タブの「このユーザー」を選択して管理者権限のあるアカウントを設定。
以上。
これでログオフされてても動かせます。
セキュリティがどーのこーのとか、Officeのライセンス違反にならないようにとか、そういう話はちゃんとやって下さいね、と。