【问题标题】:Hover preview over excel image link将预览悬停在 Excel 图像链接上
【发布时间】:2017-05-11 18:29:12
【问题描述】:

我想知道是否可以通过将鼠标光标悬停在 excel、Google 表格或任何电子表格编辑器中的图片网址上来预览图片链接。

【问题讨论】:

  • 该问题不符合How to Ask 上的指导方针。 IE。太宽泛了。

标签: excel vba google-sheets


【解决方案1】:

你让我好奇,所以我调查了这个。

答案是,是的 - 它需要一点 VBA 并且有点 hacky,但是您可以这样做。

首先,在 Excel 中对单元格悬停进行任何操作都有些 hacky。

为此,我们使用单元格的HYPERLINK 公式。

=HYPERLINK(OnMouseOver("http://i.imgur.com/rQ5G8sZ.jpg"),"http://i.imgur.com/rQ5G8sZ.jpg")

在这种情况下,我的公式中有一张暴躁猫图片的 URL。

我还将这个链接传递给我创建的名为OnMouseOver的函数

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

最后,为了在我们悬停时清除它,我们必须在它附近的其他单元格中放置一些公式。

=HYPERLINK(Reset())

以及相关的功能:

Public Function Reset()
If DoOnce Then
    DoOnce = False
    ActiveSheet.Pictures.Delete
End If
End Function

结果:

编辑

通过多个链接对此进行扩展。

我们可以同时传递一个单元格引用来使用多个链接来执行此操作,并让它们出现在单元格旁边。

Dim DoOnce As Boolean
Public Function OnMouseOver(URL As String, TheCell As Range)
Reset
If Not DoOnce Then
    DoOnce = True
    With ActiveSheet.Pictures.Insert(URL)
        With .ShapeRange
            .LockAspectRatio = msoTrue
            .Width = 300
            .Height = 200
        End With
        .Left = Cells(TheCell.Row, TheCell.Column + 1).Left
        .Top = Cells(TheCell.Row, TheCell.Column + 1).Top
        .Placement = 1
        .PrintObject = True
    End With
End If
End Function

Public Function Reset()
If DoOnce Then
    DoOnce = False
    ActiveSheet.Pictures.Delete
End If
End Function

【讨论】:

  • 大声笑我喜欢猫。那是一些聪明的编码谢谢兄弟帮助我很多
  • 当单元格中有多个链接时,有没有办法快速将公式添加到链接中
  • 非常好的 VBA,但是多个链接编辑对我不起作用,在测试它时,我注意到“TheCell As Range”是问题,无法解决:/
  • 您必须将单元格的引用添加到您的HYPERLINK 代码中。基本上使用HYPERLINK(OnMouseOver("http://url.to.image",A1),"Hyperlink Text") 其中A1 是您将代码放入的单元格。
  • @user1274820 哦,成功了!非常感谢!和往常一样,我在简单的可能性之前考虑混乱的可能性,认为是 VBA 上的东西...... -.-'。我什至没想到他的脚本可以接受引用,昨天的 Excel 甚至没有显示#VALUE!单元格上的错误,仅在今天......本来是向我提示错误的好机会......但是,毕竟我的错,因为我已经很长时间没有更新它了。 ¬¬' 无论如何,我真的很感谢你的帮助,谢谢。 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 2014-06-08
  • 2015-03-03
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 2013-10-16
相关资源
最近更新 更多