如果当前word文档没保存,则点"提交"按钮实现保存并关闭word,并返回主窗口
如果word文档已经保存过并关闭了,则返回主窗口
后一半总是报错,
For Each aDoc In Documents:ActiveX部件不能创建对象!
Private Sub cmdRefer_Click()
For Each aDoc In Documents
If InStr(1, aDoc.Name, App.Path & "\考生" & kskh & "\word" & Arraynum(1) & ".doc", 1) Then
wordApp.Documents.Close True
wordApp.Quit
Set wordApp = Nothing
Exit For
Else
Set wordApp = Nothing '释放内存
End If
Next aDoc
Me.Hide
Frmmain.Show
End Sub
如果word文档已经保存过并关闭了,则返回主窗口
后一半总是报错,
For Each aDoc In Documents:ActiveX部件不能创建对象!
Private Sub cmdRefer_Click()
For Each aDoc In Documents
If InStr(1, aDoc.Name, App.Path & "\考生" & kskh & "\word" & Arraynum(1) & ".doc", 1) Then
wordApp.Documents.Close True
wordApp.Quit
Set wordApp = Nothing
Exit For
Else
Set wordApp = Nothing '释放内存
End If
Next aDoc
Me.Hide
Frmmain.Show
End Sub
Dim app As New Word.Application
Set app = CreateObject("Word.Application")
app.Visible = True
app.Documents.Open ("c:\11.doc")
For Each aDoc In app.Documents
MsgBox ".........."
Next
Private Sub cmdRefer_Click()
For Each aDoc In wordApp.Documents
If InStr(1, aDoc.Name, App.Path & "\考生" & kskh & "\word" & Arraynum(1) & ".doc", 1) Then
wordApp.Documents.Close True
Exit For
End If
Next aDoc
wordApp.Quit
Set wordApp = Nothing
Me.Hide
Frmmain.Show
End Sub另外两点建议:
1)从你的逻辑来看,根本没必要用一For循环枚举所有文档,直接用wordApp.Quit wdSaveChanges不就结了吗?
2)If 条件可以用
if aDoc.FullName = App.Path.... then
这样更直观而且相信快一些。如果你担心大小写,可以用strcomp函数。
对不起,分给错了!下次一定补上.