Я пытаюсь запустить макрос через гиперссылку на сгенерированном листе.
Как правило, это делается так, как показано здесь . Этот метод требует, чтобы пользователь вручную ссылался на ячейку, через которую он хочет запустить гиперссылку. Я могу заставить этот метод работать при тестировании, но я не могу сделать это на сгенерированном рабочем листе. У меня есть внедрение кода в сгенерированный лист, уже написанный и протестированный ( credit ) ( credit ):
Sub CreateEventProcedure()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
Const DQUOTE = """" ' one " character
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents(Worksheets("##WORKSHEET NAME##").CodeName)
Set CodeMod = VBComp.CodeModule
With CodeMod
LineNum = .CreateEventProc("FollowHyperlink", "Worksheet")
LineNum = LineNum + 1
.InsertLines LineNum, " ###INJECTED CODE GOES HERE##"
End With
End Sub
Я попытался создать гиперссылку безудача:
with ws
.Hyperlinks.Add _
Anchor:=.Range(.Cells(1, loc), .Cells(1, loc)), _
Address:="'", _
SubAddress:="'" & ws.Name & "'!" & .Range(.Cells(1, loc), .Cells(1, loc)).Address
end with
Следует отметить, что конечные местоположения, отображаемые при наведении на текст, являются точно такими же .
Любая идея, как скопировать ручной метод гиперссылкиот поколения к макросам?