VBA - Удалить запросы во временном файле - PullRequest
0 голосов
/ 10 февраля 2020

Я использую следующий запрос для отправки электронной почты на рабочую книгу с использованием VBA, я изо всех сил пытаюсь удалить все запросы в новом временном файле, который будет отправлен по электронной почте, и любые указания или предложения будут очень полезны.

Я наткнулся на следующий фрагмент кода, который я пытался добавить после savecopy, но без радости и неуверенности, как изменить его с ThisWorkbook на временный файл

Dim pq As Object
For Each pq In ThisWorkbook.Queries
    pq.Delete
Next

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

Sub Test()
    Dim OlApp As Object
    Dim NewMail As Object
    Dim TempFilePath As String
    Dim FileExt As String
    Dim TempFileName As String
    Dim FileFullPath As String
    Dim MyWb As Workbook
    Dim MyWs As Worksheet
    Dim emailRng As Range, cl As Range
    Dim sTo As String

    Set MyWb = ThisWorkbook
    Set MyWs = MyWb.Sheets("Menu")

    Set emailRng = MyWs.Range("O1:O50")
    Set StartDate = MyWs.Range("B9")
    Set EndDate = MyWs.Range("B12")

    For Each cl In emailRng
        sTo = sTo & ";" & cl.Value
    Next

    sTo = Mid(sTo, 2)

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    TempFilePath = Environ$("temp") & "\"

    FileExt = "." & LCase(Right(MyWb.Name, Len(MyWb.Name) - InStrRev(MyWb.Name, ".", , 1)))

    TempFileName = "Utilisation & Waiting List Report " & Format(Now, "dd-mmm-yy")

    FileFullPath = TempFilePath & TempFileName & FileExt

    MyWb.SaveCopyAs FileFullPath

    Set OlApp = CreateObject("Outlook.Application")
    Set NewMail = OlApp.CreateItem(0)

    strbody = "Hi All," & vbNewLine & vbNewLine & _
              "Utilisation & Waiting List Report " & StartDate & " to " & EndDate & vbNewLine & vbNewLine & _
              "Please see attached future Utilisation for PAC, Theatre and POC Clinics for CAT and PAC and Theatre clinics for YAG along with Waiting List Figures." & vbNewLine & vbNewLine & _
              "Thanks," & vbNewLine & _
              "SpaMedica Business Analysts"

    On Error Resume Next
    With NewMail
        .To = sTo
        .CC = ""
        .BCC = ""
        .Subject = "Utilisation Report & Waiting List " & Format(Now, "dd-mmm-yy")
        .Body = strbody
        .Attachments.Add FileFullPath '
        .Send   
    End With
    On Error GoTo 0

    Kill FileFullPath

    Set NewMail = Nothing
    Set OlApp = Nothing

    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With

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