【发布时间】:2020-06-04 00:17:47
【问题描述】:
我正在努力获取既可以导出 PDF 又可以创建指向它们的超链接的代码。简而言之,我将有多张纸。其中之一将是指向其他工作表的 PDF 版本的链接。
我正在创建超链接,但我遇到了错误我看到的每个指南都使用固定值来创建超链接,所以我尝试使用变量来创建它们都失败了。
这是我尝试过的代码。注释掉的部分是我的第一次尝试,而 with 循环是我的第二次尝试。
编辑:第一次尝试用 =hyperlink(CONCATENATE(link.value,own.value),own.value) 而不是值填充单元格。 第二次尝试
第二次尝试是运行时错误“1004”: 应用程序定义或对象定义的错误高亮显示
.Hyperlinks.Add Anchor:=main, _
Address:=Worksheets("Control Sheet").Range("a1").Value, _
TestToDisplay:=own
代码部分。
控制表 a1 的值为 C:\Users\BRL\Desktop\doc 审批表\文件导入测试\ 目前这是我正在测试文件的地方。但是我计划在我锁定它时将它移到我们的目录中。 在我让它工作之前,我不想让它变得更复杂,但它需要是 C:\Users\BRL\Desktop\doc 审批表\文件导入测试**own****own.value.pdf**
own 是将导出为 PDF 的工作表的名称(尚未敲定)
Sub Makenewsheet(own As Range)
Application.ScreenUpdating = False
Sheets("Template").Select
Sheets("Template").Copy After:=Sheets(4)
ActiveSheet.NAME = own.Value
Worksheets("Main Page").Activate
Dim link As String
link = Worksheets("Control Sheet").Cells(1, 1).Value
MsgBox link
Dim mainpage As Range
Dim main As Range
Set mainpage = Worksheets("Main Page").Range("a5:a22")
For Each main In mainpage
If IsEmpty(main) = True Then
'main.Formula = "=hyperlink(CONCATENATE(link.value,own.value),own.value)"
With Worksheets(1)
.Hyperlinks.Add Anchor:=main, _
Address:=Worksheets("Control Sheet").Range("a1").Value, _
TestToDisplay:=own
End With
GoTo maingame:
End If
Next main
maingame:
Worksheets("Control Sheet").Activate
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
Worksheets("Control Sheet").Range("a1").Value的示例值是多少? -
我不认为这是你的问题,但
TestToDisplay:=own感觉不对,不应该是带有 X 的TeXtToDisplay? -
“我有错误”并不是对您遇到的确切问题或代码中出现问题的非常有用的描述。