Процесс не может получить доступ к файлу 'd: \ 1.doc', поскольку он используется другим процессом - PullRequest
1 голос
/ 31 июля 2011

мой код:

 object c = "d:\\1.doc";

        if(File.Exists(c.ToString()))
        {
            File.Delete(c.ToString());
        }

ошибка:

Процесс не может получить доступ к файлу 'd: \ 1.doc', поскольку он используется другим процессом.

Как близко?с кодом

Ответы [ 4 ]

1 голос
/ 18 февраля 2014

У меня была такая же проблема, когда я хотел удалить файл после открытия / чтения его с помощью Microsoft.Office.Interop.Word, и мне нужно было закрыть свой документ и приложение следующим образом:

 private void parseFile(string filePath)
        {
            // Open a doc file.
            Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
            Document document = application.Documents.Open(filePath);

            // Loop through all words in the document.
            int count = document.Words.Count;
            for (int i = 1; i <= count; i++)
            {
                // Write the word.
                string text = document.Words[i].Text;
                Console.WriteLine("Word {0} = {1}", i, text);
            }

            // Close document correctly
            ((_Document)document).Close();
            ((_Application)application).Quit();
        }
1 голос
/ 31 июля 2011

в первую очередь используйте string вместо object, поэтому:

string c = "d:\\1.doc";

теперь в качестве сообщения указано, что файл используется другим процессом.либо с помощью процесса Windows, либо вы открываете файловый поток и забываете закрыть его.проверьте в своем коде, где вы взаимодействуете с файлом.

Редактировать: Поскольку вы используете Microsoft.Office.Interop.Word, убедитесь, что вы закрываете файл (ы), открытый первым, как:

Word.ApplicationClass word = new Word.ApplicationClass();

//after using it:

if (word.Documents.Count > 0)
{
    word.Documents.Close(...);
}

((Word._Application)word.Application).Quit(..);

word.Quit(..);
0 голосов
/ 31 июля 2011

Проверьте, не запущен ли файл (не открыт) другим приложением
1- Microsoft Word
2- WordPad

0 голосов
/ 31 июля 2011

Этот файл активно открыт в той или иной программе, и Windows не позволяет вам удалить его в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...