【发布时间】:2020-10-16 04:06:19
【问题描述】:
大图
- 浏览列表并为列表中的每个项目创建一个选项卡(工作中)
- 在列表中创建一个超链接,链接到关联的工作表 (Working)
- 在每个工作表上创建基本标题信息并超链接回索引表(工作)
- 为索引表中相应单元格中列出的每个参考文献插入一个按钮(工作)
- 为打开 pdf、doc 或 docx 文件的按钮单击添加超链接(不工作,正在进行中)
当前问题
根据按钮名称,文件将存储在 3 个目录中的 1 个目录中。虽然按钮名称是文件名的唯一部分,但文件名和扩展名可能在 doc 和 docx 之间有所不同。
我有三种按钮名称格式
F-1010
F-0400-01
928
在第一种情况下,我可以生成确切的完整文件名,因为文件都是F-1010.pdf 格式
在第二种情况下,文件名将以按钮名称开头,然后是附加文本,然后是 Word 文档扩展名的变体:F-0400-01 abc def.doc 或 F-0400-01 abc def.docx
在第三种情况下,文件名将以 OPSS 开头,有时后面是一些文本,然后是按钮名称,然后是一堆文本,并以 .pdf 结尾:OPSS 928 abc.pdf 或 OPSS.MUNI 928 abc.pdf
我尝试在字符串中使用通配符,但这不起作用。
Sub btnClick()
Dim btnName As String
Dim FPath As String
'btnName = Application.Caller
btnName = "F-0400-01" 'assigned name for testing purposes
If Left(btnName, 1) = "F" Then
If Num_Characters_In_String(btnName, "-") = 2 Then
FPath = "P:\2019\1234 Folder\08. Working\Specifications\Section F" & btnName & "*.doc*"
Else
FPath = "P:\2019\1234 Folder\10. Construction\01. Tender\F\" & btnName & ".pdf"
End If
Else
FPath = "P:\2019\1234 Folder\10. Construction\01. Tender\OPSS\OPSS*" & btnName & "*.pdf"
End If
ThisWorkbook.FollowHyperlink FPath
End Sub
第二种和第三种情况的错误
我阅读了this question 和this question 来了解我的位置
问题
如何正确构建路径?如何打开各种文件类型?
【问题讨论】: