【分享成果,順熙正能量】這個世界上最不想接觸的是沒有能力但同時擁有很多感情的人。VBA可以提高你的能力,學習可以磨礪你的感情。
《VBA信息獲取與處理》教程是我推出的第六個教程,目前第一版已經修訂。本教程定位為高級、初級、中級結束后的教程。
信息、意義非常廣泛,是我們日常生活中不可缺少的一部分。從天氣和預報、人際關系到宇宙洪荒,都是信息的一部分。信息在一定程度上是數(shù)據,也可以用數(shù)據表示,獲得信息就是數(shù)據的獲取。本教程介紹了收集應用程序信息、利用隨機信息、發(fā)送電子郵件、收集VBA internet數(shù)據、VBA延遲操作、剪貼板應用程序、Split函數(shù)擴展、工作表信息以及與其他應用程序的交互、利用FSO對象、收集工作表和文件夾信息、收集圖形信息以及定制工作表信息函數(shù)非常抽象,更有研究價值。
本教程共2冊、84冊,今后一段時間內將陸續(xù)推出修訂后的教程內容。今天的內容是第4課:在EXCEL中操作WORD應用程序
第4節(jié)在EXCEL中打開和修改WORD文件
上述主題說明了如何在WORD中打開EXCEL。那么,如何在EXCEL中打開WORD呢?本課介紹了使用CreateObject函數(shù)和GetObject函數(shù)設置引用以及獲取已打開的WORD文件信息的主題。為了提高實用性,程序還提供了向WORD表單(非嵌套)添加數(shù)據的方法。此數(shù)據來自EXCEL。
1確保在EXCEL中打開了WORD文件
在EXCEL確定WORD文件是否打開后,可以使用GetObject函數(shù)獲取WORD主程序的返回。在這里,我使用WordIsOpen的函數(shù)過程。代碼如下:
function word is open(byval strdocname as string)as boolean
確定Word文檔是否重復打開
Dim myWd As Object
WordIsOpen=False
Set myWd=Nothing
On Error Resume Next
StrDocName=UCase(strDocName)
請確認單詞程序已打開。
Set mywd=getobject(,' word.application ')
For Each doc In myWd。Documents
UU=UCase)
If UU=strDocName Then
WordIsOpen=True
Exit For
End If
next
Set myWd=Nothing
End Function
代碼屏幕截圖:
代碼說明:這是函數(shù)過程。必須輸入strDocName字符串。輸入此字符串以確保該文件的文件名已打開,然后使用set mywd=getobject(,' word.application ')語句查看word是否已打開的具體說明。
WordIsOpen=False首先將WordIsOpen的初始值設置為False
On Error Resume Next是創(chuàng)建錯誤處理語句,該語句在word文件未打開時打開,以處理后續(xù)錯誤。
For Each doc In myWd。Documents
UU=UCase)
If UU=strDocName Then
WordIsOpen=True
Exit For
End If
next
上面的語句是遍歷的循環(huán)。如果打開的文件包含指定文件名的文件,則返回WordIsOpen=True。
兩周程序和在WORD中修改表單數(shù)據的程序
在中,主程序使用WordIsOpen函數(shù)來確定需要判斷的文件,如果未打開,則執(zhí)行打開操作,然后進行修改。如果已打開,請執(zhí)行修改操作。
代碼如下
下:Sub MYNZB()
Dim RR As Boolean
Dim myWdA As Object
Dim MyDocument As Object
RR = WordIsOpen & "\001 在WORD中激活EXCEL.docm")
If Not RR Then '創(chuàng)建Word對象
Set myWdA = CreateObject("Word.Application")
myWdA.Visible = True '打開指定文檔
Set MyDocument = myWdA.Documen & "\001 在WORD中激活EXCEL.docm")
'獲取當前Excel的SHEET2的單元格C2數(shù)據
mystr = T(2).Cells(2, 3).Value
'將取得得值設定到Word表格的1行2列中
MyDocument.Tables(1).Cell(2, 3).Range.Text = mystr
MyDocument.Save
Set myWdA = Nothing
Set MyDocument = Nothing
Else
Set myWdA = GetObject(, "WORD.Application")
For Each doc In myWdA.Documents
UU = UCase)
If doc.FullName = T & "\001 在WORD中激活EXCEL.docm" Then
mystr = T(2).Cells(2, 3).Value
'將取得得值設定到Word表格的1行2列中
doc.Tables(1).Cell(2, 3).Range.Text = mystr
doc.Save
Set doc = Nothing
Exit For
End If
Next
Set myWdA = Nothing
End If
End Sub
代碼截圖:
代碼解讀:上述代碼先利用WordIsOpen函數(shù)判斷"001 在WORD中激活EXCEL.docm"是否已經打開,如果沒有打開,那么利用CreateObject函數(shù)建立引用,然后打開這個文件,打開后修正文件文件,如果已經打開了文件,那么首先定位到打開的文件,然后在修正。下面看代碼的重點講解:
① If Not RR Then '創(chuàng)建Word對象
Set myWdA = CreateObject("Word.Application")
myWdA.Visible = True '打開指定文檔
Set MyDocument = myWdA.Documen & "\001 在WORD中激活EXCEL.docm")
'獲取當前Excel的SHEET2的單元格C2數(shù)據
mystr = T(2).Cells(2, 3).Value
'將取得得值設定到Word表格的1行2列中
MyDocument.Tables(1).Cell(2, 3).Range.Text = mystr
MyDocument.Save
Set myWdA = Nothing
Set MyDocument = Nothing
上述代碼是打開文件及修正文件的代碼。
② Set myWdA = GetObject(, "WORD.Application")
For Each doc In myWdA.Documents
UU = UCase)
If doc.FullName = T & "\001 在WORD中激活EXCEL.docm" Then
mystr = T(2).Cells(2, 3).Value
'將取得的值設定到Word表格的1行2列中
doc.Tables(1).Cell(2, 3).Range.Text = mystr
doc.Save
Set doc = Nothing
Exit For
End If
Next
Set myWdA = Nothing
上述代碼是當文件已經打開,定位所給出的文件,然后修訂文件的代碼。
③ 上述文件修訂的代碼,我給出的比較簡單,大家在實際利用的時候可以發(fā)揮使用。
本節(jié)知識點回向:如何利用CreateObject函數(shù)和GetObject 函數(shù)來判斷一個給定的文件是否打開?當已經得到文件已經打開時如何定位到這個文件?以上兩個問題就是本節(jié)要講解的主要問題,其中的代碼完全可以用作通用代碼來對待。
備注:本節(jié)代碼參考文件“001 工作表.xlsm”
我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中,教程學習順序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8
各套教程內容簡介:
第7套教程(共三冊):《VBA之EXCEL應用》:是對VBA基本的講解
第1套教程(共三冊):《VBA代碼解決方案》:是入門后的提高教程
第4套教程(16G):VBA代碼解決方案之視頻(第一套的視頻講解)
第3套教程(共兩冊):《VBA數(shù)組與字典解決方案》:是對數(shù)組和字典的專題講解
第2套教程(共兩冊):《VBA數(shù)據庫解決方案》:是對數(shù)據庫的專題講解
第6套教程(共兩冊):《VBA信息獲取與處理》:講解VBA的網絡及跨程序應用
第5套教程(共兩冊):VBA中類的解讀和利用:類及接口技術的講解
第8套教程(共三冊):VBA之Word應用(最新教程):word中VBA的利用
- 第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及范圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程序信息獲得、隨機信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網數(shù)據抓取、VBA延時操作,剪切板應用、Split函數(shù)擴展、工作表信息與其他應用交互,F(xiàn)SO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內容。程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。
1.《【word表格數(shù)據來源怎么插入】在EXCEL中操作WORD應用程序》援引自互聯(lián)網,旨在傳遞更多網絡信息知識,僅代表作者本人觀點,與本網站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《【word表格數(shù)據來源怎么插入】在EXCEL中操作WORD應用程序》僅供讀者參考,本網站未對該內容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內容來源地址,http://f99ss.com/keji/2519148.html