Использование VBA для сохранения файла Excel и гиперссылка на сохраненный файл - PullRequest
0 голосов
/ 08 апреля 2020

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

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

Private Sub CommandButton1_Click()

 Application.ScreenUpdating = False
 Dim copySheet As Worksheet
 Dim pasteSheet As Worksheet

 Set copySheet = Worksheets("Form")
 Set pasteSheet = Worksheets("Logs")

 copySheet.Range("I3").Copy
 pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
 copySheet.ExportAsFixedFormat Type:=xlTypePDF, _
 Filename:="C:\Users\username\Documents\Saved PDF.pdf"

End sub

Он также экспортирует лист формы в виде файла PDF. Однако я хочу, чтобы гиперссылка этого сохраненного PDF-файла была помещена на лист журналов. Допустим, номер Do c находится в столбце A, я хочу, чтобы гиперссылка была в столбце B в той же строке, что и номер Do c.

1 Ответ

0 голосов
/ 08 апреля 2020

Попробуйте это ..

Sub log()
    Application.ScreenUpdating = False

    Dim wb As Workbook, srcSh As Worksheet, dstSh As Worksheet
    Dim src As Range, dst As Range, pth$, docNm$

    Set wb = ThisWorkbook
    Set srcSh = wb.Worksheets("Form")
    Set src = srcSh.[I3]
    Set dstSh = wb.Worksheets("Logs")
    Set dst = dstSh.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 2)

    docNm = "Log" & " - " & src
    pth = Environ("userprofile") & "\Documents\" & docNm & ".pdf"

    srcSh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pth

    dst(1) = src: dstSh.Hyperlinks.Add dst(2), pth, , "Open PDF", "Log"

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