Я использую следующий код, однако, файл PDF загружается несмотря на ячейку "BX3" с выбранным "Word" - PullRequest
0 голосов
/ 12 февраля 2020

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

Sub Download_Click ()

Dim response response = MsgBox ( «Вы уверены, что хотите загрузить форму?», VbYesNo, «Сохранить форму») Если response = vbNo, то выйти из под-конца, если

Dim WS1 As Set Sheets Set WS1 = Sheets («Вывод данных») Dim CustRow , CustCol, lastRow, TemplRow, Ссылка, RefRow As Long Dim DocLo c, TagName, TagValue, TemplName, FileName As String Dim CurDt, LastAppDt в качестве даты Dim WordDo c, WordApp, OutApp, OutMail в качестве объекта Dim WordContent в качестве слова .Range

TemplRow = WS1.Range("CI1").Value
TemplName = WS1.Range("BV3").Value
Reference = WS1.Range("CA3").Value
DocLoc = WS1.Range("CG2").Value

On Error Resume Next
Set WordApp = GetObject("Word.Application")
If Err.Number <> 0 Then
Err.Clear
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
End If

lastRow = WS1.Range("A9999").End(xlUp).Row
    CustRow = Reference + 2
                Set WordDoc = WordApp.Documents.Open(FileName:=DocLoc, ReadOnly:=False)
                For CustCol = 1 To 70
                    TagName = WS1.Cells(2, CustCol).Value
                    TagValue = WS1.Cells(CustRow, CustCol).Value
                        With WordDoc.Content.Find
                           .Text = TagName
                           .Replacement.Text = TagValue
                           .Wrap = wdFindContinue
                           .Execute Replace:=wdReplaceAll
                        End With

                Next CustCol

                If WS1.Cells("BX3").Value = "PDF" Then
                    FileName = ThisWorkbook.Path & "\" & WS1.Range("B" & CustRow).Value & "_" & WS1.Range("C" & CustRow).Value & ".pdf"
                    WordDoc.ExportAsFixedFormat OutputFileName:=FileName, ExportFormat:=wdExportFormatPDF
                    WordDoc.Close False
                Else
                   FileName = ThisWorkbook.Path & "\" & WS1.Range("B" & CustRow).Value & "_" & WS1.Range("C" & CustRow).Value & ".docx"
                   WordDoc.SaveAs FileName
                End If

    WordApp.Quit

MsgBox («Ваша форма была загружена».)

End Sub

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