我成功運行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時選擇保存目的地?
這是一個很大的代碼,我只是沒有意識到這是一個必要的前兆。我不得不花費30分鐘來調試最有可能遺留格式的問題(即將Global Const更改爲Private Const)以及其他一些控件。儘管如此,它已經開始運行 –