Tôi có một ứng dụng .NET nhỏ mà tôi đang chạy trong Windows 2008 Server thông qua Task Scheduler. Ứng dụng này cần mở một tệp excel và sau đó lưu nó dưới dạng csv. Tác vụ không thành công khi tôi cố gắng mở sổ làm việc. Nếu tôi chạy nó theo cách thủ công mà không có trình lập lịch nhiệm vụ đang chạy nó, ứng dụng hoạt động tốt.Cách chạy tác vụ Windows 2008 từ bộ lập lịch với "tương tác với máy tính để bàn"
Tôi có cài đặt là "Chạy với đặc quyền cao nhất" và có "Chạy người dùng thời tiết được đăng nhập hay không" đã chọn.
Tôi đoán rằng quy trình này cần tương tác với máy tính để bàn tương tự như kiểm tra cờ "tương tác với máy tính để bàn" trên một dịch vụ. Nhưng tôi đã không thể tìm thấy một điều tương tự cho các nhiệm vụ theo lịch trình.
Dưới đây là mã được không: (nó không thành công trên cuộc gọi workbook.open)
public static void ConvertExcelToCsv(string source, string destination)
{
if (File.Exists(destination)) File.Delete(destination);
Application xl = new Application();
try
{
Workbook workbook = xl.Workbooks.Open(source, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Worksheet ws = (Worksheet)workbook.Sheets[1];
ws.SaveAs(destination, XlFileFormat.xlCSV, Type.Missing, Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing,true);
Marshal.ReleaseComObject(ws);
}
finally
{
xl.DisplayAlerts = false;
xl.Quit();
Marshal.ReleaseComObject(xl);
}
}
Nó hoạt động! Thats điên, tôi sẽ không bao giờ tìm thấy cảm ơn bạn. Ngoài ra, liên kết ở trên không chính xác, bạn có thể tìm thấy bài viết được mô tả tại đây: http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91 – Kelly
Bạn cũng có thể cần phải vô hiệu hóa UAC cho tài khoản người dùng lái xe tự động hóa văn phòng trên máy chủ - đó là những gì là các kink cuối cùng cho tôi. –
Tôi đã làm theo các giải pháp không hiệu quả với tôi. Tôi đã thực hiện một số thay đổi đối với danh tính dcom của 'Ứng dụng Microsoft Excel' đã làm việc cho tôi. Tôi đã thay đổi danh tính thành 'Người dùng này' và cung cấp thông tin đăng nhập tài khoản Quản trị viên. Điều này làm việc tốt cho tôi và Sharepoint Webpart của chúng tôi bắt đầu làm việc theo cách của nó. –