有没有一种方法可以将任何文件保存到vba中的特定文件夹?

时间:2019-07-15 15:57:39

标签: vba ms-access access-vba

我正在寻找一种vba功能,该功能可以获取从电子邮件中保存和下载的文件,并将该pdf文件保存在特定文件夹下。是否有一些vba代码或功能可以执行此功能。用户应该能够首先下载文件,这样至少可以在下载中进行。他们只需要选择文件,它就应该上传到正确的文件夹中。

我尝试查找,但是在线只有代码可以在线上传文件。

我希望有办法做到这一点。我将感谢能解决这个问题的传说。

1 个答案:

答案 0 :(得分:0)

由于文件的源位置是已知的(假设您正在提示用户选择要移动的文件),尽管您在问题中提到了三个截然不同的操作(“保存文件” / “下载文件” / “上传文件” ),我相信任务纯粹是将文件移动到目标位置。

在VBA中最简单的方法是使用Name语句,例如:

Dim srcFnm As String: srcFnm = "YourFile.pdf"
Dim srcPth As String: srcPth = "C:\YourSourceFolder"
Dim tarPth As String: tarPth = "C:\YourTargetFolder"

Name srcPth & "\" & srcFnm As tarPth & "\" & srcFnm

来自documentation

  

Name语句重命名文件,并在必要时将其移动到其他目录或文件夹。 Name可以在驱动器之间移动文件,但是只有newpathnameoldpathname都位于同一驱动器上时,它才能重命名现有目录或文件夹。 Name无法创建新文件,目录或文件夹。

请注意,最后一行Name无法创建新文件,目录或文件夹。” ,因此您需要先确保目标文件夹存在,然后再尝试移动文件。

为此,您可以结合使用dir函数和mkdir函数,例如:

If Dir(tarPth, vbDirectory) = vbNullString Then MkDir tarPth