访问导出为电子表格错误 - 3436 创建文件失败

Posted

技术标签:

【中文标题】访问导出为电子表格错误 - 3436 创建文件失败【英文标题】:Access Export as Spreadsheet Error - 3436 Failure creating file 【发布时间】:2013-04-23 14:03:45 【问题描述】:

我正在尝试在从 Access 导出的 Excel 电子表格的文件名中添加时间戳

这是我的代码:

Private Sub Command31_Click()

Dim timeStamp As String
Dim XLfilePath As String

timeStamp = Now
XLfilePath = "C:\Folder\FileName - " & timeStamp & ".xls"

Debug.Print XLfilePath

DoCmd.TransferSpreadsheet acExport, , "MyAccessTable", XLfilePath, True

End Sub

由于某种原因,我收到以下错误:

Run-time error 3436
Failure creating file

对此有点困惑,因为 Debug.Print 表明 XLfilePath 变量正在持有:

C:\Folder\FileName - 23/04/2013 15:00:22.xls

...这是我所期望的。

C:\Folder\ 已经存在。

【问题讨论】:

刚刚想到......你能把“:”放在文件名中吗? 【参考方案1】:

这可能不是一个有效的文件名。而不是

timeStamp = Now

尝试:

timeStamp = Format(Now,"YYYYMMDD HHMMSS")

我相信这是在文件名中存储日期的公认标准。此外,在 Windows 资源管理器中查看文件夹时,您的文件默认按日期排序。

【讨论】:

谢谢。现在觉得很傻。像往常一样,我会花一个小时试图弄清楚一些事情,提出一个问题,然后在提出问题的几分钟内注意到问题。【参考方案2】:

我正在使用 DoCmd.TransferSpreadsheet acExport, , "Export Bid", strFileName, True 并获得不同的结果,包括运行时错误 3436、创建文件的安静失败、有时会通过压缩/修复而消失,有时则不会。 在我看来是马车。 2013 年 7 月 使用 Office 2010

【讨论】:

以上是关于访问导出为电子表格错误 - 3436 创建文件失败的主要内容,如果未能解决你的问题,请参考以下文章

将对象粘贴到空单元格/工作表时出现错误 424 未被识别为对象

如何通过 C#.net 将表格导出到打开的 office 电子表格(.ods 文件)中?

将 Excel 电子表格导出到带有时间戳的访问表?

使用脚本将 Google 电子表格导出到文本文件

如何获取谷歌电子表格的共享链接?

SQLSTATE [42000]:语法错误或访问冲突:1064 PHP/MySQL [关闭]