|
分類:[C#]
分類:[C#]
2006/04/11(Tue) 18:44:59 編集(投稿者) 2006/04/11(Tue) 15:22:51 編集(投稿者)
こんにちは。Soony と申します。 いつも参考にさせていただいて、日々救われております。
Win XP Pro SP2 (開発、実行) Office 2003 Pro(開発、実行) VS2003 C#
C#でVisual Studio Tools for Officeを使用しているのですが、 SaveメソッドやSaveAsメソッド、Closeメソッドなどを使用して、 作成したExcelファイルを保存しようとすると、 「ファイルが保存できませんでした」というエラーが表示され、 怒られてしまうパソコンがあります。
Excel.Application objApp = new Excel.Application(); try { Excel.Workbooks objBooks = objApp.Workbooks; try { Excel._Workbook objBook = objBooks.Open(filename, 0, false, Missing.Value, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); try { Excel.Sheets objSheets = objBook.Worksheets; try { Excel._Worksheet objSheet = (Excel.Worksheet)objSheets.get_Item(1); try { // } finally { if (objSheet != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheet); } } } finally { if (objSheets != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheets); } } } finally { if (objBook != null) { try { objBook.Close(true, filename, true); // ↑ ここでエラーになる ↑ } finally { System.Runtime.InteropServices.Marshal.ReleaseComObject(objBook); } } }
この現象は、必ずというわけではなく、特定のパソコンで発生します。
実行している各パソコンは、Active Directory環境下に30台ほどあり、 動作を確認すると、4割程度のパソコンで上記のエラーが発生し、 残りのパソコンでは、期待通りに正常にファイルが保存されます。
また、エラーが発生しているパソコンでログイン先を自PCにする (ドメインへのログインからはずれる)と、正常に保存がなされるので、 Excelファイルを保存するときに、何かしらのセキュリティが かかってしまっているのかなと考えているのですが・・・。
また、正常に保存ができたExcelファイルを、エラーが発生するパソコン上で OfficeのExcelで開き、上書き保存をしようとすると、 「ファイルが保存できません」と怒られます。 (ファイル名を指定して保存をしても、同様に怒られる現象もありました)
一応、ドメイン環境に参加した状態で、以下の権限設定をしています。 ・ドメイン上で、Domain Users権限 ・ドメインにログインしているユーザーに、ローカルPCに対して、Administrators権限 (できれば、Power User権限としておきたいが、テスト用に一部のPCでフルに与えてみている)
この不具合を回避するために、どのような設定が必要なのか掴めずにいます。 お知恵の拝借をさせていただきたく、お願いいたします。
p.s. ・・・もしかすると、質問の趣旨が、この掲示板の趣旨から 外れてしまっているかもしれませんね・・・(大汗)。
どちらかというと、言語の問題よりも、ネットワーク環境の問題に 終始しそうな気がします。
でも、VSOTを使用する上においてという意味では、こちらで質問した方が 的確な解決方法が得られそうではありますね。
ということで、場違いの可能性は否定できませんが・・・ ご教授いただけることを期待して・・・ ぜひよろしくお願いいたします。
|