如何通過C#/VB.NET代碼在Word中更改字體顏色

来源:https://www.cnblogs.com/Carina-baby/archive/2023/02/17/17129886.html
-Advertisement-
Play Games

在日常工作中,我們有時會需要修改字體的顏色來突出文本重點,讓讀者更容易抓住文章要點。在今天這篇文章中,我將為大家介紹如何以編程方式,在Word更改字體顏色。本文將分為兩部分分別介紹如何實現此操作。以下是我整理的步驟及方法,並附上C#/VB.NET代碼供大家參考。 更改段落字體顏色 更改特定文本字體顏 ...


在日常工作中,我們有時會需要修改字體的顏色來突出文本重點,讓讀者更容易抓住文章要點。在今天這篇文章中,我將為大家介紹如何以編程方式,在Word更改字體顏色。本文將分為兩部分分別介紹如何實現此操作。以下是我整理的步驟及方法,並附上C#/VB.NET代碼供大家參考。

更改段落字體顏色

更改特定文本字體顏色

程式環境

本次測試時,在程式中引入Free Spire.Doc for .NET。可通過以下方法引用 Free Spire.Doc.dll文件:

方法1:將 Free Spire.Doc for .NET下載到本地,解壓,安裝。安裝完成後,找到安裝路徑下BIN文件夾中的 Spire.Doc.dll。然後在Visual Studio中打開“解決方案資源管理器”,滑鼠右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程式。

方法2:通過NuGet安裝。可通過以下2種方法安裝:

(1)可以在Visual Studio中打開“解決方案資源管理器”,滑鼠右鍵點擊“引用”,“管理NuGet包”,然後搜索“Free Spire.Doc”,點擊“安裝”。等待程式安裝完成。

(2)將以下內容複製到PM控制台安裝。

Install-Package FreeSpire.Doc -Version 10.8.0

更改段落字體顏色

以下是更改 Word 文檔中段落字體顏色的步驟:

  • 創建一個Document實例。
  • 使用 Document.LoadFromFile() 方法載入 Word 文檔。
  • 使用 Document.Sections[sectionIndex] 屬性獲取所需的節。
  • 使用 Section.Paragraphs[paragraphIndex] 屬性獲取要更改字體顏色的所需段落。
  • 創建一個 ParagraphStyle 實例。
  • 使用 ParagraphStyle.Name 和 ParagraphStyle.CharacterFormat.TextColor 屬性設置樣式名稱和字體顏色。
  • 使用 Document.Styles.Add() 方法將樣式添加到文檔中。
  • 使用 Paragraph.ApplyStyle() 方法將樣式應用於段落。
  • 使用 Document.SaveToFile() 方法保存結果文檔。

完整代碼

C#

using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace ChangeFontColorForParagraph
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建一個Document實例
            Document document = new Document();
            //Load a Word document
            document.LoadFromFile("生死疲勞.docx");

            //獲取第一節
            Section section = document.Sections[0];

            //更改第一段文本顏色
            Paragraph p1 = section.Paragraphs[0];
            ParagraphStyle s1 = new ParagraphStyle(document);
            s1.Name = "Color1";
            s1.CharacterFormat.TextColor = Color.Blue;
            document.Styles.Add(s1);
            p1.ApplyStyle(s1.Name);

            //更改第二段文本顏色
            Paragraph p2 = section.Paragraphs[1];
            ParagraphStyle s2 = new ParagraphStyle(document);
            s2.Name = "Color2";
            s2.CharacterFormat.TextColor = Color.Green;
            document.Styles.Add(s2);
            p2.ApplyStyle(s2.Name);

            //保存結果文檔
            document.SaveToFile("更改段落字體顏色.docx", FileFormat.Docx);
        }
    }
}

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports System.Drawing

Namespace ChangeFontColorForParagraph
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '創建一個Document實例
            Dim document As Document = New Document()
            'Load a Word document
            document.LoadFromFile("生死疲勞.docx")

            '獲取第一節
            Dim section As Section = document.Sections(0)

            '更改第一段文本顏色
            Dim p1 As Paragraph = section.Paragraphs(0)
            Dim s1 As ParagraphStyle = New ParagraphStyle(document)
            s1.Name = "Color1"
            s1.CharacterFormat.TextColor = Color.Blue
            document.Styles.Add(s1)
            p1.ApplyStyle(s1.Name)

            '更改第二段文本顏色
            Dim p2 As Paragraph = section.Paragraphs(1)
            Dim s2 As ParagraphStyle = New ParagraphStyle(document)
            s2.Name = "Color2"
            s2.CharacterFormat.TextColor = Color.Green
            document.Styles.Add(s2)
            p2.ApplyStyle(s2.Name)

            '保存結果文檔
            document.SaveToFile("更改段落字體顏色.docx", FileFormat.Docx)
        End Sub
    End Class
