PDA

View Full Version : file is being used by another process مشکل کجاست؟



Maryam_y_m
سه شنبه 10 مرداد 1385, 12:33 عصر
درون برنامه یک فایل excel را باز کردم، اطلاعاتی از آن خوانده ام ، آنرا بسته ام . ولی وقتی میخواهم آنرا delete کنم با پیغام زیر روبرو میشوم:
The process cannot access the file because it is being used by another process

برنامه:


Dim WithEvents xlBook As Excel.Workbook
Dim originalCulture As System.Globalization.CultureInfo=thisThread.Curren tCulture

xlBook = GetObject(txtFile.Text)
xlBook.Application.Visible = False
thisThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")

'خواندن اطلاعات از فایل

xlBook.Application.Quit()
xlBook = Nothing
File.Delete(txtFile.Text)' مشاهده خطا

ghafoori
سه شنبه 10 مرداد 1385, 14:24 عصر
این پیغام بخاطر این است که برنامه دیگری در حال استفاده از این فایل فکر کنم برنامه اکسل بعد از تغییر روی فایل بسته نمیشه شما برنامه task manager را باز کنید و اگر در تب prosess اسم اکسل را دیدید ان را end prosess کنید فکر با این کار مشکلتون حل بشه

Maryam_y_m
سه شنبه 10 مرداد 1385, 16:40 عصر
برنامه task manager را باز کنید و اگر در تب prosess اسم اکسل را دیدید ان را end prosess کنید فکر با این کار مشکلتون حل بشه
بله من هم این کار رو بلدم :لبخند:
ولی من که به کاربر نمیتونم بگم وسط برنامه بره توی TaskManager و excel رو End Process کنه.
البته xlBook.Application.quit قاعدتا باید این کار رو انجام بده ولی نمیدونم چرا نمیشه

ghafoori
سه شنبه 10 مرداد 1385, 18:51 عصر
خوب با این کد می تونید پدر هرچی اکسل را در بیارید:قهقهه:
این کد تمام Process کنترل میکنه و اگر نام اکسل را دید ان را می بندد

Dim prosess() As Diagnostics.Process = Diagnostics.Process.GetProcesses()
If prosess.Length > 0 Then
For Each p As Diagnostics.Process In prosess
If p.ProcessName = "EXCEL" Then
p.Kill()
End If
Next
End If