0

平台:Microsoft Visual Basic 6.5 和 MS words 2007

我正在尝试做一个宏来对单词启用文件进行一些编辑。研究了如何关闭Excel文件而不保存,Santosh已经成功帮我解决了问题解决方法。尝试应用于words编译保存时没有错误

将以下编码放置在 TheDocument 中,类似于 Santosh 教我学习 excel 的地方。

Private Sub Workbook_BeforeClose(取消为布尔值)

Me.Close False

结束子

试图用以下编码替换 Me.Close False ......

1) 我关闭

2)我。关闭(假)

3) ActiveDocument.关闭

4) ActiveDocument.Close (假)

5) ActiveDocument.Quit

6)Application.Quit(假)

7) 申请。关闭

但不起作用。


因为我将使用 vba 脚本来运行脚本来更新我的文字文档并根据我的值输入相应地打印。之后脚本将关闭此文档而不保存(我不会提示用户有更改并提示用户保存)。我希望它在没有任何提示的情况下调用“强制关闭”。对于 ms excel 2007...我访问开发工具以转到“ThisWorkbook”下的 MS Visual Basic 6.5...我输入以下命令..

Private Sub Workbook_BeforeClose(取消为布尔值)

Me.Close False

结束子

此命令成功关闭 excel 而不保存或任何提示(这是我想要的)尝试将其应用于 words2007

Private Sub Document_Close() 'Me.Close'运行时错误'4198'

'Me.Close (SaveChanges:=wdDoNotSaveChanges,OriginalFormat:=wdOriginalDocumentFormat,RouteDocument:=True)

'Me.Quit Savechanges:=wdDoNotSaveChanges

'Me.Close Savechanges:=wdDoNotSaveChanges

'Me.Close False 'run-time error '4198'

'ActiveDocument.Close False 'run-time error '4198'

'Document.Close False 'run time error '424' Object required

'Document.Close Savechanges:=wdDoNotSaveChanges  'run time error '424' Object required


'Document.Close Savechanges 'run time error '424' Object required


'Me.Close Savechanges 'run-time error '4198'  



'Documents.Close SaveChanges:=wdDoNotSaveChanges

结束子

'Sub CloseAllDocuments() ' Documents.Close SaveChanges:=wdDoNotSaveChanges 'End Sub

我注释掉的所有这些命令都以错误结尾

4

2 回答 2

1

经过多次尝试和研究,我终于找到了解决方案

这供任何尝试做与我相同的事情的人参考。

在“ThisDocument”中键入此编码


私有子 Document_Close()

'This is to make the words think that the documents is saved.
'However in actually fact. Any changes would not be save upon closing of document
Me.Saved = True

结束子

于 2013-04-06T03:53:57.447 回答
0

我不知道该怎么做,但是当我遇到同样的问题时,我找到了解决方法。

如果您只打开 1 个 word 进程,只需运行脚本将其关闭即可。

TASKKILL /F /IM "WINWORD.EXE"

要从 vba 运行脚本,请使用

Application.Run "YourPath"

我知道这并不多,但至少它应该解决你眼前的问题。

在四处询问后,一位朋友告诉我这可能会奏效

mWord.Quit SaveChanges = wdDoNotSaveChanges

mWord 是您的 Word.Application

于 2013-04-05T15:15:47.123 回答