2013-04-23 48 views
0

我試圖在Excel電子表格的文件名稱中輸出一個時間戳以導出Access。作爲電子表格錯誤訪問導出 - 3436創建文件失敗

這裏是我的代碼:

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\已經存在。

+0

剛剛有一個想法......你甚至可以把「:」放在一個文件名中嗎? – 2013-04-23 14:18:22

回答

1

這可能不是一個有效的文件名。取而代之的

timeStamp = Now 

嘗試:

timeStamp = Format(Now,"YYYYMMDD HHMMSS") 

我相信這是對文件名存儲日期的公認標準。另外,在Windows資源管理器中查看文件夾時,默認情況下您的文件按日期排序。

+0

謝謝。現在感覺啞巴。像往常一樣,我花了一個小時試圖找出問題,提出問題,然後在幾分鐘內注意到問題。 – 2013-04-23 14:31:44

0

我使用DoCmd.TransferSpreadsheet acExport,「導出投標」,strFileName,真 並獲得不同的結果,從運行時錯誤3436,安靜未能創建文件,有時消失具有結構緊湊/修復,有時沒有。 看起來越野車給我。 2013年7月使用Office 2010

相關問題