VBA里,workbook.path不是全名,而workbook.fullname才是。而file.path就是全名,没有file.fullname

1 VBA 和 Application--Excel下的命名系统 

2.1 workbooks 工作簿有fullname属性

fullname= path+ "\" + name

  • ThisWorkbook.FullName     文件全名
  • ThisWorkbook.Path             文件路径
  • ThisWorkbook.Name           文件名
  • ThisWorkbook.FullName  =   ThisWorkbook.Path  + "\"  +  ThisWorkbook.Name

 

 

2 但是 fso下的file 没有fullname 属性,file.path 就是完整名字了

  • file.FullName     错误,没这个fullname属性
  • file.Path             文件路径,就是文件全名
  • file.Name           文件名

Sub test_wb11()
'比较wb的名字  和 一般file的名字


Dim fso1 As Object
Dim fd1 As Object

Set fso1 = CreateObject("scripting.filesystemobject")
Set fd1 = fso1.GetFolder(ThisWorkbook.Path)

For Each i In fd1.Files
    If i Like "*.xlsm" Then
         Debug.Print i.Name
         Debug.Print i.Path    'workbook工作簿的名字不一样
         Debug.Print i.Path & "\" & i.Name    '这样做重复而多余
'         Debug.Print i.FullName   '会报错
    End If
Next
Debug.Print ""

For Each j In Workbooks
    Debug.Print j.Name
    Debug.Print j.Path
    Debug.Print j.FullName             'wb有fullname属性
    Debug.Print j.Path & "\" & j.Name  'wb工作簿的fullname=path+ "" + name 是有意义的
    
Next

End Sub
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值