Вставить документ Word в C # - PullRequest
1 голос
/ 06 декабря 2010

Я хочу открыть документ MS Word из моей программы. В данный момент он может найти его в режиме дизайнера, но когда я публикую свою программу, он не может найти файл. Я считаю, что мне нужно встроить это в мою программу, но я не знаю, как это сделать. Это мой текущий код для открытия документа:

System.Diagnostics.Process.Start("Manual.docx");

Я думаю, что документ Word должен быть встроен в ресурсы .exe, но я не знаю, как это сделать.

Может кто-нибудь помочь с некоторыми предложениями?

Ответы [ 3 ]

6 голосов
/ 06 декабря 2010

Аарон довольно прав при добавлении встроенного ресурса. Для доступа к встроенному ресурсу выполните следующие действия:

Assembly thisAssembly;
thisAssembly = Assembly.GetExecutingAssembly();
Stream someStream;
someStream = thisAssembly.GetManifestResourceStream("Namespace.Resources.FilenameWithExt");

Больше информации здесь: Как встраивать и получать доступ к ресурсам с помощью Visual C #

Редактировать: Теперь, чтобы запустить файл, вам нужно скопировать файл в какой-нибудь временный каталог. Вы можете использовать следующую функцию для сохранения потока.

public void SaveStreamToFile(string fileFullPath, Stream stream)
{
    if (stream.Length == 0) return;

    // Create a FileStream object to write a stream to a file
    using (FileStream fileStream = System.IO.File.Create(fileFullPath, (int)stream.Length))
    {
        // Fill the bytes[] array with the stream data
        byte[] bytesInStream = new byte[stream.Length];
        stream.Read(bytesInStream, 0, (int)bytesInStream.Length);

        // Use FileStream object to write to the specified file
        fileStream.Write(bytesInStream, 0, bytesInStream.Length);
     }
}
2 голосов
/ 06 декабря 2010

Щелкните правой кнопкой мыши папку, в которой вы хотите сохранить файл в решении, и выберите Добавить -> Существующий элемент.

После добавления файла вы можете изменить действие сборки файла в вашем проекте на Embedded Resource вместо Resource. Это можно сделать, перейдя в Свойства в VS файла и изменив свойство Build Action.

1 голос
/ 06 декабря 2010

Просто включите его в свой проект (добавьте существующий элемент) и в открывшемся меню выберите все файлы и выберите текстовый документ.Также скопируйте документ в папку Bin / Debug.Если вы используете установщик, включите документ в установщик, и он должен работать.

...