Vba 检查文件是否打开
我正在Vba 检查文件是否打开,vba,ms-word,word-2007,Vba,Ms Word,Word 2007,我正在MS WordsRough.doc文件中工作,我想检查Ceemea&Latam.doc文件是否打开。应该有两种可能的输出 1。如果已经打开,则激活 2。如果没有,则打开Ceemea&Latam 使用以下代码但返回编译错误 If AlreadyOpen("C:\Documents and Settings\Administrator\Desktop\EMEA CEEMEA\CEEMEA & LATAM.doc") Then Windows("CEEMEA & LAT
MS Words
Rough.doc
文件中工作,我想检查Ceemea&Latam.doc
文件是否打开。应该有两种可能的输出
1。如果已经打开,则激活
2。如果没有,则打开Ceemea&Latam
使用以下代码但返回编译错误
If AlreadyOpen("C:\Documents and Settings\Administrator\Desktop\EMEA CEEMEA\CEEMEA & LATAM.doc") Then
Windows("CEEMEA & LATAM").Activate
Else
Documents.Open FileName:="C:\Documents and Settings\Administrator\Desktop\EMEA CEEMEA\CEEMEA & LATAM.doc"
End If
尝试此功能:
Function AlreadyOpen(filePath As String) As Boolean
Dim result As Boolean
result = False
For Each aDoc In Documents
apath = aDoc.Path + "\" + aDoc.Name
If apath = filePath Then result = True
Next aDoc
AlreadyOpen = result
End Function
尝试此功能:
Function AlreadyOpen(filePath As String) As Boolean
Dim result As Boolean
result = False
For Each aDoc In Documents
apath = aDoc.Path + "\" + aDoc.Name
If apath = filePath Then result = True
Next aDoc
AlreadyOpen = result
End Function
所以你认为既然你需要一个
AlreadyOpen
函数,那么肯定有一个,你只是尝试使用它,希望你得到正确的名称,然后它让你惊讶,出现了一个错误?所以你认为既然你需要一个AlreadyOpen
函数,那么肯定有一个,你只是尝试使用它,希望你得到正确的名称,然后,如果出现错误,您会感到惊讶吗?是否有可能在这种情况下使用if-then-else
?您可以将on error goto
部分移动到另一个函数,该函数将捕获它并返回true
或false
,但这没有什么不同。无论如何,您必须在某个地方处理异常。对于这种情况,是否有可能使用if then else
?您可以将on error goto
部分移动到另一个函数,该函数将捕获该异常,并返回true
或false
,但这没有什么不同。无论如何,您必须在某个地方处理异常。对于文档中的每个aDoc,这在第行上给了我一个“类型不匹配”错误,我想知道在定义foreach循环的行上怎么可能有一个类型不匹配,但VBA总是让我感到惊讶。这给了我一个“类型不匹配”文档中每个aDoc的行出现错误我想知道,在定义foreach循环的行上,怎么可能存在类型不匹配,但VBA总是让我感到惊讶。