我创建了一个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 发布于 2014-02-01 19:34:46
它看起来不像是保存或关闭单词文档--对于记录集中的每条记录都是1。在内存耗尽之前,可以同时打开多少文档是有限制的。我不知道您正在处理多少条记录,但您可能希望在循环中保存和关闭它们,以释放下一个记录的内存。
https://stackoverflow.com/questions/21498897
复制相似问题