2014-01-08 83 views
0

我成功運行TransferSpreadsheet的一個Access查詢在指定的位置導出到Excel文件:DoCmd.TransferSpreadsheet導出:讓用戶選擇保存目的地?

Private Sub cmdExportQuery_Click() 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "trndOTQry", _ 
"\\company.com\root\share\public\D2S\D2S\D2S_Scorecard\Trend OT.xls" 
End Sub 

考慮到這是一個共享的文件,我想打開一個對話框,允許用戶選擇任何保存目的地他選擇了。我發現this link有一個很好的解決方案,參考文獻this article。當我插入這個代碼到我的窗口:

Private Sub cmdExportQuery_Click() 
Dim strSaveAsFilter As String 
Dim strSaveAsFileName As String 
strFilter = ahtAddFilterItem(strSaveAsFilter, "Excel Files (*.xls)", "*.xls") 
strSaveAsFileName = ahtCommonFileOpenSave(_ 
OpenFile:=False, _ 
Filter:=strSaveAsFilter, _ 
Flags:=ahtOFN_OVERWRITEPROMPT Or ahtOFN_READONLY) 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "trndOTQry", _ 
strSaveAsFileName, , "-1", True 
End Sub 

我得到的錯誤Compile Error: Sub or Function not defined,它強調ahtAddFilterItem藍色,黃色突出Private Sub cmdExportQuery_Click()用黃色箭頭。我嘗試製作一個Public Sub,但是當我點擊按鈕時沒有發生任何事情。我必須做什麼才能讓用戶在將此查詢導出到Excel時選擇保存目的地?

回答

1

還有其他代碼也應該包括在內。請點擊這裏:

http://access.mvps.org/access/api/api0001.htm

我也發現了這個可能是從別人誰了同樣的錯誤有所幫助:

「你還可以獲得在注

注中提到的額外代碼:此代碼仍然需要Ken Getz提供的GetOpenFileName例程。請確保您複製了本文中的功能。

將您發送給 http://www.mvps.org/access/api/api0001.htm

+0

這是一個很大的代碼,我只是沒有意識到這是一個必要的前兆。我不得不花費30分鐘來調試最有可能遺留格式的問題(即將Global Const更改爲Private Const)以及其他一些控件。儘管如此,它已經開始運行 –

相關問題