VBA Excel Scrip附件失败

时间:2018-07-06 15:14:39

标签: excel vba date pdf attachment

enter image description here enter image description here我刚刚用修改后的代码尝试过,但是很不幸,它仍然无法正常工作。因此,让我进一步澄清我的问题:

我有pdf文件

Risikomanagement-Report Pfandbrief Hypothekenpfandbrief 20180706.pdf

在文件夹中:

T:\ 30_Deckungsstock \ Deckungsnachweise \ tgl.RMR

我的目的是掌握这类文件(带有当前日期)并将其附加到电子邮件中。

我的代码如下:

。附件。添加“ T:\ 30_Deckungsstock \ Deckungsnachweise \ tgl.RMR \ Risikomanagement-Report Pfandbrief Hypothekenpfandbrief”和格式(datDatum,“ YYYYMMDD”)和“ .pdf”

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

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

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

1 个答案:

答案 0 :(得分:0)

尝试

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

请注意,日期部分之前有一个空格。


编辑:

使用

debug.print "T:\30_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