1

Windows/Apache サーバーの perl で自分の Web ページから Win32::OLE を使用して .xlsm ファイルを開こうとしています。

この問題を調査したところ、次の解決策が見つかりました。

  1. パスを絶対パスに設定することで解決した人はほとんどいませんでした。これは私にはうまくいきませんでした。

  2. サーバー上のファイルにアクセスする権限を持つスクリプトの権限を設定します。これについてどうすればよいかわかりません。ただし、Windows sspi を介してユーザーを認証しており、ユーザー ID を持っています。そのユーザー ID は Win32::OLE でのファイル アクセスに対して検証されますか?

ただし、ファイル ハンドルを使用してファイルを開くことができます。このサーバーの場所にあるファイルへのファイル ハンドルを使用して、以前に自分の Web ページから読み書きしました。win32::OLE パーミッションはそれとは異なりますか??

エラーは次のとおりです。

Microsoft Excel cannot access the file 'C:\test.xlsm'. There are several
possible reasons:

• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as a currently open
workbook.

Win32::OLE(0.1709) error 0x800a03ec
    in METHOD/PROPERTYGET "Open"

入力に感謝します。

4

1 に答える 1

5

OK、アクセス許可を変更し、必要なすべての特権を持つ別のユーザーとしてapacheを実行しようと何度か試みた後、最終的にエラーを取り除きました。デスクトップの下にプロファイルフォルダーを作成することによって

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

msdn フォーラムでこのソリューションを見つけまし たhttp://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required将来

于 2013-04-23T22:06:05.297 に答える