Я разработал приложение .net, которое откроет файл excel во время входа в систему и будет использовать его для печати отчета. Он будет закрыт при выходе пользователя из системы. Я установил видимое значение false для файла excel, так что пользователь не знает об фоновом процессе.
Но если кто-нибудь откроет какой-либо другой файл excel за это время, мой файл Excel Excel станет видимым, а объект excel будет свернут. Я должен пойти в диспетчер задач и убить все открытые экземпляры excel, чтобы исправить это.
Код:
Private Sub OK_Click(sender As Object, e As EventArgs) Handles OK.Click
Try
Dim dt As New DataTable()
Dim Adapter As New SqlDataAdapter()
ConnectMe()
Dim SQLCmd As New SqlCommand("uspLogin", Con)
SQLCmd.CommandType = CommandType.StoredProcedure
SQLCmd.Parameters.AddWithValue("@pLoginName", UsernameTextBox.Text.Trim())
SQLCmd.Parameters.AddWithValue("@pPassword", PasswordTextBox.Text.Trim())
Adapter.SelectCommand = SQLCmd
Adapter.Fill(dt)
SQLCmd.Dispose()
If dt.Rows.Count > 0 Then
Me.Cursor = Cursors.WaitCursor
Loading.Show()
OpenAllTempaltes()
Me.Hide()
Con.Close()
Me.Cursor = Cursors.Arrow
Else
MsgBox("Your Credential is Wrong !!!", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Login")
UsernameTextBox.Text = ""
PasswordTextBox.Text = ""
UsernameTextBox.Focus()
End If
Catch ex As Exception
Application.Exit()
End Try
End Sub
Public Sub OpenAllTempaltes()
Try
xlWorkBook = xlApp.Workbooks.Open(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Templates", "Excel_Templates_GST.xlsm"), 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, True)
Catch ex As Exception
Throw
End Try
End Sub
Public Sub CloseAllTempaltes()
Try
CleanUp(xlApp, xlWorkBook, xlWorkSheet)
Catch ex As Exception
ExceptionLog("PrintPage", "CloseAllTempaltes", ex.ToString(), DateTime.Now.ToString("dd-MMM-yyyy"))
Finally
GC.Collect()
End Try
End Sub
Пожалуйста, помогите мне, как это предотвратить.