0

C# を使用して、別の Word ドキュメント (たとえば、base.doc) から Word ドキュメント (たとえば、child.doc) を作成しています。

ヘッダーに配置される base.doc に画像があります。base.doc からコンテンツをコピーし、C# を使用してそのコンテンツを child.doc に貼り付けています。

このプロセスの後、コードを使用して child.doc を保存しています。保存したドキュメント (ie:child.doc) を手動で (コードではなく) 開くと、ヘッダー部分の画像が表示されません。私は何を間違っていますか?

次のコードを使用しています。

  string path = "base.doc"; // path of base document
  object format = (object)Word.WdSaveFormat.wdFormatDocument;
  object formatPdf = (object)Word.WdSaveFormat.wdFormatPDF;
  object readOnly = true;
  object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
  Word._Application wordApp = new Microsoft.Office.Interop.Word.Application();
  object file = @path;
  object nullobj = System.Reflection.Missing.Value;
  wordApp.Visible = false;
  wordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
  Word._Document doc = wordApp.Documents.Open(
        ref file, ref nullobj, ref readOnly,
        ref nullobj, ref nullobj, ref nullobj,
        ref nullobj, ref nullobj, ref nullobj,
        ref nullobj, ref nullobj, ref nullobj);

  doc.Activate();

  Word.Range docRange = doc.Content;

  // After these codes i do some replacement in the conten like as follows

  docRange.Find.Text = "Some text to replace";
  docRange.Find.Replacement.Text = "Replacement text";
  docRange.Find.Execute(Replace: Word.WdReplace.wdReplaceAll);

  docRange.Find.Forward = true;
  object rangeStart = docRange.Start;
  object rangeEnd = docRange.End;
  Word.Range rng = doc.Range(ref rangeStart, ref rangeEnd);
  rng.Font.Name = "Arial";

  Word._Document inewDoc = wordApp.Documents.Add(ref nullobj, ref nullobj, ref nullobj,    ref nullobj);
  rng.Copy();
  inewDoc.Application.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
  inewDoc.SaveAs(ref tempPath, ref format, ref nullobj,
                           ref nullobj, ref nullobj, ref nullobj,
                           ref nullobj, ref nullobj,
                           true, ref nullobj,
                           ref nullobj, ref nullobj, ref nullobj,
                           ref nullobj, ref nullobj, ref nullobj);


  doc.Close(ref saveChanges, ref nullobj, ref nullobj);
  doc = null;
  inewDoc.Close(ref saveChanges, ref nullobj, ref nullobj);
  inewDoc = null;
  wordApp.Quit(ref saveChanges, ref nullobj, ref nullobj);
  wordApp = null;
4

1 に答える 1