2013-03-22 94 views
0

我正在做一個簡單的vba腳本查找文件。如果存在,則刪除它。然後它轉到DoCmd.OutputTo acOutputReport。以下是我正在使用的實際代碼的示例。我遇到的問題是當我設置自動打開爲true。我希望文件在導出報告後打開。不過,我發現由於某種原因程序停滯不前,並且會在那裏停留至少5到10分鐘,然後錯誤地指出遠程程序無法完成。錯誤後,文件打開反正沒有明顯的錯誤...當我將自動打開爲false。我可以在3到5秒後通過手動打開報告來打開報告。有什麼我不知道或無法找到導致這個問題?導出MS訪問使用VBA向MS Word報告

示例代碼 - 有些東西可能在語法上是錯誤的,因爲我沒有代碼在我面前。但它仍應該傳達即將做的事情。

Dim strFile As String 
Dim strCon As String 
Dim strSQL As String 
Dim cnn As Access.Application 

strFile = "C:Myfile.rtf" 
If Len(Dir(strFile)) Then 
Kill strFile 
End If 

'access connection stuff here 

with cnn 
    'dont display messages code 
    'active connection to my database code 
     DoCmd.OutputTo acOutputReport, strFile, acFormatRTF, OutputFile, True 
     .Quit 
End With 

所以再次我遇到的問題是,我似乎無法獲得該文件訪問填充報告後自動打開。我只是試圖提高性能或找到解決辦法,如果你知道任何。

回答

3

在從Access 2007年出口的應用程序,我保存的導出操作作爲一個出口規格和使用:

CurrentProject.ImportExportSpecifications(NameOfSpecification).Execute False

然後我用

Set AppWord = CreateObject(Class:="Word.Application") ' create an instance of Word 

Set Doc = AppWord.Documents.Open(NameOfDocument) 

AppWord.Visible = True      ' instance is invisible by default 

我傾向於避免DoCmd如果有一種VBA的方式:VBA給我更多的控制權。

+0

不要緊我只是將可見標籤移動到一個新的地方像魅力感謝。 – divdeamor 2013-03-22 17:00:46

+0

對不起,我從一個更大的文件中刪除了它。示例已更新。 – grahamj42 2013-03-22 17:02:35