Excel VBA实现固定路径与单元格文件名拼接及图片导入问题
VBA路径拼接与图片导入问题
路径拼接需求与问题
我想编写VBA代码实现:将固定路径(例如\\folder1\folder2)与单元格中的文件名拼接后输出到单元格。此前超链接功能已实现,但处理本地硬盘或网络路径时遇到问题。
我使用的部分代码如下:
Worksheets("Import").Activate Dim lastLng As Long lastLng = Worksheets("Import").Range("C" & Rows.Count).End(xlUp).Row Range("A4:A" & lastLng).Formula = "=""\\folder1\folder2\folder3\Media\Pictures\""" & C4 & ""\.jpg"""
执行后单元格显示内容:
"\\folder1\folder2\folder3\Media\Pictures\" & C4 & ".jpg"
但我期望的显示效果是:
\\folder1\folder2\folder3\Media\Pictures\554682.jpg
(其中数字来自对应单元格)
更新说明
更新: 感谢Siddhart的帮助,路径显示问题已解决,但出现新问题:原本根据路径导入缩略图的代码,使用URL时正常,但本地硬盘或网络路径无法导入图片。
再次更新: 是我疏忽了,代码实际可以正常运行,抱歉打扰大家。后续可能还会提问,我正在为同事开发工具,用于基于系统导出文件快速制作包含产品及图片的分类清单。
图片导入代码及疑问
我使用的图片导入代码如下:
Private Sub CommandButton2_Click() Dim theShape As shape Dim xRg As Range Dim xCol As Long On Error Resume Next Application.ScreenUpdating = False Set rng = Worksheets("Import").Range("A4:B1000") For Each cell In rng Filename = cell If InStr(UCase(Filename), "JPG") > 0 Then Worksheets("Import").Pictures.Insert(Filename).Select Set theShape = Selection.ShapeRange.Item(1) If theShape Is Nothing Then GoTo isnill xCol = cell.Column Set xRg = Cells(cell.Row, xCol) With theShape .LockAspectRatio = msoFalse .ScaleHeight 0.1, msoTrue .ScaleWidth 0.1, msoTrue '.Width = 50 '.Height = 50 .Top = xRg.Top + (xRg.Height - .Height) / 2 .Left = xRg.Left + (xRg.Width - .Width) / 2 End With isnill: Set theShape = Nothing Range("e1").Select End If Next Application.ScreenUpdating = True Debug.Print "Done " & Now End Sub
我理解这段代码从A4到B1000单元格获取文件路径,有两个疑问:
- 是否问题出在
Filename = cell这一行? InStr(UCase(Filename), "JPG")这行判断是否必要?因为完整路径本身会包含文件格式(如jpg、png等)。
内容的提问来源于stack exchange,提问作者4Amp
相关产品推荐
相关产品推荐

