将鼠标悬停在文本/链接上可以显示内部存储在该excel文件中的图像,而不是外部图像(VBA)

时间:2019-01-18 10:09:06

标签: excel vba

我有一个悬停的文本,以显示存储在外部的图像,即在我的excel工作表之外,该图像非常有用,这要归功于我对user1274820的回答(Hover preview over excel image link进行了一些修改)

但是,我刚刚意识到这将不符合我的需求,因为服务器之外的电子表格用户将无法看到那些链接的图像。

以下是代码:

Dim DoOnce As Boolean
Public Function OnMouseOver(URL As String)
If Not DoOnce Then
    DoOnce = True
    'With ActiveSheet.Pictures.Insert(URL)
    With ThisWorkbook.Sheets("HOME").Pictures.Insert(URL)
        With .ShapeRange
            .LockAspectRatio = msoTrue
            .Width = 75
            .Height = 100
        End With
        .Left = Cells(1, 13).Left
        .Top = Cells(11, 1).Top
        .Placement = 1
        .PrintObject = True
    End With
End If
End Function

Public Function Reset()
If DoOnce Then
    DoOnce = False
'    ActiveSheet.Pictures.Delete
    'For Each pic In ActiveSheet.Pictures
     For Each pic In ThisWorkbook.Sheets("HOME").Pictures
     If InStr(1, pic.Name, "vincents") = 0 Then pic.Delete
     Next pic
End If
End Function

这是分配给上述宏的K14和K16中的公式(例如K14):

=IFERROR(HYPERLINK(OnMouseOver("C:\(etc)...." & H14),"View " & H14 & "'s image"), H14 & "'s image is not available")

Then, the =HYPERLINK(Reset()) is in cells all over around those two cells

是这样的:

Hovering for images spreadsheet

我正在寻找但难以解决的解决方案:

我希望能够将鼠标悬停在单元格K14和K16上的文本上,以显示存储在同一excel工作表中另一张表中的图像(以便服务器外部的外部用户也可以看到这些图像)。我将这些图像命名为Person1的图像将是Person1。

我尝试修改URL字符串以尝试接收图像的名称,但是由于使用了超链接公式,因此显然无法正常工作。我还尝试链接到此处https://www.youtube.com/watch?v=wZMrOOU9iXs上的图像,但是不太正确。

解决方案,好吗? :(

0 个答案:

没有答案