Флаг Outlook Завершенный формат даты в excel

Я пишу макрос в excel, чтобы экспортировать электронные письма Outlook. Код работает нормально, но формат даты поля «Дата завершения флага» изменяется, когда данные экспортируются в excel.

В перспективе формат «dd-mm-yyyy hh: mm» (пример: 21 января 2015 г. 12:42). Когда электронные письма экспортируются в Excel, формат этого поля меняется до 21 января 2015 года 00:00

Есть другие поля даты, их форматы отображаются правильно в excel. Только в этом поле есть проблема с форматом.

Пожалуйста помоги!

Спасибо! KSP

Вот код, который я использую:

Sub InboxToExcel() Dim objOL As Outlook.Application Dim objNS As Outlook.Namespace Dim objInbox As Outlook.Folder Dim objTable As Outlook.Table Dim objRow As Outlook.Row Dim objMsg As Outlook.MailItem Dim objWB As Excel.Workbook Dim objWS As Excel.Worksheet Dim objRange As Excel.Range Dim strFind As String Dim strProps As String Dim arr() As String Dim val As Variant Dim i As Integer Dim intRow As Integer strProps = _ "SenderName,To,Subject,SentOn,ReadReceiptRequested" Set objOL = Application Set objNS = objOL.Session Set objInbox = objNS.GetDefaultFolder(olFolderInbox) Set objTable = objInbox.GetTable Set objWB = GetExcelWB() Set objWS = objWB.Sheets(1) objWS.Name = "Inbox" arr = Split(strProps, ",") intRow = 1 For i = 0 To UBound(arr) objWS.Cells(intRow, i + 1) = arr(i) objTable.Columns.Add arr(i) Next Set objRange = objWS.Range _ (objWS.Cells(1, 1), objWS.Cells(1, i + 1)) objRange.Font.Bold = True Do Until objTable.EndOfTable intRow = intRow + 1 Set objRow = objTable.GetNextRow For i = 0 To UBound(arr) val = objRow(arr(i)) Select Case VarType(val) Case vbDate val = DateToExcel(val) Case vbBoolean val = YesNoToString(val) End Select objWS.Cells(intRow, i + 1) = val Next Loop For i = 1 To (UBound(arr) + 1) objWS.Columns(i).EntireColumn.AutoFit Next objWS.Application.Visible = True objWS.Activate Set objOL = Nothing Set objNS = Nothing Set objRow = Nothing Set objWB = Nothing Set objWS = Nothing Set objRange = Nothing End Sub Function DateToExcel(propVal) Dim dteDate 'As Date If IsDate(propVal) Then dteDate = CDate(propVal) If dteDate = #1/1/4501# Then DateToExcel = Null Else DateToExcel = dteDate End If End If End Function Function YesNoToString(propVal) If propVal = "True" Then YesNoToString = "Yes" Else YesNoToString = "No" End If End Function 

  • Excel VBA Отправить Email
  • Найти письмо, начинающееся с конкретной темы с помощью VBA
  • Outlook изменяет размеры изображений при вставке из приложения vba excel
  • Python - загрузите файл excel из вложения электронной почты, затем проанализируйте его
  • Стратегия замены или миграции для Excel / Access
  • Экспорт содержимого электронной почты Outlook в Excel
  • Ошибка «несоответствие типа аргумента» при попытке отправить электронное письмо от excel Userform
  • Включить форматирование форматированного текста и сохранить форматирование
  • VBA экспортирует определенные данные из Outlook в Excel, но ничего не производит?
  • GetObject (, "Outlook.Application") не работает с Outlook открытым
  • Как сохранить текстовое вложение с определенной папкой Outlook в файл. используя Excel VBA
  • Давайте будем гением компьютера.