Я создал код для заполнения полей со списком в моей форме из файла Excel при загрузке формы.
В рамках кода предполагается, что связанные объекты освобождаются, но не
Dim excel As New Excel.Application
Dim w As Excel.Workbook = excel.Workbooks.Open("C:\Email Template\Violations Log\Violations Log.xlsx")
Dim sheet As Excel.Worksheet = w.Worksheets("Individual Data")
Dim r As Excel.Range = sheet.Range("A2:A300")
Dim array(,) As Object = r.Value(excel.XlRangeValueDataType.xlRangeValueDefault)
Dim sheet2 As Excel.Worksheet = w.Worksheets("Category")
Dim s As Excel.Range = sheet2.Range("A2:A20")
Dim array2(,) As Object = s.Value(excel.XlRangeValueDataType.xlRangeValueDefault)
Dim bound0 As Integer = array.GetUpperBound(0)
Dim bound1 As Integer = array.GetUpperBound(1)
Dim j As Integer
Dim x As Integer
Dim s1 As String
If array IsNot Nothing Then
' Loop over all elements.
For j = 1 To bound0
For x = 1 To bound1
s1 = array(j, x)
If s1 IsNot Nothing Then
If Not ComboBox1.Items.Contains(s1.ToString) Then
ComboBox1.Items.Add(s1.ToString)
End If
End If
Next
Next
End If
If array IsNot Nothing Then
' Loop over all elements.
For j = 1 To bound0
For x = 1 To bound1
s1 = array2(j, x)
If s1 IsNot Nothing Then
If Not ComboBox2.Items.Contains(s1.ToString) Then
ComboBox2.Items.Add(s1.ToString)
End If
End If
Next
Next
End If
w.Close(False)
excel.Quit()
ReleaseObject(excel.XlRangeValueDataType.xlRangeValueDefault)
ReleaseObject(excel)
ReleaseObject(array)
ReleaseObject(array2)
ReleaseObject(r)
ReleaseObject(s)
ReleaseObject(sheet)
ReleaseObject(sheet2)
ReleaseObject(w)
ReleaseObject(bound0)
ReleaseObject(bound1)
ReleaseObject(j)
ReleaseObject(x)
ReleaseObject(s1)
Ive попытался освободить каждый объект, на который имеется ссылка, но он все еще связан с документом Excel.
Я пропустил объект? или что-то большее?
У меня есть другой код, который копирует из формы в тот же документ Excel и не оставляет открытых процессов. (Мне нужно убить процесс Excel, созданный при загрузке формы, чтобы иметь возможность использовать код для копирования данных)
Любая помощь будет принята с благодарностью.
Привет, это код, который я использовал для освобождения объектов. Это точно так же. Это странно, потому что это работает для другого сабвуфера, но не для этого.
Возможный дубликат Процесс VB.NET Excel не закроется, несмотря ни на что
Догадаться.
Код перестанет работать и не завершит раздел кода, посвященный объекту выпуска. Используя отладку, я обнаружил, что получаю сообщение об ошибке, которое было отключено. Я разрешил сообщение об ошибке, и теперь оно работает нормально.
Спасибо за попытку помочь.
Возможный дубликат Приложение не закрывается после вызова quit