私はの.NET 4.0フレームワークをWindowsフォームアプリケーションで使用しています。私は文書を作成するときに円グラフの画像をPieChart.SaveImage(Path,ChartImageFormat.Png)
ファイルはMicrosoft.Office.Interop.Word
です。その画像にその画像を貼り付けます。それは非常によく、初めてを続行し、.DOCが正常に作成され、私はそれがSystem.IO.ExceptionPieChart.SaveImage(path、imageFormate)は画像の保存時に例外を表示します。
を与える実行勝利フォーム中に円グラフ第二の時間を節約しようと、「ファイル 『パス』ためにアクセスすることはできませんプロセスそれは 別のプロセスによって使用されています。
私はプログラムを終了し、ライト前の画像の上に再びそれを実行しますが、私は実行中のプログラム中に画像第二の時間を節約したいとき、それは同じ例外に
を与えるときこれは私がイメージに
private Void SavePieChart()
{
string PieChartPath= Application.StartupPath + @"\Chart.png";
PieChart.SaveImage(PieChartPath, ChartImageFormat.Png);
}
を保存しています方法です
私は何が間違っている場合は親切に私のミスを指摘する、またはこれを解決するための任意の助けのリンク 、検索が、私の問題を解決する任意の効率的な解決策を見つけることができませんでした。 。 DOCファイル内
EDIT 1
私はその画像を貼り付けています場所です
System.Drawing.Image PieChart =System.Drawing.Image.FromFile(PieChartPath);
oHeader1 = oDoc.Content.Paragraphs.Add(ref oMissing);
Logothread = new Thread(() => Clipboard.SetImage(PieChart));
Logothread.SetApartmentState(ApartmentState.STA); //Set the thread to STA
Logothread.Start();
Logothread.Join();
oHeader1.Range.Paste();
oHeader1.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
oHeader1.Range.InsertParagraphAfter();
2回保存すると問題なく動作します。あなたはC#でそれを開きますか?もしもその言葉がまだ画像に注がれていると疑われなければ? 2回目に保存する前に単語を閉じると機能しますか?それは単語に貼り付けることなく動作しますか? – TaW
保存されたすべてのpngファイルに一意の名前を付けるようにしてください。 – LoekD
@TaW:まず画像を保存してからDocファイルに貼り付けます。作成が終わったら、文書を閉じてアプリケーションを終了しても問題ありません。それは例外を示しているいくつかの時間の後に2度目のdocファイルを作成しようとするとき –