Я создаю форму Excel, используя правила Outlook с VBA и python для создания потока одобрения. Если правила Outlook соответствуют условию TRUE, это должно быть: 1. Запустите сценарий python. 2. Получите подробный файл журнала и, наконец, записать новое значение в книгу Excel и сохранить файл. Но при записи нового значения в последнем процессе он не работает.
Это мой код:
Sub A_P(Item As Outlook.MailItem)
'1.Run python
Shell ("python C:\Users\CFGFIN002\Desktop\AP_xx.py")
'2.Update log file
Dim fso As Object
Dim logFile As Object
Dim logFilePath As String
Dim logFileName As String
Set fso = CreateObject("Scripting.FileSystemObject")
logFileName = "mylog" & ".txt" 'Get Name
myFilePath = "R:\ASD_Accounting system development\Project\Invoice form\" & logFileName
If fso.FileExists(myFilePath) Then
Set logFile = fso.OpenTextFile(myFilePath, 8)
Else
Set logFile = fso.CreateTextFile(myFilePath, True) ' create the file instead
End If
'logFile.WriteLine "[" & Date & " " & Time & "]" & "00000" & "_" & i & " " & "Amount : " &
Range("I19") & " Transaction date : " & Range("B32") & " Account No. : " & Range("C32") & " Account
Name : " & Range("D32") & " Bank : " & Range("F32") & " Amount : " & Range("I22") & " " & Range("K9")
& " User : " & Range("E34") & " Approver : " & Range("E36") & "Running number : " & Range("G1")
'Detail in Log file
logFile.WriteLine "[" & Date & " " & Time & "]" & "Status : Approved_Manager Approval"
logFile.Close ' close the file
'3.Last one write value to excel workbook and save it.
Workbooks.Activate("Form_original.xlsm").Activate.Range("G36").Value = "Date is : " & Date & " and
Time is : " & Time
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Это мой образец рабочей книги Excel.
Это мой вывод, необходимый .
Скажите, пожалуйста, как решить эту проблему. Извините за плохой навык Engli sh.