我有一个程序,可以从PLC接收零件号。然后,我使用该零件号启动AutoCad工程图,并启动与该零件号相关的Word文档。当收到另一个零件号时,我希望它关闭以前的AutoCAD和Word文档,然后为新的零件号重新打开它们。
Public Sub WordLaunch()
'Check to see if the Process is already Running. If so, Close it.
If myWordProcess.HasExited = False Then
myWordProcess.CloseMainWindow()
myWordProcess = Nothing
MyWordProcessIsRunning = False
End If
For Each line As String In lines
WordParts = line.Trim.Split("|"c)
If WordParts.Length = 2 Then
WordPreLetter = WordParts(1) ' Read PreLetter Ex A-, B-, Etc
'Open Fix Ref. with Word
If File.Exists(txtFixRefDirectory.Text & "\" & WordPreLetter & TrimmedIncomming & "." & txtFixRefExt.Text) Then
'OpenFile
WordProcessProperties.FileName = txtWordPath.Text
WordProcessProperties.Arguments = """" & txtFixRefDirectory.Text & "\" & WordPreLetter & TrimmedIncomming & "." & txtFixRefExt.Text & """"
WordProcessProperties.WindowStyle = ProcessWindowStyle.Maximized
myWordProcess = Process.Start(WordProcessProperties)
MyWordProcessIsRunning = True
End If
End If
Next
End Sub
我遇到的问题是,如果用户打开了另一个Word文档,我的程序将停止关闭Word文档。在不知不觉中,PC上正在运行20个打开的word文档。 AutoCAD正在按预期工作。如果用户自己打开一个AutoCAD工程图,然后我的程序将打开一个工程图,则当收到下一个零件编号时,只有以前从我的程序中打开的工程图将关闭。知道Word为什么会有不同的行为吗?