gpt4 book ai didi

vba - 使用文件打开对话框添加超链接时出现运行时错误 "1004: Application-defined or object-defined error"

转载 作者:行者123 更新时间:2023-12-02 22:29:36 28 4
gpt4 key购买 nike

我在这里尝试做的总体目标是为 Excel 表单编写一个 VBA 宏,该宏使用“文件选择”对话框(特别是“Application.FileDialog(msoFileDialogOpen)”)在事件中创建超链接细胞。我这样做是为了让我可以使用“.InitialFileName”之类的参数,以便将用户直接带到我想要让他们链接的文件夹。这里的目标受众并不是 100% 精通计算机,我也不指望他们能做出平庸的事情。

尝试为他们做很多“繁重的工作”,因此结果是一致的。

无论如何,代码:

Sub InsHyperlink()
Dim ws As Worksheet

Dim rng As Range
Set rng = ActiveCell

Set ws = Sheets("Log")

Dim fd As FileDialog
Dim selectedPaths() As String
Dim I As Integer

Set fd = Application.FileDialog(msoFileDialogOpen)

With fd
.AllowMultiSelect = False
.Title = "Select your File(s)"
.InitialFileName = "\\CMI-FILE\tsk_SeamSpotWeld_TestLog _
\CompletedTestForms\"
If .Show = -1 Then
ReDim selectedPaths(.SelectedItems.Count - 1)
For I = 0 To .SelectedItems.Count - 1
selectedPaths(I) = .SelectedItems(I + 1)
With ws
.Hyperlinks.Add Anchor:=rng, Address:=selectedPaths(I), _
TextToDisplay:="File Link"
End With
Next I
End If
End With

Set fd = Nothing

End Sub

问题当然是引发这个问题的错误,

1004, application defined or object-defined error

在我自己的机器上测试这个时,这根本没有出现。只有当我将它移动到将执行该操作的机器时,我才看到这一点。

此后,我尝试了上述代码的两个不同版本,它们都在我的计算机上运行良好,但在目标计算机上以相同的方式出错。两次它都指向以 .Hyperlinks.Add Anchor:=rng

开头的行

我已经阅读了很多以此开始的错误线程,但我感觉到错误本身非常普遍。他们中的大多数人建议将范围定义为更具体的内容。

当然,问题是我〜需要〜动态引用 - 用户当前突出显示的单元格的地址,所以......该解决方案确实不可行 - 除非我有什么东西这里不太明白。

最佳答案

我已经尝试过了,它对我来说效果很好:

Option Explicit

Sub InsHyperlink()

Dim ws As Worksheet
Set ws = Worksheets(1)

Dim fd As FileDialog
Dim selectedPaths() As String
Dim I As Long

Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
.AllowMultiSelect = True
.Title = "Select your File(s)"
If .Show = -1 Then
ReDim selectedPaths(.SelectedItems.Count - 1)
For I = 0 To .SelectedItems.Count - 1
selectedPaths(I) = .SelectedItems(I + 1)
With ws
.Hyperlinks.Add Anchor:=ws.Cells(I + 1, 1), _
Address:=selectedPaths(I), TextToDisplay:="File Link"
End With
Next I
End If
End With
End Sub

看一下rng。我在用。 ws.Cells,以确保它每次给出不同的范围。

关于vba - 使用文件打开对话框添加超链接时出现运行时错误 "1004: Application-defined or object-defined error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48749365/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com