我创建了一个MS Word文档,旨在从表(查询)中下载字段值,并为表中的每个记录创建一个报告,并将其保存在指定的目录中。不幸的是,尝试了一切之后,我继续收到错误5981(无法打开内存宏)。我几乎肯定所有代码都可以。下面是我的代码。任何帮助将不胜感激。谢谢
Public Sub LetteraPromossi()
Dim rstStudentiPromossi As New ADODB.Recordset
Dim appWord As New Word.Application
Dim strPercorso As String
strPercorso = Application.CurrentProject.Path & "\"
Const conPercorso As String = "C:\Users\Andrew\Documents\Andrea Lenti\MS Access\eserciziVBAAccess2010\"
DoCmd.SetWarnings (False)
'Esegui le query di aggiornamento che sostituiscono i campi Null con ""
DoCmd.OpenQuery "qryEliminaNulliDaIndirizzo"
DoCmd.OpenQuery "qryEliminaNulliDaCittà"
DoCmd.OpenQuery "qryEliminaNulliDaCAP"
DoCmd.OpenQuery "qryEliminaNulliDaProvincia"
DoCmd.SetWarnings (True)
rstStudentiPromossi.Open "qryStudentiPromossi", _
CurrentProject.Connection, adOpenForwardOnly
Do Until rstStudentiPromossi.EOF
With appWord
.Documents.Add strPercorso & "comunicazioni.dotx"
.Selection.Goto wdGoToBookmark, Name:="studente"
.Selection.TypeText rstStudentiPromossi!Nome & _
" " & rstStudentiPromossi!Cognome
.Selection.Goto wdGoToBookmark, Name:="Indirizzo"
.Selection.TypeText rstStudentiPromossi!Indirizzo
.Selection.Goto wdGoToBookmark, Name:="Città"
.Selection.TypeText rstStudentiPromossi!Città
.Selection.Goto wdGoToBookmark, Name:="CAP"
.Selection.TypeText rstStudentiPromossi!CAP
.Selection.Goto wdGoToBookmark, Name:="provincia"
.Selection.TypeText rstStudentiPromossi!Provincia
.Selection.Goto wdGoToBookmark, Name:="Media"
.Selection.TypeText rstStudentiPromossi!Media
.Visible = True
End With
rstStudentiPromossi.MoveNext
Loop
rstStudentiPromossi.Close
Set rstStudentiPromossi = Nothing
End Sub
似乎您从未保存或关闭Word文档-记录集中的每个记录都为1。在内存用完之前,可以同时打开多少个文档是有限制的。我无法告诉您要处理多少条记录,但是您可能希望在循环中保存并关闭它们,以释放下一条记录的内存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句