Создайте отчет из перспективы и переместите его, чтобы превзойти - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать файл Excel из определенной папки Outlook, чтобы создать отчет с непротиворечивыми данными.

тело письма выглядит следующим образом

BOL # 1234567891PU # 1111111 PO # 123156456465 ТРЕЙЛЕР # S60553 ВЕС: 28646.000 ЧАСТЕЙ: 1857

, и я собираю этот код вместе, но я продолжаю получать ОПРЕДЕЛЕННЫЙ ТИПОМ ПОЛЬЗОВАТЕЛЯ, НЕ ОПРЕДЕЛЯЮЩИМСЯ в следующем выражении Dim xlApp As Excel.Application

Sub CopyToExcel2()
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim olItem As Outlook.MailItem
Dim vText As Variant
Dim vPara As Variant
Dim sText As String
Dim vItem As Variant
Dim oRng As Range
Dim i As Long
Dim rCount As Long
Dim sLink As String
Dim bXStarted As Boolean
Const strPath As String = "C:\Users\j36783\Documents\Change_Requests\S_OPS\Test\outbound_trucks.xlsx" 'the path of the workbook


If Application.ActiveExplorer.Selection.Count = 0 Then
    MsgBox "No Items selected!", vbCritical, "Error"
    Exit Sub
End If
Sub Medline_test()
On Error Resume Next
Set myOlApp = Outlook.Application
Set mynamespace = myOlApp.GetNamespace("mapi")

    'Open the current folder, I want to be able to name a specific folder if possible…


Set myfolder = myOlApp.ActiveExplorer.CurrentFolder
Set xlobj = CreateObject("excel.application.14")
xlobj.Visible = True
xlobj.Workbooks.Add
'Set Heading
xlobj.Range("a" & 1).Value = "BOL#"
xlobj.Range("b" & 1).Value = "PU#"
xlobj.Range("c" & 1).Value = "PO#"
xlobj.Range("d" & 1).Value = "TRAILER#"
xlobj.Range("e" & 1).Value = "WEIGHT:"
xlobj.Range("f" & 1).Value = "PIECES:"

For i = 1 To myfolder.Archive.Medline_test
Set myitem = myfolder.Archive(i)
msgtext = myitem.Body

    'search for specific text

Dim messageArray(3) As String
delimtedMessage = Replace(msgtext, "BOL#", "###")
delimtedMessage = Replace(delimtedMessage, "PU#:", "###")
delimtedMessage = Replace(delimtedMessage, "PO#", "###")
delimtedMessage = Replace(delimtedMessage, "TRAILER#", "###")
delimtedMessage = Replace(delimtedMessage, "WEIGHT:", "###")
delimtedMessage = Replace(delimtedMessage, "PIECES:", "###")
messageArray(3) = Split(delimtedMessage, "###")

    'write to excel

xlobj.Range("a" & i + 1).Value = messageArray(0)  ' Not 1
xlobj.Range("b" & i + 1).Value = messageArray(1)  ' Not 2
xlobj.Range("c" & i + 1).Value = messageArray(2)  ' Not 3
xlobj.Range("d" & i + 1).Value = messageArray(3)  ' Not 4
xlobj.Range("e" & i + 1).Value = messageArray(4)  ' Not 5
xlobj.Range("f" & i + 1).Value = messageArray(5)  ' Not 6

Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...