Activateしたクラスのメソッドを呼び出すとエラーになります

Microsoft Excel の Activate クラスを作成するところ、メソッドの実行で以下のようなエラーになる場合があります。
 

USER>set app=##class(Activate.Excel.Application).%New()
USER>write app.Workbooks.Add()
USER>set File="c:\test.xls"
USER>write app.ActiveWorkbook.SaveAs(File)
zSaveAs+16^Activate.Excel.uWorkbook.1


こちらは、Windows Vista/2008 以降のバージョンのOSの場合、Caché のターミナルセッションを実行するユーザ(Cachéの起動ユーザ:デフォルトはSYSTEM) と Excel アプリケーションのセッションを実行するユーザ(Windows ログインユーザ)が異なるために起こるエラーになります。

対処法としましては、Caché の起動ユーザを Windows ログインユーザと同じものに変更します。

設定方法は、以下になります。

 

  1. ユーザアカウントを決めます

    Cachéのサーバに、Excel 実行用アカウントを作成します。
     
  2. 1 のユーザアカウントを Windows の Administrators グループに参加させます。

    Windows コントロールパネル -> 管理ツール -> コンピュータの管理 -> ローカルユーザとグループ -> グループAdministrators グループにユーザアカウントを加える
     
  3. Cachéサービスの起動ユーザに 1 のユーザを設定します
    Windows コントロールパネル -> 管理ツール -> サービス
    Cacheコントローラ for CACHE のプロパティを選択
     
  4. ログオンタブのアカウントに 1のユーザアカウントを設定

    Caché の起動ユーザと Windows のログインユーザを、同じユーザ・パスワードに設定し、エラーが解消されるかご確認ください。

該当する製品: Caché, Ensemble, 旧HealthShare
関連トピック: CachéからExcelを操作することはできますか?
関連トピック:ExcelからInterSystems製品にアクセスする方法はありますか?
関連トピック:Caché Activate機能を Windows 64ビット OS で使用することはできますか?
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る