2014-04-24 59 views
1

我正在使用Appword.documents.open打開word文檔並使用appword.quit關閉它們。然後在一個名爲ProcessData的函數中,應用程序重命名文檔。如何確定文件在重命名之前已關閉

我得到的問題是在代碼嘗試重命名之前文件未關閉。在嘗試重命名之前,如何確保單詞文檔已關閉?

WordDoc = AppWord.Documents.Open(filepath + filename) 
txtFileContents.Text = WordDoc.Content.Text 
AppWord.Quit() 

ProcessData(txtFileContents.Text, filepath, filename) 

這是重命名文件的過程數據功能:

My.Computer.FileSystem.RenameFile(fPath + fName, NewName + ".doc") 
+0

這是奇怪的代碼。無論如何,你檢查錯誤,如果有一個你重試該命令,直到它的工作。 Do while err.number = 0:My.Computer.FileSystem.RenameFile(fPath + fName,NewName +「.doc」):如果err.number <> 0那麼:err.clear:else:exit do:Loop: –

+0

Looks像VB.Net代碼,而不是VB6。 – Bob77

回答

1

你不應該僅僅使用應用程序退出()方法來關閉該文檔。使用:

WordDoc.Close 
Set WordDoc = Nothing 

然後調用Quit方法。

+0

這將實現什麼。它在子結束時超出範圍,並自動設置爲無。如果你將某些東西設置爲無,你就無法調用任何東西。 –

+0

@tonybd我的早期版本的Office應用程序出現問題,這種情況確實非常重要。 –

1
WordDoc.Close() 
AppWord.Quit() 
AppWord=nothing 
WordDoc=nothing 
相關問題