2010-12-06 31 views
1

自分のプログラムからMS Word文書を開きたいとします。現時点では、デザイナーモードのときに見つけることができますが、私は自分のプログラムを公開するときにファイルを見つけることができません。私は私のプログラムにそれを埋め込む必要があると信じていますが、私はこれを行う方法を知らない。これは、文書を開くために私の現在のコードです:C#でWord文書を埋め込む

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

私はWord文書が.exeファイルのリソースに埋め込むことが必要だと思いますが、私はこれを行う方法を知りません。

誰か助けてもらえますか?

答えて

1

あなたのプロジェクトに追加するだけで(既存のアイテムを追加する)、表示されたメニューからすべてのファイルを選択し、単語文書を選択します。また、文書をBin/Debugフォルダにコピーします。インストーラを使用している場合は、ドキュメントをインストーラに含めてください。

+0

ファイルを追加するときは、必ず「コピー先として出力ディレクトリ」を選択してください。この方法でファイルをbinフォルダに手動でコピーする必要はありません。それは常にあなたのためにコピーされます。展開については、Pabuc氏は言った。 –

2

ソリューション内でファイルを保存するフォルダを右クリックし、[追加] - > [既存のアイテム]を選択します。

ファイルを追加したら、プロジェクト内のファイルのビルドアクションを、リソースに対してEmbedded Resourceに変更することができます。これは、ファイル内のVS内のプロパティに移動し、ビルドアクションプロパティを変更することで実行できます。

6

Aaronは埋め込みリソースを追加するのが大丈夫です。ここ

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

詳細情報: How to embed and access resources by using 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); 
    } 
} 
関連する問題