【问题标题】:Add an attachment knowing the file path but not the file name添加知道文件路径但不知道文件名的附件
【发布时间】:2015-05-01 22:32:30
【问题描述】:

使用 VBA,我一直在尝试在不知道确切文件名的情况下将目录中的所有 JPG 文件附加到电子邮件中。我尝试了这些代码行:

.Attachments.Add "C:\Desktop\Attachments\" & "*.jpg"
.Attachments.Add "C:\Desktop\Attachments\*.jpg"
.Attachments.Add "C:\Desktop\Attachments" & "\*.jpg"

这些都不起作用。我该怎么做?

【问题讨论】:

    标签: vba outlook filenames filepath


    【解决方案1】:

    试试下面的方法

     Set fso = CreateObject("Scripting.FileSystemObject")
     For Each fsoFile In fso.GetFolder("C:\Desktop\Attachments").Files
       If fso.GetExtensionName(fsoFile) = "jpg" Then
         .Attachments.Add fsoFile.Path
       End If
     Next
    

    【讨论】:

      【解决方案2】:

      您需要根据文档提供一个实际的文件路径。

      https://msdn.microsoft.com/en-us/library/office/ff869553.aspx

      我认为您可以像这样获得每个文件路径:

      Dim fileName as String
      fileName = Dir("C:\Desktop\Attachments\*.jpg")
      
      Do While Len(fileName) > 0
          .Attachments.Add "C:\Desktop\Attachments\" & fileName
          fileName = Dir
      Loop
      

      【讨论】:

      • Dir() 只返回文件 name,而不是完整路径。如果 `C:\Desktop\Attachments` 不是当前目录,代码将失败
      • 谢谢蒂姆。我更新了将文件名附加到目录路径的答案。
      • 我必须先将文件名变暗为字符串吗?
      猜你喜欢
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 2021-01-14
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      相关资源
      最近更新 更多