Vba 检查文件夹名称变量中是否有4个子文件夹存在
我有一个每周日创建索引的程序。周日,将创建一个以日期命名的文件夹,后缀为.001。格式为YYYYMMDD.001 例如: 20130929.001 在该文件夹中创建了4个文件夹,它们的名称始终相同: 文本1 文本2 文本3 文本4 我期待有一个脚本验证文件夹正在创建,如果其中一个子文件夹不存在,那么将发送电子邮件 其想法是将脚本安排在同一日期运行,但应在创建文件夹之后运行。如果预期的文件夹已退出,则会发出通知 我的问题是处理可变日期路径的第一部分和最后一部分是一致的,但是带有日期的日期文件夹每周都会更改 N:\apps\WORLDOX\isysdb\drive\u N\Text\.001\TEXT1 如有任何建议,将不胜感激 谢谢,Vba 检查文件夹名称变量中是否有4个子文件夹存在,vba,Vba,我有一个每周日创建索引的程序。周日,将创建一个以日期命名的文件夹,后缀为.001。格式为YYYYMMDD.001 例如: 20130929.001 在该文件夹中创建了4个文件夹,它们的名称始终相同: 文本1 文本2 文本3 文本4 我期待有一个脚本验证文件夹正在创建,如果其中一个子文件夹不存在,那么将发送电子邮件 其想法是将脚本安排在同一日期运行,但应在创建文件夹之后运行。如果预期的文件夹已退出,则会发出通知 我的问题是处理可变日期路径的第一部分和最后一部分是一致的,但是带有日期的日期文件夹每周
ELM此代码检查文件夹是否存在。如果没有,我会发邮件
Sub TestFolder()
Dim fso As Object, MyFolder As String
Dim folder1 As String, folder2 As String, folder3 As String, folder4 As String
Set fso = CreateObject("Scripting.FileSystemObject")
MyFolder = "C:\ YYYYMMDD.001\"
folder1 = MyFolder & "TEXT1"
folder2 = MyFolder & "TEXT2"
folder3 = MyFolder & "TEXT3"
folder4 = MyFolder & "TEXT4"
If fso.FolderExists(folder1) = False Then
SendMail "TEXT1"
ElseIf fso.FolderExists(folder2) = False Then
SendMail "TEXT2"
ElseIf fso.FolderExists(folder3) = False Then
SendMail "TEXT3"
ElseIf fso.FolderExists(folder4) = False Then
SendMail "TEXT4"
End If
End Sub
Sub SendMail(folderName)
Dim iMsg As Object
Dim iConf As Object
Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "ddddd"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "test@gmail.com"
.From = "test@gmail.com"
.Subject = folderName & "does not exist" & " " & Date & " " & Time
.TextBody = folderName & "does not exist" & " " & Date & " " & Time
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
End Sub
如果您希望安排某些内容,那么Visual Basic for Applications就不是您想要的。VBA在托管平台(如Word或Excel)中运行。@crashmstr为什么不能在Excel文件中使用
应用程序。例如,OnTime
?@DavidZemens在应用程序未运行时,这是否有效?无论哪种方式,除非代码实际在应用程序域中执行某些操作(例如,创建或编辑Word文档),否则VBA似乎不是该作业的正确工具。@Crashstr我倾向于同意这不是该作业的正确工具,但可能是OP熟悉的唯一工具?在这种情况下,您可以使用一些VBA/VBS自动化任务调度