3

アプリケーションから Word ドキュメントを起動したときに、既定のドキュメントの名前を Document1 から Report に変更できるようにする必要があります。問題は、Document オブジェクトの name プロパティが読み取り専用であることです。名前を変更する起動時に呼び出すことができるメソッドに関するアイデアはありますか?

4

1 に答える 1

2

次のコード スニペットに興味があるかもしれません。

    Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();

    object missing = System.Reflection.Missing.Value;
    object fileName = "Report";
    object isReadOnly = false;
    object isVisible = true;

    Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref isVisible);

    doc.SaveAs2(ref fileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref isReadOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);          
    wordApp.Visible = true;

これにより、指定したとおりに「Report」という名前の新しい Word ドキュメントが開きます。これは、コメントで述べた概念を使用していることに注意してください。つまり、最初にファイルを新しい名前で保存してから開きます。この場合、デフォルトの場所はおそらくユーザーの「ドキュメント」フォルダーですが、必要に応じてパスを指定できます。

必要に応じて、COM オブジェクト "doc" と "wordApp" を閉じて解放することを忘れないでください。特にアプリケーションが予期せず終了した場合や、終了時にいずれかを閉じるのを忘れた場合など、GC がすべてを適切に消去しないことがあります。

于 2013-01-17T15:53:44.077 に答える