EXCEL中VBA代码关闭XLS文件后,VBA编辑器中有XLS残留怎么办?
VBA代码打开"反馈.XLS"使用完毕后,VBA编辑器中还有这个文件,代码再循环一遍,VBA编辑器中这个文件的名字就变成2个了,越来越多.实际上这个文件里根本没有代码.这...
VBA代码打开"反馈.XLS"使用完毕后,VBA编辑器中还有这个文件,
代码再循环一遍,VBA编辑器中这个文件的名字就变成2个了,越来越多.
实际上这个文件里根本没有代码.这种情况怎么处理?
WIN7 64位,
OFFICE 2003
请问这个问题怎么解决,另外想知道在XP下会不会出现这个问题.
类似的问题又出现了.这回代码比较简单请大家帮忙看看.
VBA编辑器里出现了大量的VBA Project (存栈单号记录.xls)
Sub clearSerialXls()
'If openXls("存栈单号记录.xls") = "" Then Exit Sub
Workbooks.Open "存栈单号记录.xls"
Dim i As Long, j As Long, k As Long
j = Workbooks("存栈单号记录.xls").Worksheets("存栈单号记录").Range("a65536").End(xlUp).row
If j > 50000 Then
j = j - 50000
For i = 1 To j
Workbooks("存栈单号记录.xls").Worksheets("存栈单号记录").Rows.Delete
Next
End If
Workbooks("存栈单号记录.xls").Close True
End Sub 展开
代码再循环一遍,VBA编辑器中这个文件的名字就变成2个了,越来越多.
实际上这个文件里根本没有代码.这种情况怎么处理?
WIN7 64位,
OFFICE 2003
请问这个问题怎么解决,另外想知道在XP下会不会出现这个问题.
类似的问题又出现了.这回代码比较简单请大家帮忙看看.
VBA编辑器里出现了大量的VBA Project (存栈单号记录.xls)
Sub clearSerialXls()
'If openXls("存栈单号记录.xls") = "" Then Exit Sub
Workbooks.Open "存栈单号记录.xls"
Dim i As Long, j As Long, k As Long
j = Workbooks("存栈单号记录.xls").Worksheets("存栈单号记录").Range("a65536").End(xlUp).row
If j > 50000 Then
j = j - 50000
For i = 1 To j
Workbooks("存栈单号记录.xls").Worksheets("存栈单号记录").Rows.Delete
Next
End If
Workbooks("存栈单号记录.xls").Close True
End Sub 展开
4个回答
展开全部
你这个是因为你打开“反馈”这个excel的时候新建了一个excel容器,然后在打开文件,退出的时候没有关闭这个excel容器。你可以在任务管理器里面看到也有多个excel进程的。一般application.Quit可以关掉。把你怎么打开文件的语句发给我看看。怎么打开的后面就要有对应的怎么关闭退出。
追问
我没有用容器.容器跨文件读数据太慢了.我用的是Workbooks.Open pathName & fileName
关闭的时候用的是
workbooks("反馈.xls"),save
workbooks("反馈.xls"),close
屏幕上打开的表格被关闭了.证明我没忘了关闭命令.但VBA编辑器里居然还有
追答
你的openXls显然是一个functions,问题应该出在这个上面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我自己装的就是Win7 64位旗舰 + OFFICE2003,所有的代码运行情况跟XP下无异。
不一定要反馈.xls工作薄里面有代码才会出现这个问题。
出现问题的代码一定是你那段打开“反馈.xls”的VBA代码有问题。
不知道你的代码里面是不是有类似语句:
【前期绑定】
set wb = Workbooks.Open(Thisworkbook.path & "\反馈.xls")
...
如果有,那么你要检查在最后是不是有:
wb.close True
或者wb.Close
等等之类的关闭该工作簿的语句,如果没有,那么就会出现问题。
【后期绑定】
set xlapp = createobject("Excel.application")
或者set xlapp = getobject("Excel.application")
set wb = xlapp.workbooks.open(Thisworkbook.path & "\反馈.xls")
。。。
如果是后期绑定,那么要检查后面是否有
wb.Close之类的语句!
第三种可能是反馈工作簿有严重错误,在关闭时无法正常关闭,但这种情况的可能性应该很低!
最好能贴上代码,或者提供附件,否则,大家也很难判断!
不一定要反馈.xls工作薄里面有代码才会出现这个问题。
出现问题的代码一定是你那段打开“反馈.xls”的VBA代码有问题。
不知道你的代码里面是不是有类似语句:
【前期绑定】
set wb = Workbooks.Open(Thisworkbook.path & "\反馈.xls")
...
如果有,那么你要检查在最后是不是有:
wb.close True
或者wb.Close
等等之类的关闭该工作簿的语句,如果没有,那么就会出现问题。
【后期绑定】
set xlapp = createobject("Excel.application")
或者set xlapp = getobject("Excel.application")
set wb = xlapp.workbooks.open(Thisworkbook.path & "\反馈.xls")
。。。
如果是后期绑定,那么要检查后面是否有
wb.Close之类的语句!
第三种可能是反馈工作簿有严重错误,在关闭时无法正常关闭,但这种情况的可能性应该很低!
最好能贴上代码,或者提供附件,否则,大家也很难判断!
更多追问追答
追问
没有绑定.用的是WORKBOOKS.OPEN打开文件的.前台打开,最后文件消失了应该证明我没有忘记关闭文件.但VBA编辑器里有残留.
追答
如果你代码最后没有
workbooks("反馈.xls").close true
那么你的工作簿就没有关闭
加我腾1346讯7914,把附件传给我看
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是金山毒霸的文档保护惹的祸。我曾经发现这个情况。
追问
我倒是安了金山卫士,但平时是没运行的.在任务管理器里也没找到可疑进程.暂时没法清除金山来判断是不是这个原因.回头另找个电脑试试吧.
毒霸倒是安过.现在已经卸载了.现在用的是微软MSE
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好安装 64位版本的 Office 系统。
XP下面的Office 2003 没有出现过这个情况。
我在win 7 64位下安装的 office 2013 64位版本也没有出现这个情况 。
XP下面的Office 2003 没有出现过这个情况。
我在win 7 64位下安装的 office 2013 64位版本也没有出现这个情况 。
追问
工作需要只能用2003.貌似2003也没有64位版本吧.回头找个XP试试吧.
追答
win7 64位操作系统 office 2013(64位)下,EXCEL 97-2003文件(.XLS)中VBA是可以运行的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询