2013-03-22 74 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