1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
#Region "Ouverture et fermeture du classeur"
Public appExcel As Excel.Application
Public Classeur As Excel.Workbook
Public Feuil0, Feuil1, Feuil2, Feuil3, Feuil4, Feuil5, Feuil6, Feuil14 As Excel.Worksheet
Public Feuil7, Feuil8, Feuil9, Feuil10, Feuil11, Feuil12, Feuil13 As Excel.Worksheet
Public Feuil15, Feuil16, Feuil17, Feuil18, Feuil19, Feuil20, Feuil21, Feuil22, Feuil23 As Excel.Worksheet
Public myIDExcel As Int16
Public Sub OuvrirClasseur()
Dim intFirstExcelIDs() As Int16 = ListID()
Try
appExcel = CType(CreateObject("Excel.Application"), Excel.Application)
'Ouverture d'un fichier Excel
Classeur = appExcel.Workbooks.Open(Filename:=My.Application.Info.DirectoryPath & "\Resources\BDR.xls", UpdateLinks:=0, ReadOnly:=False, Format:=5, Password:="diampa")
Feuil1 = CType(Classeur.Worksheets("MotdePass"), Excel.Worksheet)
Feuil2 = CType(Classeur.Worksheets("Bon"), Excel.Worksheet)
Feuil3 = CType(Classeur.Worksheets("EtatBudget"), Excel.Worksheet)
Feuil4 = CType(Classeur.Worksheets("EtatEngag"), Excel.Worksheet)
Feuil5 = CType(Classeur.Worksheets("SituaGle"), Excel.Worksheet)
Feuil6 = CType(Classeur.Worksheets("ImpriRea"), Excel.Worksheet)
Feuil7 = CType(Classeur.Worksheets("FicheControle"), Excel.Worksheet)
Feuil8 = CType(Classeur.Worksheets("ImpriEng"), Excel.Worksheet)
Feuil9 = CType(Classeur.Worksheets("ImpriLiq"), Excel.Worksheet)
Feuil10 = CType(Classeur.Worksheets("BorderauPerso"), Excel.Worksheet)
Feuil11 = CType(Classeur.Worksheets("BorderauAutre"), Excel.Worksheet)
Feuil12 = CType(Classeur.Worksheets("BorderauInvest"), Excel.Worksheet)
Feuil13 = CType(Classeur.Worksheets("Borderau"), Excel.Worksheet)
Feuil14 = CType(Classeur.Worksheets("Budget"), Excel.Worksheet)
Feuil15 = CType(Classeur.Worksheets("Budget1"), Excel.Worksheet)
Feuil16 = CType(Classeur.Worksheets("BudgetProjR"), Excel.Worksheet)
Feuil17 = CType(Classeur.Worksheets("BudgetProjD"), Excel.Worksheet)
Feuil18 = CType(Classeur.Worksheets("BudgetProgRecap"), Excel.Worksheet)
Feuil19 = CType(Classeur.Worksheets("BordEmisMandat"), Excel.Worksheet)
Feuil20 = CType(Classeur.Worksheets("GrandLivre"), Excel.Worksheet)
Feuil21 = CType(Classeur.Worksheets("Fiches"), Excel.Worksheet)
Feuil22 = CType(Classeur.Worksheets("BudgetR"), Excel.Worksheet)
Feuil23 = CType(Classeur.Worksheets("BudgetD"), Excel.Worksheet)
'BordEmisMandat cheminPrincipal = Feuil1.Range("B77").Value.ToString
'**** User 1
Feuil0 = CType(Classeur.Worksheets("SituaGle1"), Excel.Worksheet)
Dim intLastExcelIDs() As Int16 = ListID()
'Différence des 2 listes et récupération de notre ID
myIDExcel = ExtractID(intFirstExcelIDs, intLastExcelIDs)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Public Function ListID() As Int16()
Dim Processes As Process() = Nothing
Processes = Process.GetProcessesByName("EXCEL")
' Load ID Processes in Array
Dim intProcesses(Processes.GetUpperBound(0)) As Int16
Dim i As Int16
For i = 0 To CShort(Processes.GetUpperBound(0))
intProcesses(i) = CShort(Processes(i).Id.ToString)
Next
Return intProcesses
End Function
Public Function ExtractID(ByVal intFirstIDs As Int16(), ByVal intLastIDs As Int16()) As Int16
Dim intID As Int16 = Nothing
Dim intID_FirsList As Int16 = Nothing
Dim intID_LastList As Int16 = Nothing
Dim i As Int16 = Nothing
For i = 0 To CShort(intLastIDs.GetUpperBound(0))
intID_LastList = intLastIDs(i)
If Array.IndexOf(intFirstIDs, intID_LastList) = -1 Then
intID = intID_LastList
Exit For
End If
Next
Return intID
End Function
Public Sub FermerClasseur(ByVal intIDExcel As Int16)
' appExcel.SaveWorkspace()
If intIDExcel <> 0 Then
If Process.GetProcessById(intIDExcel).HasExited = False Then
Try
Process.GetProcessById(intIDExcel).Kill()
intIDExcel = 0
Catch ex As Exception
MessageBox.Show(ex.Message & ex.StackTrace, "Error while closing Excel integration.", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
End If
End Sub
#End Region |
Partager