HTML-гиперссылка останавливается на пробелах в filepath - PullRequest
1 голос
/ 31 октября 2019

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

Кроме того, кто-нибудь знает о быстром исправлении, которое включает в себя подпись пользователя, отправляющего электронное письмо?

    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range

    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")

    On Error GoTo Cleanup
    For Each cell In Columns("M").Cells.SpecialCells(xlCellTypeConstants)
        If LCase(Cells(cell.Row, "M").Value) = "no" Then

            Set OutMail = OutApp.CreateItem(0)
            strbody = "Dear " & Cells(cell.Row, "A").Value _
                      & "<br>" & "<br>" & _
                        "You still have outstanding work on the Rescan Spreadsheet " & _
                        " Title number:  " & Cells(cell.Row, "E").Value _
                        & "<br>" & "<br>" _
                        & "<A href=" & "\\cv-vfl-d01\dlr_office\Operational Teams\RR Scanning Team\Back file QA Xerox\Document Rescans\Rescans 2019" & ">Click here to open file location</A>"



            On Error Resume Next
            With OutMail
                .To = Cells(cell.Row, "B").Value
                .CC = "Bethany.Turner@Landregistry.Gov.uk"
                .Subject = "Re-Scan Reminder"
                .HTMLbody = strbody
                .Display
            End With
            On Error GoTo 0
            Set OutMail = Nothing
        End If
    Next cell

Cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
    MsgBox "Reminder Sent", vbOKOnly   
End Sub

После отображения сообщения, когда вы нажимаете гиперссылку,он останавливается и выдает сообщение об ошибке «1006 * не может быть найден».

1 Ответ

1 голос
/ 31 октября 2019

Вам не нужно использовать амперсанды между href = и именем файла, но вам нужно добавить дополнительную двойную кавычку:

"<A href=""\\cv-vfl-d01\dlr_office\Operational Teams\RR Scanning Team\" & _
"Back file QA Xerox\Document Rescans\Rescans 2019"">Click here to open file location</A>"

HTML требует, чтобы URL имел кавычки вокругссылка. Если бы это была обычная строка в HTML, она бы выглядела так:

<a href="\\my file path\">My link name</a>

В качестве альтернативы, вы можете использовать функцию Chr(), чтобы поместить символ двойной кавычки в вашу строку, если это поможет вам:

"<A href=" & Chr$(34) & "\\cv-vfl-d01\dlr_office\...
...