如何在vba中将字符串定义为目录

如何在vba中将字符串定义为目录,vba,outlook,Vba,Outlook,我需要设置一个目录,但我需要它是可变的。 在下面的示例中,我想用我的电子邮件主题的名称创建一个文件夹。然后设置所创建文件夹的路径。 使用下面的脚本,它不会将我的电子邮件保存到我创建的文件夹中。你能帮忙吗 N1 = oMail.Subject On Error Resume Next MkDir "C:\Users\meti\Desktop\E" & N1 On Error GoTo 0 sPath = "C:\Users\meti\Desktop\E" & N1 Debug.P

我需要设置一个目录,但我需要它是可变的。 在下面的示例中,我想用我的电子邮件主题的名称创建一个文件夹。然后设置所创建文件夹的路径。
使用下面的脚本,它不会将我的电子邮件保存到我创建的文件夹中。你能帮忙吗

N1 = oMail.Subject
On Error Resume Next
MkDir "C:\Users\meti\Desktop\E" & N1
On Error GoTo 0

sPath = "C:\Users\meti\Desktop\E" & N1
Debug.Print sPath & sName
oMail.SaveAs sPath & sName, olMSG

多亏了大家,我找到了一条路。如果有更好的方法,请给我你的意见,我将不胜感激

On Error Resume Next
MkDir "C:\Users\mwx391225\Desktop\Email" & Format(Now, "dd-mmm-yy h-mm")
On Error GoTo 0

sPath = "C:\Users\mwx391225\Desktop\Email" & Format(Now, "dd-mmm-yy h-mm") & "\"
Debug.Print sPath & sName
oMail.SaveAs sPath & sName, olMSG

欢迎来到堆栈溢出。您试图做的事情总是有问题的,因为您不能依赖电子邮件主题是“安全的”-例如,如果它包含反斜杠字符或引号怎么办?是的,您可以,请在MkDir创建staticNow=Now之前显示更多代码或完整代码。用staticNow替换代码中的Now。