【问题标题】:Macro to insert image filename into a cell将图像文件名插入单元格的宏
【发布时间】:2016-08-04 03:49:48
【问题描述】:

我已经使用了这段代码,我需要一些帮助来添加两个功能:

  1. 选中图片后在单元格中插入图片名称
  2. 创建指向此图像后跟 /picname.jpg 的文件夹的链接

这可能吗? 另一件事是在一系列单元格中使用它 我试过类似的东西

  If Target = "$D$1:$D$10" Then

但不工作..

非常感谢您的帮助。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$D$1" Or Target.Address = "$D$2" Then
        fName = Application.GetOpenFilename("Picture files (*.jpg;*.gif;*.bmp;*.tif), *.jpgs;*.gif;*.bmp;*.tif", , _
"Select picture to insert")
        If fName = "False" Then Exit Sub
        ActiveSheet.Pictures.Insert(fName).Select
        With Selection.ShapeRange
            .LockAspectRatio = msoFalse
            .Height = ActiveCell.Height
            .Width = ActiveCell.Width
            .Top = ActiveCell.Top
            .Left = ActiveCell.Left
        End With
    End If
End Sub

【问题讨论】:

    标签: excel macros vba


    【解决方案1】:

    我假设您的图片文件名变量是 fName,并且您已经将图片文件的路径作为变量(假设它称为 pName):


    要将文件名插入您可以使用(但不限于)的单元格中

    ThisWorkbook.Sheets("SheetName").Range("A1").Value = fName
    

    ActiveSheet.Range("A1").Value = fName
    

    要插入文件的链接,您可以插入超链接公式,例如

    ActiveSheet.Range("A1").Formula = "=HYPERLINK(""" & pName & fName & "")"
    

    对于目标,您可以使用 IF 语句来确保目标在所需的单元格范围内:

     If Target.Column = 4 And Target.Row <= 10 Then
    
        '// Your code here
    
    End If
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 2021-08-28
      相关资源
      最近更新 更多