End Namespace

效果圖

更改特定文本字體顏色

以下是更改 Word 文檔中特定文本字體顏色的步驟:

  • 創建一個Document實例。
  • 使用 Document.LoadFromFile() 方法載入 Word 文檔。
  • 使用 Document.FindAllString() 方法查找指定文本。
  • 調用TextSelection.GetAsOneRange().CharacterFormat.TextColor 屬性,迴圈遍歷所有指定文本,並更改其字體顏色
  • 使用 Document.SaveToFile() 方法保存結果文檔。

完整代碼

C#

 

using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace ChangeFontColorForText
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建一個Document實例
            Document document = new Document();
            //載入 Word 文檔
            document.LoadFromFile("生死疲勞.docx");

            //查找指定文本
            TextSelection[] text = document.FindAllString("生死疲勞", false, true);

            //更改特定文本的字體顏色
            foreach (TextSelection seletion in text)
            {
                seletion.GetAsOneRange().CharacterFormat.TextColor = Color.HotPink;
            }

            //保存結果文檔
            document.SaveToFile("更改特定文本字體顏色.docx", FileFormat.Docx);
        }
    }
}

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports System.Drawing

Namespace ChangeFontColorForText
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '創建一個Document實例
            Dim document As Document = New Document()
            '載入 Word 文檔
            document.LoadFromFile("生死疲勞.docx")

            '查找指定文本
            Dim text As TextSelection() = document.FindAllString("生死疲勞", False, True)

            '更改特定文本的字體顏色
            For Each seletion As TextSelection In text
                seletion.GetAsOneRange().CharacterFormat.TextColor = Color.HotPink
            Next

            '保存結果文檔
            document.SaveToFile("更改特定文本字體顏色.docx", FileFormat.Docx)
        End Sub
    End Class
End Namespace

效果圖

—本文完—


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 教程簡介 Microsoft Expression Web Tutorial for Beginners - 從基本到高級概念的簡單簡單步驟學習Microsoft Expression Web,其中包括概述,環境設置,新網站,空白網頁,網頁佈局,HTML佈局,水平導航,垂直導航,驗證頁面,動態Web ...
  • 什麼是素數? 質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數(規定1既不是質數也不是合數)。 實際案例 比如我們想找出1-1000的所有素數 思路1 可以先定義一個方法 primeNumber//參數列表用來接收所想找的素數範圍 public st ...
  • 本文介紹基於Python的隨機森林(Random Forest,RF)回歸代碼,以及模型超參數(包括決策樹個數與最大深度、最小分離樣本數、最小葉子節點樣本數、最大分離特征數等)自動優化的代碼~ ...
  • nano /etc/motd // _ooOoo_ // // o8888888o // // 88" . "88 // // (| ^_^ |) // // O\ = /O // // ____/` '\____ // // .' \\| |// `. // // / \\||| : |||// ...
  • 本文敘述的問題的根源在於對C#基礎知識掌握不牢固,從而在遇到難以理解的問題時浪費了大量時間; 在此也警示自己,該啃啃基礎書籍了! 話不多說,先上代碼: 先看問題 services.AddEasyCaching(option => { option.UseHybrid(config => { .... ...
  • ###語法: select * from 表名 where 條件1 start with 條件2 connect by 條件3; 條件2: 是根結點的限定語句,當然可以放寬限定條件,以取得多個根結點,實際就是多棵樹。 條件3: 是連接條件,其中用PRIOR表示上一條記錄,比如 CONNECT BY ...
  • 1.說說顯示實現介面和隱式實現介面的區別。 2.說說file訪問修飾的作用。 3.說說什麼是原始字元串。 4.C#10 中struct有什麼改進? 5.說說C#10中Lambda表達式的新特點。 6.說說對於泛型特性的理解。 7.說說在ASP.NET Core7中,依賴註入中的方法註入需要註意什麼? ...
  • 我相信很多人看了其他的貼子,都沒有成功部署,因為裡面有很多暗坑。接下來博主就一步一步給大家講明白,帶領大家部署 先基本的發佈 操作:右擊web項目的《發佈》按鈕。選文件 配置發佈屬性 部署模式,建議選框架依賴,且安裝對應的運行時框架,可共用系統級版本的 .NET Core,如果框架依賴部署不行,可以 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...