0
1

More than 5 years have passed since last update.

WindowsServer2016のサービスでOfficeオートメーションを使う

Posted at

サービスでオートメーションは基本使えない

使えないんだってさ。で、色々と調べてたらCreateProcessAsCurrentUserというキーワードに辿り着くんだけど、実はこれもダメなんです。普通には動くんだけど、実はログオフ状態だと動かなくなるです。

ExcelもWordlもPowerPointも軒並みエラー

ファイル 'hoge.xlsx' にアクセスできません。次のいずれかの理由が考えられます。

• ファイル名またはパスが存在しません。
• ファイルが他のプログラムによって使用されています。
• 保存しようとしているブックと同じ名前のブックが現在開かれています。
hoge.ppt
プログラムの実行を続行するための十分なメモリがありませんでした。
hoge.docx
オブジェクト参照がオブジェクト インスタンスに設定されていません。

まあそもそもやっちゃだめなんでしょうね。
これをなんとかしましょう。

まずDesktopフォルダが必要

C:\Windows\System32\config\systemprofile\Desktop
C:\Windows\SysWOW64\config\systemprofile\Desktop

こいつらがなければ作ります。

管理者権限のあるアカウントをサービスで指定

image.png

コンポーネントサービスでも設定

「コンソール ルート」‐「コンポーネント サービス」‐「コンピュータ」‐「マイコンピュータ」‐「DCOM の構成」

ここから目的の項目を見つけ出して右クリック。

image.png

「ID」タブの「このユーザー」を選択して管理者権限のあるアカウントを設定。
image.png

以上。
これでログオフされてても動かせます。

セキュリティがどーのこーのとか、Officeのライセンス違反にならないようにとか、そういう話はちゃんとやって下さいね、と。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1