您現在的位置是:首頁 > 藝術

開啟文件,並將文件分配給變數

由 VBA語言專家 發表于 藝術2022-09-16
簡介大家要注意這行程式碼的意義有兩個,其一是開啟myFile變數所代表的檔案,其二是將這個檔案賦值給變數myDoc,這種寫法簡單明瞭,同時在後續的程式碼中,我們就可以利用這個變量了,直接可以用myDoc變數來進行相關的操作,如果不利用這種變數處

docm是什麼檔案怎麼開啟

【分享成果,隨喜正能量】人生不能靠心情活著,而要靠心態去生活。心情像六月的天氣,陰晴不定。一個人的生活如果要依賴於心情,他一定也是善變的,他的人生會像斷了線的風箏,隨風搖擺,無法自拔。生活的強者,會及時調整自己的心態,讓心情時常保持積極向上,充滿陽光。被心情左右的人常迷茫,左右心態的人常快樂。

《VBA之Word應用》,是我推出第八套教程,教程是專門講解VBA在Word中的應用,圍繞“面向物件程式設計”講解,首先讓大家認識Word中VBA的物件,以及物件的屬性、方法,然後透過例項讓大家感受到Word VBA 的妙處。本套教程共三冊十六章,今日內容是第三章“文件集合Documents物件及文件Document物件”第3節:開啟文件,並將文件分配給變數。

開啟文件,並將文件分配給變數

第三節 開啟文件,並將文件分配給變數

在上一節中,我們講解了利用Documents的Open方法開啟一個指定文件的方法,在這個方法中,我們利用的語句是Documents。Open myFile,這種方法中會直接開啟一個文件,但是,文件開啟是為了操作,在後續的文件操作中,我們要捕獲開啟的文件的物件,進而完成後續的操作。

VBA是面向物件的程式設計,所有的操作也都是面向物件的操作,所以我們可以將文件開啟後,直接將文件分配給一個變數,以利用後面的操作。

1 開啟文件並將文件分配給變數的思路分析

在《VBA之Excel應用》中,我們講過對變數的賦值,一般情況下賦值直接用“某變數=值”即可,但是在給物件變數賦值的時候要用Set語句。這裡我們可以利用Set語句給文件物件變數進行賦值,在賦值的同時我們可以同時用Documents。Open myFile開啟指定的檔案。

賦值後我們就可以透過變數與文件進行互動了,這種操作的程式碼非常簡單,而且給後期的操作留下了充分的介面,利用我們後續的文件操作。使我們能夠隨時輕鬆引用文件。

2 開啟文件並分配給變數的程式碼

我們來看下面的程式碼,這段程式碼將開啟一個指定的檔案,然後在開啟的文件中寫入些文字,我們先來看程式碼:

Sub mynzB()

Dim myFile As String

Dim myDoc As Document

myFile = ThisDocument。Path & “\” & “示例03。docx”

If Dir(myFile) <> “” Then

Set myDoc = Documents。Open(myFile)

Else

MsgBox myFile & “不存在!”:END

End If

myDoc。Range(0, 0)。Text = “《VBA之Word應用》”

ActiveDocument。Save

‘Documents(myDoc)。Save

’ActiveDocument。Close wdSaveChanges

‘Documents(myDoc)。Close wdSaveChanges

ActiveDocument。Close wdDoNotSaveChanges

’Documents(myDoc)。Close wdDoNotSaveChanges

End Sub

程式碼截圖:

開啟文件,並將文件分配給變數

3 程式碼的解讀及執行

下面我們看看程式碼的解讀:

1)Dim myFile As String 這行程式碼將定義一個變數作為檔名

2)Dim myDoc As Document 這行程式碼將定義一個文件物件變數

3)myFile = ThisDocument。Path & “\” & “示例03。docx” 這行程式碼給檔名變數賦值

4)If Dir(myFile) <> “” Then 這行程式碼對檔案進行判斷,確認是否存在

5) Set myDoc = Documents。Open(myFile) 開啟一個檔案,並將這個檔案賦值給物件變數。大家要注意這行程式碼的意義有兩個,其一是開啟myFile變數所代表的檔案,其二是將這個檔案賦值給變數myDoc,這種寫法簡單明瞭,同時在後續的程式碼中,我們就可以利用這個變量了,直接可以用myDoc變數來進行相關的操作,如果不利用這種變數處理那麼我們需要進行ActiveDocument這樣的程式碼處理了。

6) MsgBox myFile & “不存在!”:end 這行程式碼的意義是,如果檔案不存在將提示給使用者並終止程式碼的執行

7) myDoc。Range(0, 0)。Text = “《VBA之Word應用》” 這行程式碼的意義是在開啟文件的開始寫入 “《VBA之Word應用》”

8) ActiveDocument。Save 這行程式碼的意義是儲存活動文件

9) ‘Documents(myDoc)。Save 這行程式碼的意義是關閉名稱為myDoc變數所代表的檔案

10) ’ActiveDocument。Close wdSaveChanges 這行程式碼的意義是關閉當前活動文件,並做儲存處理。

11) ‘Documents(myDoc)。Close wdSaveChanges 這行程式碼的意義是關閉myDoc變數所代表的文件,並做儲存處理。

12) ActiveDocument。Close wdDoNotSaveChanges 這行程式碼的意義是關閉當前活動文件,並做不儲存處理。

13) ’Documents(myDoc)。Close wdDoNotSaveChanges 這行程式碼的意義是關閉myDoc變數所代表的文件,並做不儲存處理。

最後我們看程式碼的執行情況:《VBA之Word應用》字串已經新增在了文件的起始部位了:

開啟文件,並將文件分配給變數

今日內容迴向:

1

如何利用文件變數來儲存開啟的文件?

2

本講所講解的方案和上節的方案有什麼不同

3

本講最後部分程式碼給的語句是否理解?

開啟文件,並將文件分配給變數

本講內容參考程式檔案:

Doc 00

3

文件

.doc

m

推薦文章