|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 zaibuo 于 2016-8-29 10:46 编辑
本人是彻底VBA白板一个,下面的代码是在网上找的,这要用来批量对应插入对象(目录名个源文件名第需是一致的)。
现在由于文件量太大,而且文件名大多是简写的,和目录的名字不一致
想请大神们帮忙看看,能不能是想模糊搜索文件的功能(文件的名字一定会包含目录里的名字)
例如:目录名为“《沈阳铁路局铁路更新改造项目竣工验收交接办法》”对应的文件名为“沈铁建设〔2014〕36号 沈阳铁路局关于印发沈阳铁路局铁路更新改造项目竣工验收交接办法的通知”
Sub 批量插入WORD对象()
Dim Ra As Range, Fn$
'设置Ra为工作表B列1到999行单元格的数据,找到Ra后跳到d列后第3列即E列,如果记录数大于9999,则9999还要改大,请自行修改公式
For Each Ra In Range("D1", [D9999].End(1))
'寻找电脑E盘下Downloads文件夹中对应工作表B列数据的文件名的doc文档,请自行修改公式
Fn = "H:\11111\制度办法\" & Ra.Text & ".doc"
'建立If循环
If Dir(Fn) <> "" Then
'由文件插入对象时设置对象源位置,是否链接到文档和显示为图标及图标位置,请自行修改公式
With ActiveSheet.OLEObjects.Add(Filename:=Fn, Link:=False, DisplayAsIcon:=True, _
IconFileName:="E:\Downloads\wordicon.exe", _
IconIndex:=0, IconLabel:=Ra & ".doc")
.Left = Ra.Offset(, 1).Left
.Top = Ra.Offset(, 1).Top
'把行高改为与图标文件一样高,图标就不会相互重叠
Ra.EntireRow.RowHeight = .Height
End With
End If
Next
End Sub
|
|