2016-11-19 28 views
1

複数のコンピュータで使用されているアプリケーションがあり、すべてExcelドキュメントにアクセスします。問題は、2人のユーザーが同時に使用すると、そのファイルが他の誰かによって使用されているというエラーです。C#Excelでサインインを要求しない

(「で...あなたが開きたいアカウントの電子メールを入力して」)私は読み取り専用として開くためにそれを設定することで、これを固定したがこれに伴う問題は、サインインする私を求めていますということですすべてのユーザーがサインインしなければならない場合、これはあまり実用的ではありません。スキップする方法はありますか?私はプロンプトを閉じると正常に動作します。

excApp = new Excel.Application(); 

excWkb = excApp.Workbooks.Open(strWkbLocation, ReadOnly: true); 

おかげ

+0

「あなたが開きたいアカウントのメールアドレスを入力してください」というメッセージがExcelから入力されていますか?または他のどこか。また、Excelファイルをテンプレートにしようとしましたか?これは、読み取り専用オプションを使用せずに同じファイルを複数開くことも解決するためです。 – JohnG

答えて

0

Workbook.Openの定義は次のとおりです。

Workbook Open(string Filename, object UpdateLinks, object ReadOnly, object Format, 
    object Password, object WriteResPassword, object IgnoreReadOnlyRecommended, 
    object Origin, object Delimiter, object Editable, object Notify, object Converter, 
    object AddToMru, object Local, object CorruptLoad); 

だから3番目の引数はReadOnlyで、第七はIgnoreReadOnlyRecommendedです。私はそれが必要だとは思いませんが

それはおそらく、またアプリの警告を無効にするには損はない:

excApp = new Excel.Application(); 
excApp.DisplayAlerts = false; 
excWkb = excApp.Workbooks.Open(strWkbLocation, Type.Missing, true, Type.Missing, 
    Type.Missing, Type.Missing, true); 
excApp.DisplayAlerts = true; 

私はそれは不可能だと言っていないんだけど、私は方法を知っていません(例のように)VBAでのやり方と同じようにパラメータを外科的に定義します。

関連する問題