Member 12699376 Ответов: 1

Проблема Createworddocument, файл не найден


Я получаю сообщение об ошибке, что файл word не существует, Ниже приведен код до сих пор.

это предполагает создание документа word и замену слов в нем, я думаю, проблема в том, что у меня нет доступа к C:/temp папка, но я не знаю, чем ее заменить? Пробовал C:/desktop все равно не получилось.

спасибо

Richard MacCutchan

Замените его путем к каталогу, который вы делать иметь доступ.

Member 12699376

пробовал рабочий стол все равно не работал :(

Richard MacCutchan

Где же файл? Неужели у вас действительно нет возможности проверить, где он хранится?

Richard Deeming

Удаление содержания вашего вопроса после того, как на него был дан ответ, является крайне грубым.

1 Ответов

Рейтинг:
12

Richard Deeming

C:\Desktop\ это не путь к папке рабочего стола, а C:\Temp\ это не путь к папке temp. Реальные пути находятся в папке профиля пользователя.

Вы можете получить путь к папке temp с помощью:

System.IO.Path.GetTempPath()

Вы можете получить путь к папке рабочего стола с помощью:
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)


Итак, чтобы сохранить файл на рабочем столе, вы должны использовать:
string destinationFilePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory),
    "new.doc");


В любом случае, первый параметр для вашего CreateWordDocument функция должна быть реальным путем к существующему файлу, который вы хотите открыть. Если вы укажете путь, который не существует, вы получите сообщение об ошибке (с ошибкой).


Richard MacCutchan

Я просто побежал FileStream strIn = File.Open(@"C:\temp\foo.txt", FileMode.Open);, и это сработало нормально, открыл файл без проблем.

Richard Deeming

Но это не стандартное расположение папки Temp.

Если вы создадите папку под названием Temp в корне C:, и дайте вашей учетной записи необходимые разрешения, тогда она будет работать. Но он не будет существовать по умолчанию.

Richard MacCutchan

Ну моя система Windows 10 имеет Temp каталог в корне моего диска C:. Понятия не имею, как он туда попал, но предполагаю, что его создала Windows. И поскольку это был путь, который использовал ОП, я (глупо?) предположил, что он/она проверил его существование через проводник.

Richard Deeming

Временная папка[^]:
В MS-DOS и Microsoft Windows временный каталог задается переменной среды TEMP Первоначально по умолчанию было c:\Temp, затем %WinDir%\Temp В эпоху Windows XP временный каталог был установлен для каждого пользователя как Local Settings\Temp, хотя все еще перемещаемый пользователем. Для Windows Vista, 7 и 8 временное местоположение снова переместилось в раздел AppData профиля пользователя, как правило C:\Users\User Name\AppData\Local\Temp.

Richard MacCutchan

Интересный. Я только что проверил систему моей жены, в которой когда-либо были установлены только Windows 8 (очень кратко), 8.1 и 10, а также C:\Temp справочник. И я знать что она не создала бы его.

Richard Deeming

Какое-нибудь общее программное обеспечение между ними? Это похоже на приложение, которое не было обновлено, чтобы использовать правильный путь, и все еще создает файлы в пути DOS-эры.

Richard MacCutchan

Нет, Мой компьютер имеет множество вещей, установленных и деинсталлированных на умеренно регулярной основе. У нее стандартная Windows С MS Office 2003 (которая у меня была под Windows 7) - может быть, это и есть виновник.

У меня также есть доступ к некоторым стандартным системам Windows 7 и 10, которые я рассмотрю завтра.