Рейтинг:
2
Dave Kreskowiak
Так что просто удалите весь код, который имеет какое-либо отношение к SaveFileDialog. Единственное, для чего вы используете SFD, - это получить путь к файлу от пользователя. Вот и все. Ничего больше.
Все, что вам нужно сделать, это указать имя файла и формат ExportAsFixedFormat, чтобы получить Word для сохранения файла.
Вы, конечно же, должны получить путь к папке рабочего стола пользователя, что очень просто, если вы используете Окружающая среда.GetFolderPath()[^]. Специальная папка, которую вы передаете, - это DesktopDirectory. Это даст вам путь к папке рабочего стола пользователя. Создайте свой полный путь к файлу, который вы хотите сохранить, используя этот путь и Ваше имя файла, переданное в Path.Объединять().
Рейтинг:
1
Karthik_Mahalingam
попробовать это
Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
wordDocument = appWord.Documents.Open(textBox4.Text);
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string file = textBox4.Text;
string path = Path.Combine( desktop , file);
try
{
string ext = System.IO.Path.GetExtension(path);
switch (ext)
{
case ".pdf":
wordDocument.ExportAsFixedFormat(path, WdExportFormat.wdExportFormatPDF);
break;
case ".docx":
wordDocument.ExportAsFixedFormat(path, WdExportFormat.wdExportFormatPDF);
break;
}
}
Предупреждение: вы объявили
public Microsoft.Office.Interop.Word.Document wordDocument { get; set; }
это снаружи, всегда правильно распоряжайтесь этим объектом, иначе новый экземпляр
Word
будет сидеть в вашем TaskManager .
Philippe Mori
Всегда использовать Path.Combine
при слиянии пути.
Karthik_Mahalingam
Спасибо
обновили решение.
Skywatch21
Получение следующее сообщение об ошибке:
Необработанное исключение типа ' System. Runtime.InteropServices.Исключение comexception произошел в pdftoimg.exe
Дополнительная информация: мы не можем сохранить этот файл, потому что он доступен только для чтения.
Чтобы сохранить изменения, вам нужно будет сохранить документ с новым именем или в другом месте
Я получаю это на линии:
&ЛТ;заранее Ланг="C#"и&ГТ;частная button4_Click_1 недействительным(объект отправителя, EventArgs в электронной)
{
Microsoft.Офис.- Взаимодействия.Слово.Приложение appWord = новый Microsoft.Офис.- Взаимодействия.Слово.Приложение();
wordDocument = appWord.Документы.Открыть (textBox4. Text);
строка desktop = Environment.GetFolderPath(Environment.Специальная папка.Рабочий стол);
строка файла = textBox4.Текст;
string path = путь.Комбинировать (рабочий стол, файл);
пробовать
{
строки ВН = система.ИО.Путь.GetExtension(путь);
переключатель (ext)
{
дело". pdf":
документа Word.ExportAsFixedFormat(путь, WdExportFormat.wdExportFormatPDF);
перерыв;
case.docx;:
документа Word.ExportAsFixedFormat(путь, WdExportFormat.wdExportFormatPDF);
перерыв;
}
}
наконец
{
}
}< / pre>
Skywatch21
Получение следующее сообщение об ошибке:
Необработанное исключение типа ' System. Runtime.InteropServices.Исключение comexception произошел в pdftoimg.exe
Дополнительная информация: мы не можем сохранить этот файл, потому что он доступен только для чтения.
Чтобы сохранить изменения, вам нужно будет сохранить документ с новым именем или в другом месте
Я получаю это на линии:
&ЛТ;заранее Ланг="C#"и&ГТ;частная button4_Click_1 недействительным(объект отправителя, EventArgs в электронной)
{
Microsoft.Офис.- Взаимодействия.Слово.Приложение appWord = новый Microsoft.Офис.- Взаимодействия.Слово.Приложение();
wordDocument = appWord.Документы.Открыть (textBox4. Text);
строка desktop = Environment.GetFolderPath(Environment.Специальная папка.Рабочий стол);
строка файла = textBox4.Текст;
string path = путь.Комбинировать (рабочий стол, файл);
пробовать
{
строки ВН = система.ИО.Путь.GetExtension(путь);
переключатель (ext)
{
дело". pdf":
документа Word.ExportAsFixedFormat(путь, WdExportFormat.wdExportFormatPDF);
перерыв;
case.docx;:
документа Word.ExportAsFixedFormat(путь, WdExportFormat.wdExportFormatPDF);
перерыв;
}
}
наконец
{
}
}< / pre>
Karthik_Mahalingam
там написано
Мы не можем сохранить этот файл, потому что он доступен только для чтения
Чтобы сохранить изменения, вам нужно будет сохранить документ с новым именем или в другом месте
очень прямолинейное сообщение.
Skywatch21
Мне нужно сохранить / сохранить файлы в папке на рабочем столе
Karthik_Mahalingam
да, вы должны сначала сохранить его, а затем отредактировать.