使用VBA将MS访问报告导出到MS Word

问题描述 投票:2回答:1

我正在做一个查找文件的简单vba脚本。如果它存在则删除它。然后它移动到DoCmd.OutputTo acOutputReport。下面是我正在使用的实际代码的示例。我遇到的问题是当我将auto open设置为true时。我想在导出报告后打开文件。但是我发现由于某种原因程序停止并且将在那里停留至少5到10分钟然后它将错误地说远程进程无法完成。错误后,文件打开,无任何明显错误...当我将自动打开更改为false。我可以在大约3到5秒后通过手动打开报告来打开报告。有什么我不知道或找不到导致这个问题的问题吗?

示例代码 - 有些事情可能在语法错误,因为我没有在我面前的代码。但它仍然应该传达我正在做的事情。

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

所以我再次遇到的问题是,在访问使用报告填充文件后,我似乎无法使文件自动打开。如果您知道任何问题,我只是想提高性能或找到解决方法。

vba ms-access
1个回答
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

如果有VBA方式,我倾向于避免使用DoCmd:VBA给了我更多控制权。

© www.soinside.com 2019 - 2024. All rights reserved.