使用 C# 自動化 Word 導出文檔時,對某段文字設置了下劃線,後續所有文字都意外繼承了下劃線,無法單獨控制段落格式。
代碼直接對 Application 或 Document 級別的 Range 設置格式,導致全局生效。Word 物件模型中,格式屬於 Paragraph、Range 或 Style,需針對具體區域設置。
// 正確做法:獲取具體段落或範圍
Word.Paragraph para = doc.Paragraphs.Add();
para.Range.Text = "帶下劃線的標題";
para.Range.Font.Underline = Word.WdUnderline.wdUnderlineSingle;
// 插入普通文字,不帶下劃線
Word.Paragraph para2 = doc.Paragraphs.Add();
para2.Range.Text = "正常內容文字";
para2.Range.Font.Underline = Word.WdUnderline.wdUnderlineNone; // 顯式關閉
doc.Content 或 app.Selection 直接設置字體屬性。Paragraph 或 Range,單獨設定 Font.Underline。wdUnderlineNone,而非依賴預設值。Word.Style styleTitle = doc.Styles.Add("MyTitle", Word.WdStyleType.wdStyleTypeParagraph);
styleTitle.Font.Underline = Word.WdUnderline.wdUnderlineSingle;
styleTitle.Font.Size = 14;
Word.Style styleBody = doc.Styles.Add("MyBody", Word.WdStyleType.wdStyleTypeParagraph);
styleBody.Font.Underline = Word.WdUnderline.wdUnderlineNone;
para.set_Style(styleTitle);
para2.set_Style(styleBody);
採用段落級或樣式級格式控制,即可精準管理 Word 導出文檔的下劃線等屬性,避免格式汙染。