要搜索文件是否存在并在Excel单元格中保留Y或N的宏?

要搜索文件是否存在并在Excel单元格中保留Y或N的宏?,excel,vba,Excel,Vba,如果文件存在,我试图用Y或N填充excel中的单元格。。我想我需要一个宏,因为我不确定公式是否有效。如果我的文件名为\xyzmedia\08242018abcapp\wyoming\archive,并且将位于单元格C10中;我可以使用什么代码用Y或N填充特定excel单元格?在这个特殊的例子中,让我们假设单元格D10。我每天大约要做8个文件,所以有8个单元格需要更新。理想情况下,我希望它们都通过相同的宏更新 如果我还可以在工作表上嵌入一个“搜索文件”按钮来运行宏,那将是令人惊讶的 日期每天都在变

如果文件存在,我试图用Y或N填充excel中的单元格。。我想我需要一个宏,因为我不确定公式是否有效。如果我的文件名为\xyzmedia\08242018abcapp\wyoming\archive,并且将位于单元格C10中;我可以使用什么代码用Y或N填充特定excel单元格?在这个特殊的例子中,让我们假设单元格D10。我每天大约要做8个文件,所以有8个单元格需要更新。理想情况下,我希望它们都通过相同的宏更新

如果我还可以在工作表上嵌入一个“搜索文件”按钮来运行宏,那将是令人惊讶的

日期每天都在变化,所以我猜我必须每周手动更改5个宏中的日期,这很好。但是有解决办法吗?同样,如果不是,完全可以

我不知道我在做什么,因为我对宏非常陌生。。但是在做了一些研究之后,也许代码会是这样的??():

子测试()
内容=输入框(\\xyzmedia\08242018abcapp\wyoming\archive,“原始数据文件”)
范围(“A1”)。值=内容
如果是Dir(“thesentence”)“那么
D10=“Y”
其他的
D10=“N”
如果结束
端接头

请帮忙!谢谢

这里有一些代码给你。。。。。。帮点忙

'To check if a particular file exists
'excelFile = False, if it is not an Excel file that is being checked
Public Function isAnExistingFile(ByVal fileNameStr As Variant, Optional ByVal excelFile As Boolean = True) As Boolean
Dim wb As Workbook

isAnExistingFile = True
On Error Resume Next
If Not VarType(fileNameStr) = vbString Then
    isAnExistingFile = False
ElseIf Len(fileNameStr) = 0 Then
    isAnExistingFile = False
ElseIf Len(Dir(fileNameStr)) = 0 Then
    isAnExistingFile = False
ElseIf ((GetAttr(fileNameStr) And vbDirectory) <> vbDirectory) = False Then
    isAnExistingFile = False
Else
    If excelFile Then
        Set wb = Application.Workbooks.Open(Filename:=fileNameStr, UpdateLinks:=0, ReadOnly:=True)
        If wb Is Nothing Then isAnExistingFile = False
        If Not wb Is Nothing Then
            wb.Close False
            Set wb = Nothing
        End If
    End If
End If
Err.Clear: On Error GoTo 0

End Function
”以检查特定文件是否存在
'excelFile=False,如果它不是正在检查的Excel文件
公共函数isAnExistingFile(ByVal fileNameStr为变量,可选ByVal excelFile为Boolean=True)为Boolean
将wb设置为工作簿
isAnExistingFile=True
出错时继续下一步
如果不是VarType(fileNameStr)=vbString,则
isAnExistingFile=False
ElseIf Len(fileNameStr)=0然后
isAnExistingFile=False
ElseIf Len(Dir(fileNameStr))=0然后
isAnExistingFile=False
ElseIf((GetAttr(fileNameStr)和vbDirectory)vbDirectory)=False然后
isAnExistingFile=False
其他的
如果是Excel文件,那么
设置wb=Application.Workbooks.Open(文件名:=fileNameStr,UpdateLinks:=0,只读:=True)
如果wb为Nothing,则isAnExistingFile=False
如果不是wb什么都不是
wb.关闭错误
设置wb=Nothing
如果结束
如果结束
如果结束
错误清除:错误转到0
端函数

欢迎!请回答您的问题,说明您尝试了什么以及具体问题是什么。(这不是一个你可以提交请求并获得“免费编码服务”的网站;-)还可以看看“”中的主题以及如何创建。此外,在为你的帖子选择标签时,阅读标签描述(通过单击或将鼠标悬停在标签上)也很重要后来我想起Excel有一个从Excel 4.0遗留下来的“隐藏”工作表函数,它可能会帮助您解决这个问题。看:嗨!谢谢你的信息!我按照“检查文件夹中是否存在特定文件”的指示来到一个T形台,但仍然没有运气。我快疯了,哈哈。。不知道我做错了什么。当我引用的文件明显存在于文件夹中时,我不断收到一个#N/A错误;我甚至复制并粘贴了这些名称,并在文件夹名称的末尾添加了星号。不走运!我的匹配功能与方向完全相同,只是有我自己的文件夹名。我被困在阿什莉·道格那里了。非常感谢。我怎么投票给你
'To check if a particular file exists
'excelFile = False, if it is not an Excel file that is being checked
Public Function isAnExistingFile(ByVal fileNameStr As Variant, Optional ByVal excelFile As Boolean = True) As Boolean
Dim wb As Workbook

isAnExistingFile = True
On Error Resume Next
If Not VarType(fileNameStr) = vbString Then
    isAnExistingFile = False
ElseIf Len(fileNameStr) = 0 Then
    isAnExistingFile = False
ElseIf Len(Dir(fileNameStr)) = 0 Then
    isAnExistingFile = False
ElseIf ((GetAttr(fileNameStr) And vbDirectory) <> vbDirectory) = False Then
    isAnExistingFile = False
Else
    If excelFile Then
        Set wb = Application.Workbooks.Open(Filename:=fileNameStr, UpdateLinks:=0, ReadOnly:=True)
        If wb Is Nothing Then isAnExistingFile = False
        If Not wb Is Nothing Then
            wb.Close False
            Set wb = Nothing
        End If
    End If
End If
Err.Clear: On Error GoTo 0

End Function