1. 程式人生 > >C#中操作Word(2)—— 新建、開啟、儲存和關閉文件

C#中操作Word(2)—— 新建、開啟、儲存和關閉文件

       本文中主要介紹C#中對word文件進行新建、開啟、儲存、關閉的方法。在本次試驗之前,先佈置試驗環境。首先,先新建一個winform的工程WordTest:



        然後,在介面中新增一個按鈕,按鈕文字就叫做“測試”:



        在按鈕的點選事件處理函式中,我們先建立一個Application物件,並將物件的Visible屬性設定為True:

private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
app.Visible = true;
}

一 新建文件


1.1 以預設方式進行新建


        呼叫app中Documents的Add()介面,可以實現按照預設方式新建一個word文件。Dcuments是文件Document文件類的集合,而Add()函式在引數為空的情況下可以按照預設引數新建一個Document物件並新增到Documents中。
    app.Documents.Add();

        程式執行後介面如下:



1.2 按照自定義模板進行新建


        除了上述按照預設方式建立空文件之外,我們還可以給Add()函式傳入word模板的方式建立一個新的文件,而這個文件其實就是我們提供的word模板的一個副本。
    app.Documents.Add("D://Test.docx");
        執行後介面如下:



注意:這種方式只是在記憶體中建立了一個原模板的副本,對改副本所做的修改不會更新到原來的模板上。

二、開啟文件


        利用app.Documents的Open()函式可以開啟一個已經存在的文件,此時是在該文件上進行修改,因此任何的改動都會生效。
    app.Documents.Open("D://Test.docx");
        執行後介面如下:



三、儲存文件


        app.Documents的Save()介面,可以將修改儲存到已開啟的文件。
    app.Documents.Save();

四、退出Word

    app.Quit();

文章涉及的原始碼如下:
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
app.Visible = true;
//1新?建¡§操¨´作Á¡Â
//1.1 按ã¡ä照?默?認¨?方¤?式º?新?建¡§文?檔̦Ì
//app.Documents.Add();
//1.2 按ã¡ä照?自Á?定¡§義°?模¡ê板ã?創ä¡ä建¡§文?檔̦Ì
//app.Documents.Add("D://Test.docx");
//2 打䨰開a文?檔̦Ì
app.Documents.Open("D://Test.docx");
//3 保À¡ê存ä?文?檔̦Ì
app.Documents.Save();
//4 退ª?出?word
app.Quit();
}



Github位置:

克隆本專案:

git clone [email protected]:HymanLiuTS/OfficeTestByC-.git

獲取本文原始碼:

git checkout L01



相關推薦

C#操作Word2—— 新建開啟儲存關閉

       本文中主要介紹C#中對word文件進行新建、開啟、儲存、關閉的方法。在本次試驗之前,先佈置試驗環境。首先,先新建一個winform的工程WordTest:         然後,在介面中新增一個按鈕,按鈕文字就叫做“測試”:         在按鈕的點選事

C#操作Word8—— 向Word插入圖表的三種方法

一、 前言         本文主要介紹向word中插入圖表的方法。方法共有三種,每一種都有自己的適用範圍和利弊。介紹之前,我們準備實驗用的文件,做一個如下圖所示的word模板,我們要做的的是在這個名叫chart的書籤中插入一個圖表,下面然後我將逐一進行介紹這三種方法:

C#操作Word5—— 利用BookMark物件寫Word

一、引言         本文主要介紹通過Word中的書籤Bookmark來向Word中寫入我們自定義的資料。之前的文章介紹了利用Range物件讀寫word的方法,用這種方法如果處理比較簡單的文件還好,若文件較複雜,就顯得有些力不從心了。         比如有這麼一個文件

C#操作Excel4—— 向Excel插入兩種圖表以及設定圖表格式

一、引言         本文主要討論下向Excel中插入圖表的兩種方式。在Excel中圖表是有兩種級別的,一種是和sheet同級別的圖表,也就是說整個excel的標籤頁就是一個圖表;還有一種就是我們最常使用的在一個sheet中插入的圖表,我們姑且叫它sheet子圖表。這

linux實戰-redis2 -- 配置redis的伺服器啟動關閉

    =====================redis配置==================================     上一篇文章我們已經完成了對redis的安裝,接下來就可以按照上面的方法使用,但是這裡還存在一些小問題,那就是linux系統重啟之後都

C#操作Word——在Word插入圖片

例項說明 在Word文件的使用過程中,我們可以輕鬆的向文件中插入圖片資訊,那麼,怎樣使用C#向Word文件中插入圖片呢?本例項將會介紹一種方法,可以方便的實現上述功能。例項執行效果如圖1所示。   圖1  在Word文件中插入圖片 例項執行中單擊“建立Word文件”按鈕,會根

