Excel精英培训网

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

[已解决]VBA 使用当前日期作为文件名时出错,急求帮助!在线等!

[复制链接]
发表于 2012-9-4 09:21 | 显示全部楼层 |阅读模式
求大家帮忙看看下面的语句哪里出错了,显示Set wb = Workbooks.Open(Path & Name)  有问题,但是我查不出来问题在哪里:


dim Name as string
dim path as string
dim wb as workbook


Name = "DTR原始数据" & Format(Now, "YYYY年MM月DD日") & ".xls"

Path = ThisWorkbook.Path & "\"

Set wb = Workbooks.Open(Path & Name)

msgbox wb.fullname

wb.close





最佳答案
2012-9-4 10:03
你确认文件存在不?
  1. Sub s1()
  2.     Dim Name As String
  3.     Dim Path As String
  4.     Dim wb As Workbook
  5.    
  6.     Name = "DTR原始数据" & Format(Now, "YYYY年MM月DD日") & ".xls"
  7.     Path = ThisWorkbook.Path & ""
  8.    
  9.     On Error Resume Next
  10.     Set wb = Workbooks.Open(Filename:=Path & Name)
  11.     If wb Is Nothing Then
  12.         MsgBox "文件不存在"
  13.         Exit Sub
  14.     Else
  15.         MsgBox wb.FullName
  16.     End If
  17.     wb.Close
  18. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-9-4 09:45 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-9-4 10:00 | 显示全部楼层
看附件,我想可能这个语法有问题,就是说使用set wb不能直接打开一个文件
error.JPG
回复

使用道具 举报

发表于 2012-9-4 10:03 | 显示全部楼层    本楼为最佳答案   
你确认文件存在不?
  1. Sub s1()
  2.     Dim Name As String
  3.     Dim Path As String
  4.     Dim wb As Workbook
  5.    
  6.     Name = "DTR原始数据" & Format(Now, "YYYY年MM月DD日") & ".xls"
  7.     Path = ThisWorkbook.Path & ""
  8.    
  9.     On Error Resume Next
  10.     Set wb = Workbooks.Open(Filename:=Path & Name)
  11.     If wb Is Nothing Then
  12.         MsgBox "文件不存在"
  13.         Exit Sub
  14.     Else
  15.         MsgBox wb.FullName
  16.     End If
  17.     wb.Close
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-9-4 10:04 | 显示全部楼层
嗯,我加了一句就好了 Open Path & Name For Output As #1
看看还有没有别的问题,谢谢热心了...
回复

使用道具 举报

 楼主| 发表于 2012-9-4 11:14 | 显示全部楼层
hwc2ycy 发表于 2012-9-4 10:03
你确认文件存在不?

高人啊,高人!多谢了,的确如此,文件没有创建,但是我运行时怎么文件是只读呢?
回复

使用道具 举报

发表于 2012-9-4 12:00 | 显示全部楼层
杨晨 发表于 2012-9-4 11:14
高人啊,高人!多谢了,的确如此,文件没有创建,但是我运行时怎么文件是只读呢?

只读?你F8分步运行,看看本地窗口的监视。
回复

使用道具 举报

 楼主| 发表于 2012-9-5 11:23 | 显示全部楼层
好,我知道了,估计是这两句同时打开一个文件的缘故

openPath & Name for output as #1
Set wb = Workbooks.Open(Filename:=)

,创建一个excel文件我还不是很会弄,可能需要再学习一下,你知道吗?我就是想先检查有没有这个文件,如果有就打开,否者创建一个后然后打开
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 09:25 , Processed in 0.444211 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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