#excel #vba
Вопрос:
Я пытаюсь обновить лист, экспортировать его в PDF-файл и поместить гиперссылку на этот PDF-файл. Проблема в том, что гиперссылка не работает. Я не могу найти руководство о том, как сделать гиперссылку на местоположение и имя, чтобы они были переменными, а не фиксированными значениями.
Я пробовал .имя и .значение. Также просто оставляю его в strPathFIle. Но всегда получаю ошибку в адресе.
Sub PDFActiveSheet()
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strName As String
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myfile As Variant
Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
'get active workbook folder, if saved
strPath = Worksheets("Control Sheet").Cells(1, 1).Value amp; "Sheets"
If Right(strPath, 1) <> "" Then strPath = strPath amp; ""
'replace spaces and periods in sheet name
strName = Replace(wsA.Name, " ", "_")
strName = Replace(strName, ".", "_")
'create default name for savng file
strFile = strName amp; ".pdf"
strPathFile = strPath amp; strFile
'export to PDF if a folder was selected
If myfile <> "False" Then
wsA.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strPathFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Worksheets("Main Page").Activate
Dim Departments As Range
Dim dep As Range
Set Departments = Worksheets("Main Page").Range("a5:a7") 'make this much larger for final
For Each dep In Departments
MsgBox wsA.Name amp; " amp; " amp; dep.Value
If dep.Value = wsA.Name Then
With Worksheets(1)
.Hyperlinks.Add Anchor:=dep.Value, _
Address:=strPathFile.Value, _
ScreenTip:=wsA.Name, _
TextToDisplay:=wsA.Name
End With
GoTo depgame
End If
Next dep
MsgBox "this didnt work"
depgame:
Комментарии:
1.
strPathFile
является строкой, у нее нет.value
свойства, не уверен, что это ваша проблема2. Также
Anchor
требуется диапазон или форма,dep.value
это строка.