C#操作Word——C#向Word寫入文字

例項說明 Word有著強大的文字編輯功能,我們可以輕鬆的在Word中輸入文字內容,更改文字字型,設定文字大小、顏色,方便的對文字內容排版。在前面的例項中已經詳細介紹了怎樣使用C#建立Word文件,本例項將會使用C#方便的向指定的Word文件中輸入文字內容。例項執行效果如圖1所

C/C++串列埠通訊2-重疊操作

重疊操作時,操作還未完成函式就返回。 重疊I/O非常靈活,它也可以實現阻塞。有兩種方法可以等待操作完成: 一種方法是用WaitForSingleObject這樣的等待函式來等待OVERLAPPED結構的hEvent成員; 另一種方法是呼叫GetOver

C#對字元的各種操作函式及其使用

!!!此部落格僅作為本人的學習記錄使用,若有出現雷同的部分或許是緣分!!若有發現錯誤或遺漏的部分,歡迎評論區補充,謝謝!! 1,ToUpper() & ToLower():字串的大小寫轉換          主體結構:字串名.ToUpper() / 字串名.ToL

Bootstrap的排版2-

oot 分享 ctype -s 示例 color col mage capi <P>標簽:  默認:14px;  行高20px;  底部外邊距:10px; 文本對齊:  .text-left   左對齊  .text-right  右對齊  .text-cen

C#的struct結構為值類型,struct類型全接觸

line 輸出 其他 重要 影響 初始化 最大 cat type類 眾所周知,struct類型和class類型非常相似,尤其是在C++中,class可以辦到的事struct幾乎都可以實現。在C#中struc類型依然存在,它的用處相對來說已經顯得越來越不重要,這裏主要講述一下

C++的常量 const限定符

無法 簡單的 對象 可能 函數重載 struct 理解 變量 必須 最近在重新看<<C++ Primer>>,第一遍的時候const和constexpr看得並不太懂,這次又有了些更新的理解,當然可能仍然有許多不對的地方... 首先,const限定符即

3.1C#基礎 - C# 的 Hello World2

大小寫 我們 解釋 pre blog 分享 ref sharp 圖片 在上篇文章中,你跟著我寫了一個HelloWorld,本篇中,我們來談談一些C#程序中的小概念 1、C# 程序結構 一個 C# 程序主要包括以下部分: 命名空間聲明(Namespace declarati

C程序設計導引2

類型 使用 結果 邏輯或 滿足 default 邏輯與 及其 != 第3章 3.1 關系運算符和邏輯運算符 關系運算符 <、<=、>、>= 左端小於、小於等於、大於、大於等於右端時返回值為1,否則為0 ==、!= 左端等於、不等於右端

C#復習筆記2--C#1所搭建的核心基礎

ces 特性 函數 不同的 是不是 multicast 屬性 異常 編譯 通過對C#1所搭建的核心基礎的深入了解,可以知道之後的C#版本在C#1的基礎上做了很多擴展,而這些擴展都是基於C#搭建的核心基礎而來的。 委托 一、編寫委托的過程 委托經常和C語言的“函數指針”掛鉤。

常用數據庫操作語句2

數據 != 排序 編程 就是 int str 表結構 author 查看表結構desc test; 顯示表列定義show columns from test; 顯示表的索引show index from test; 插入表數據INSERT INTO book (book_n

C++重載overload覆蓋override與隱藏oversee

acl 普通 evc dft war srx rpo 成員 avt body, table{font-family: 微軟雅黑; font-size: 10pt} table{border-col

部署Django到雲伺服器centos+nginx+mysql+uwsgi+python3操作2

接上篇操作篇(1):https://blog.csdn.net/jacky_zhuyuanlu/article/details/82880612 (七)建立Django專案 (1)建立資料夾,存放網站 mkdir -p /data/wwwroot

C++的回車\n換行(\r)

‘\n’ 換行,游標移到下一行的開頭; '\r' 回車,游標移到當前行的開頭,不會換到下一行,如果接著輸出的話,本行以前的內容會被逐一覆蓋; #include <iostream> using namespace std;  

C#:執行緒2:建立執行緒

一:建立新執行緒 在C#裡,執行緒是一種已經定義好的類,其被定義在System.Threading名稱空間內,因此建立新執行緒和我們例項化物件並沒有本質的差別。在這裡,用一個最簡單的例子說明如何建立新執行緒。 (一):建立新的控制檯程式,在控制檯程式的主函式下面,寫一個希望在新執行緒中呼叫的