2017-05-21 72 views
0

我想用文件啓動excel。當我用同一個用戶運行它時它工作正常。但是對於不同的用戶,只有excel啓動,並且還有未知的錯誤。C#processstartinfo啓動過程excel

private void button1_Click(object sender, EventArgs e) 
     { 
      SecureString securePwd = new SecureString(); 

      string password = "[email protected]"; 
      SecureString sec_pass = new SecureString(); 
      Array.ForEach(password.ToArray(), sec_pass.AppendChar); 
      sec_pass.MakeReadOnly(); 

      ProcessStartInfo ps = new ProcessStartInfo(); 
      ps.FileName = "c:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE"; 
      ps.Arguments = "c:\\test_folder\\test.xlsx"; 
      ps.WorkingDirectory = "c:\\test_folder"; 
      ps.Domain = "test.local"; 
      ps.UserName = "testuser"; 
      ps.Password = sec_pass; 
      ps.UseShellExecute = false; 
      Process.Start(ps); 
     } 

enter image description here

非常相同的代碼從 ps.FileName =工作完全正常通過改變工藝 「C:\ Program Files文件\的Microsoft Office \ Office15 \ EXCEL.EXE」; 至 ps.FileName =「notepad.EXE」;

必須有任何配股甚至NOTEPAD.EXE也不能正常工作。

+0

此代碼不會讓你得到任何地方。實際註銷Windows,重新登錄並使用「testuser」帳戶。並啓動Excel。如果你沒有收到更好的錯誤信息,那麼你至少已經創建了用你的代碼運行Excel所需的配置文件。 –

+0

它與notepad.exe –

回答

0

這是非常正常的事情。如果你在公司工作,並打開共享Excel文件與你的朋友之一,你會得到的信息「文件是由另一個用戶打開」,你可以解決這種情況下複製這個文件爲例如C:/ Temp,然後更換它共享空間。

+0

一起使用似乎沒有問題。 Bcz如果用notepad.exe打開,則通常會打開相同的文件。 –

0

這段代碼似乎沒有任何問題。由於沒有改變,它再次開始正常工作。根本沒有。這只是開啓了一個問題,就像問題所在。

有什麼建議。?