Я пытаюсь использовать класс VB.Net FileSystemWatcher для просмотра папки для создания файлов Excel. Я получаю ответ, когда файл .xls создается в папке, но у меня возникают проблемы с кодом ниже:vb.net file watch возвращает неправильное имя файла
Private Sub AddWatch()
Dim watch As New FileSystemWatcher
AddHandler watch.Changed, AddressOf FileChange
watch.Filter = "*.*"
watch.NotifyFilter = NotifyFilters.LastWrite
watch.Path = "C:\Documents and Settings\my.user\Desktop\testing"
watch.EnableRaisingEvents = True
End Sub
Private Sub FileChange(ByVal obj As Object, ByVal e As System.IO.FileSystemEventArgs)
Debug.Print("changetype is: " & e.ChangeType.ToString & ", path is: " & e.FullPath.ToString)
End Sub
Когда я создаю текстовый файл в этой папке, я получаю обратно правильное имя файла («C: \ Documents and Settings \ my.user \ Desktop \ testing \ foo.txt»). Однако, когда я сохраняю файл Excel в папке, путь все равно правильный, но имя файла является мусором (каждый раз отличается одним и тем же именем файла, всегда 8 символов, таких как «C: \ Documents and Settings \ my.user \ Desktop» \ testing \ DE0B5800 ".) Невозможно найти вещь в этом поиске Google или здесь, а MSDN, как обычно, мало помогает. Кто-нибудь сталкивается с этим раньше или знает, где я могу найти дополнительную информацию?
похоже, что Excel сначала сохраняет временный файл? –
звучит как временный файл, который Excel пишет – pm100