【问题标题】:vba excel scrip for attachments failure附件失败的vba excel脚本
【发布时间】:2018-12-15 05:43:45
【问题描述】:

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

我有pdf文件

Risikomanagement-Report Pfandbrief Hypothekenpfandbrief 20180706.pdf

在文件夹中:

T:\30_Deckungsstock\Deckungsnachweise\tgl.RMR

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

我的代码如下:

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

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

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

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

【问题讨论】:

  • 您的日期格式行应该是“YYYYMMDD”

标签: excel vba date pdf attachment


【解决方案1】:

试试

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

【讨论】:

  • vba 大师您好,非常感谢您的回答。我想我的问题确实有点不准确。我会尝试 qharr 的建议,如果没有成功,我会在之后重新提出问题。
  • 我刚刚用修改后的代码试了一下,可惜还是不行。
  • 嗨,QHarr,我刚刚做到了。我希望这次我更清楚:-)
  • 我做了:...Pfandbrief Hypothekenpfandbrief " & Format(datDatum, "YYYYMMDD") & ".pdf",不知何故仍然无法正常工作。它仍然找不到文件。当我删除date 格式,它工作得很好。因此问题必须出在 date 命令的某个地方
  • 发生了什么?我们需要描述发生的事情和任何错误消息。
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 2014-04-20
  • 2014-11-20
  • 1970-01-01
  • 2017-02-17
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
相关资源
最近更新 更多