vba excel 附件失败的脚本

vba excel scrip for attachments failure

enter image description hereenter image description here我刚刚用修改后的代码试了一下,但不幸的是它仍然无法正常工作。那么让我进一步澄清我的问题:

我有pdf文件

Risikomanagement-报告 Pfandbrief Hypothekenpfandbrief 20180706.pdf

在文件夹中:

T:_Deckungsstock\Deckungsnachweise\tgl.RMR

我的目标是抓取这种类型的文件(带有当前日期)并将其附加到电子邮件中。

我的代码如下:

.Attachments.Add "T:_Deckungsstock\Deckungsnachweise\tgl.RMR\Risikomanagement-Report Pfandbrief Hypothekenpfandbrief" & 格式(datDatum, "YYYYMMDD") & ".pdf"

问题:找不到文件。我很确定有一个我无法发现的小错误。

消息框指出:找不到文件。请检查文件的路径和名称

编辑:文件存在:enter image description here

尝试

Attachments.Add "T:_Deckungsstock\Deckungsnachweise\tgl.RMR\Risikomanagement-Report Pfandbrief Hypothekenpfandbrief " & Format$(datDatum, "YYYYMMDD") & ".pdf"

注意日期部分前有一个 space。


编辑:

使用

debug.print "T:_Deckungsstock\Deckungsnachweise\tgl.RMR\Risikomanagement-Report Pfandbrief Hypothekenpfandbrief " & Format(datDatum, "YYYYMMDD") & ".pdf" 

获取正在使用的文件路径,验证是否正确。

当前错误是因为您在使用前没有给 datDatum 赋值。正在使用默认的初始化值。

如果您不为 datDatum 分配初始值,它将被初始化为 00:00:00。当您应用 Format 函数时,它会转换为 18991230

您可以通过以下方式验证:

Option Explicit
Public Sub test()
    Dim datDatum As Date
    MsgBox Format$(datDatum, "YYYYMMDD")
End Sub

你会看到 18991230 出现。

解决方案是给datDatum赋值,例如

datDatum = Now