Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 检查文件是否打开_Vba_Ms Word_Word 2007 - Fatal编程技术网

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总是让我感到惊讶。