0

Word ドキュメントを読み込んで編集する WPF アプリケーションを作成しています。コードは次のとおりです。

            public bool Generate(string path, ProjectVO project)
            {
                saveAs = path;
                projectName = project.Name;
                projectVersion = project.Version;

                object missing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
                //Setup our Word.Document class we'll use.
                Microsoft.Office.Interop.Word.Document aDoc = null;


                // Check to see that file exists
                if (File.Exists((string)fileName))
                {
                    DateTime today = DateTime.Now;

                    object readOnly = false;
                    object isVisible = false;
                    try
                    {

                        //Set Word to be not visible.
                        wordApp.Visible = false;

                        //Open the word document
                        aDoc = wordApp.Documents.Open(ref fileName, ref missing,
                            ref readOnly, ref missing, ref missing, ref missing,
                            ref missing, ref missing, ref missing, ref missing,
                            ref missing, ref isVisible, ref missing, ref missing,
                            ref missing, ref missing);

                        // Activate the document
                        aDoc.Activate();

                        // Find Place Holders and Replace them with Values.
                        this.FindAndReplace(wordApp, "{Name}", projectName);
                        this.FindAndReplace(wordApp, "{Version}", projectVersion);



                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        //Close the document
                        aDoc.Close(ref missing, ref missing, ref missing);
                        return false;


                    }


                }
                else
                {
                   return false;
                }

                //Save the document as the correct file name.
                aDoc.SaveAs(ref saveAs, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing);




                //Close the document
                aDoc.Close(ref missing, ref missing, ref missing);
                return true;

        }

問題なく動作しますが、クライアントが Microsoft Word を持っていない場合、Word ドキュメントは作成されません。クライアントがそれを開くことができない場合でも、それを作成してフォルダーに保存する方法はありますか? または、Word がインストールされていない場合の代替フォームとして、PDF または TXT として保存する方法はありますか? どうもありがとう!

4

2 に答える 2

2

クライアント マシンに Word がインストールされていない場合、Word ドキュメントを作成することはできません。

確かにtxtファイルを作成できますが、Office Interopを介して作成することはできません.

于 2012-10-10T19:56:06.237 に答える
2

「open xml sdk」を使用して単語なしで docx を生成できますが、それほど簡単ではありません。

http://www.microsoft.com/en-us/download/details.aspx?id=5124

Sdk には、既存の docx ファイルからコードを自動生成するツールが含まれています。

PDFを生成するには、「iTextSharp」ライブラリ http://itextpdf.com/を使用することをお勧めします

于 2012-10-10T20:11:25.450 に答える