在VBA中,怎么用代码判断一个excel文本是不是打开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VBA中,怎么用代码判断一个excel文本是不是打开相关的知识,希望对你有一定的参考价值。

在一个excel文本中做了一个vBA用户窗口,点击上面一个按钮,能判断另一个excel文本是否打开,能吗?

试试
sub test()
On Error Resume Next
x = "V发运统计表.xls" '''''写需要检测的文件
Set xs = Workbooks(x)
If Err.Number = 0 Then
Biaozhi = "True" '文件已打开
Else
Biaozhi = "False" '文件未打开
End If
set xs=nothing
Err.Clear
end sub
楼上的方法在打开文件很多时,执行效率要低一些,它需要检测所有的文件,二种方法都能用,你随便选 吧追问

其实我只是想检查那个一个EXCEL文本(如:222.xls)打开没有,因为我在另外一个EXCEL里做了一个VBA用户窗口,需要往222.XLS里插入数据,需要222.XLS是打开的,不然就报错,所以我想在插入前加一个判断功能,判断222.xls是否打开了,如果没有打开,弹出MSGBOX提示打开,如果已经打开就接着执行插入,现在就是不知道判断是否打开不会弄!

追答

如果文件已经打开,你就可以不用管它了
如果文件未打开,你可以处理else后的语句,如添加打开文件语句
Application.Workbooks.Open (路径 & "222.xls")
所有语句只要放到你的按钮事件中即可
至于Biaozhi = "True"你可以删掉,我程序当中的,没高兴改

参考技术A 试试
Sub aa()
Dim x As Integer
For x = 1 To Workbooks.Count
If Workbooks(x).Name = "判断的文件名.xls" Then
MsgBox "文件已打开"
Exit Sub
End If
Next x
MsgBox "文件未打开"
End Sub
参考技术B 试试
Sub isfileopen()
Dim x As Integer
For x = 1 To Workbooks.Count
If Workbooks(x).Name = "8888.xls" Then
MsgBox "文件已打开"
Exit Sub
End If
Next x
MsgBox "文件未打开"
End Sub追问

这段代码是直接放到 双击下的按钮下吗?

追答

按钮单击即可。
Private Sub CommandButton1_Click()
Dim x As Integer
For x = 1 To Workbooks.Count
If Workbooks(x).Name = "8888.xls" Then
MsgBox "文件已打开"
Exit Sub
End If
Next x
MsgBox "文件未打开"
End Sub
如果要用双击,可用CommandButton1_DblClick事件

追问

高手,有一个EXCEL工作本“222.xls",里面有一页sheet1,在这页里 有一个按钮,点击按钮,变会把sheet1这页打印出来,请问这个按钮代码怎么加?有大侠指点下吗?就是跟EXCEL执行的打印是一样的,能吗?

Excel,VBA中,如何判断变量是不是包含特定字符串

excel单元格中可以用调用find,search的Application.WorksheetFunction公式。但vba的变量用什么方法?
现在是假定变量a="我想测试是否包含aa字符串",这个变量a中是否含有aa,如何测试??

VBA 中可以使用 这两个函数 函数啊……
也可以直接使用 另外一种 Like 函数……
如:
If A Like "*aa*" Then
MsgBox "A中有aa 这个字符串"
Else
MsgBox "A中没有aa 这个字符串"
End If
或者 使用 InStr 这个函数计算 也可以……
参考技术A if instr(1,a,"aa") >0 then
msgbox("a 包含 'aa'")

else
msgbox("a 不包含 'aa'")
end if本回答被提问者采纳

以上是关于在VBA中,怎么用代码判断一个excel文本是不是打开的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL VBA判断单元格是不是包含某字符

csv转excel,用vba实现

如何用VBA判断另1个EXCEL表是不是已经打开

vba 判断一个单元格中是不是包含某个字符串 有则执行后面的语句

excel里面我想 用VBA实现调用另一个工作簿中的数据怎么解决

vba 判断一个单元格中是不是包含某个字符串 有则执行后面的语句