【发布时间】:2017-05-21 11:06:53
【问题描述】:
我正在尝试使用文件启动 excel。当我用同一个用户运行它时它工作正常。但是对于不同的用户,只有 excel 启动,而且还有未知的错误。
private void button1_Click(object sender, EventArgs e)
{
SecureString securePwd = new SecureString();
string password = "P@ssw0rd1";
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);
}
通过更改流程,相同的代码可以完美运行 ps.FileName = "c:\Program Files\Microsoft Office\Office15\EXCEL.EXE"; 到 ps.FileName = "notepad.EXE";
如果有任何权限问题,即使notepad.exe也不应该工作。
【问题讨论】:
-
这段代码不会让你去任何地方。实际上注销Windows,重新登录并使用“testuser”帐户。并启动 Excel。如果您没有收到更好的错误消息,那么您至少已经创建了使用您的代码运行 Excel 所需的配置文件。
-
它适用于notepad.exe
标签: c# excel process processstartinfo