Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2733|回复: 2

[已解决]相对路径下一级文件夹路径执行时报错

[复制链接]
发表于 2014-1-26 22:21 | 显示全部楼层 |阅读模式
本帖最后由 bosao 于 2014-1-28 10:42 编辑

需求:根据单元格的内容进行判断,凡含有“G”开头的单元格,在激活该单元格时自动显示以该单元格内容命名的图片

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each im In ActiveSheet.Pictures
im.Delete  '删除所有图片
Next
mc = ActiveCell.Value    '定义mc为激活单元格值
If mc Like "G*" Then     '如果名字以G开头
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" & Application.PathSeparator & mc & ".JPG"  
Set p = ActiveSheet.Pictures.Insert(sPictureName)
p.Left = Target.Left + Target.Width  '目标宽度
p.Top = Target.Top    '目标高
End If
End Sub

如果图片与工作薄在同一文件夹下,执行以下语句,没有出现问题
sPictureName = ThisWorkbook.Path & Application.PathSeparator & mc & ".JPG"
但图片在相对路径下的图库文件夹下,执行上文红色代码时报错,请问此时路径表示为
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" & Application.PathSeparator & mc & ".JPG" 错在哪呢?
最佳答案
2014-1-27 08:12
这个应该没关系吧。
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" & Application.PathSeparator & mc & ".JPG"

\和这里的application.pathseparator是相等的。
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" &  mc & ".JPG"
这样试试
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-1-27 08:12 | 显示全部楼层    本楼为最佳答案   
这个应该没关系吧。
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" & Application.PathSeparator & mc & ".JPG"

\和这里的application.pathseparator是相等的。
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" &  mc & ".JPG"
这样试试
回复

使用道具 举报

 楼主| 发表于 2014-1-27 11:34 | 显示全部楼层
谢谢版主解答。
将原代码改后可执行了,但版主的代码更加简洁明了,二者等效
sPictureName = ThisWorkbook.Path & "\图库\" & Application.PathSeparator & mc & ".JPG"
sPictureName = ThisWorkbook.Path & "\" & "图库" & "\" &  mc & ".JPG"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 18:49 , Processed in 0.375234 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表