在EXCEL中打開及修改WORD文件

2021-02-14 VBA語言專家

你已選中了添加連結的內容藍字關注,加微信NZ9668獲資料信息

 VBA解決方案   系列叢書作者 

頭條百家平臺 VBA資深創作者

_______________________________

大家好,最近推出的內容是「VBA信息獲取與處理」中的部分內容,這套教程面向中高級人員,涉及範圍更廣,實用性更強,現在的內容是第一個專題「如何在Word中打開、激活、關閉Excel文件」的內容。第四節在EXCEL中打開及修改WORD文件在上面的專題中,我們講了如何在WORD中打開EXCEL。那麼同理,如何在EXCEL中打開WORD呢?在這講中我給出專題的講解,這個講解中我們將利用CreateObject函數和GetObject 函數分別建立一個引用及獲取已經打開的WORD文件信息。這講的內容為了增加實用性,我在程序中還給出了如何向WORD的表格(非嵌套)中添加數據,這個數據來源於EXCEL。1 EXCEL中判斷一個WORD文件是否被打開在EXCEL中判斷WORD文件是否被打開,我們可以利用GetObject 函數獲取一個WORD主程序的返回情況。這裡我利用一個WordIsOpen的函數過程。代碼如下:Function WordIsOpen(ByVal strDocName AsString) As Boolean strDocName = UCase(strDocName) SetmyWd = GetObject(, "WORD.Application") ForEach doc In myWd.Documents代碼講解:這是一個函數過程,需要輸入一個strDocName的字符串,用於我們核對是否打開那個文件的文件名,然後我們利用Set myWd = GetObject(,"WORD.Application")語句捕獲是否有word打開的主程序,如果有,我們將提取每個文件的文件名,用於我們的判斷。下面看具體的講解:①WordIsOpen = False 首先令WordIsOpen初始值為FALSE②  On Error Resume Next 是建立一個錯誤處理語句,這個語句是當沒有word文件打開時以便對後續錯誤進行處理③  For Each doc In myWd.Documents上述語句是一個遍歷的循環,如果打開的文件中含有名稱為給出的文件名的文件,那麼返回的將是WordIsOpen = True。 在中主程序中我們將利用WordIsOpen函數對我們需要判斷的文件進行判斷,如果沒有打開,那麼執行打開操作,再進行修改;如果已經打開,那麼執行修改操作。 RR = WordIsOpen("E:\NZ\文章\06 VBA信息獲取與處理\001 在WORD中激活EXCEL.docm")If Not RR Then  '創建Word對象  SetmyWdA = CreateObject("Word.Application") myWdA.Visible = True '打開指定文檔  SetMyDocument = myWdA.Documents.Open("E:\NZ\文章\06 VBA信息獲取與處理\001 在WORD中激活EXCEL.docm")  '獲取當前Excel的SHEET2的單元格C2數據 mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value MyDocument.Tables(1).Cell(2, 3).Range.Text = mystr  Set myWdA = GetObject(, "WORD.Application")  For Each doc In myWdA.Documents     Ifdoc.FullName = "E:\NZ\文章\06 VBA信息獲取與處理\001 在WORD中激活EXCEL.docm" Then      mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value     doc.Tables(1).Cell(2, 3).Range.Text = mystr代碼解讀:上述代碼先利用WordIsOpen函數判斷"E:\NZ\文章\06 VBA信息獲取與處理\001 在WORD中激活EXCEL.docm"是否已經打開,如果沒有打開,那麼利用CreateObject函數建立引用,然後打開這個文件,打開後修正文件文件,如果已經打開了文件,那麼首先定位到打開的文件,然後在修正。下面看代碼的重點講解:① If Not RR Then  '創建Word對象  SetmyWdA = CreateObject("Word.Application") myWdA.Visible = True '打開指定文檔  SetMyDocument = myWdA.Documents.Open("E:\NZ\文章\06 VBA信息獲取與處理\001 在WORD中激活EXCEL.docm")  '獲取當前Excel的SHEET2的單元格C2數據 mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value MyDocument.Tables(1).Cell(2, 3).Range.Text = mystr②Set myWdA = GetObject(, "WORD.Application")  For Each doc In myWdA.Documents    If doc.FullName = "E:\NZ\文章\06 VBA信息獲取與處理\001 在WORD中激活EXCEL.docm"Then      mystr = ThisWorkbook.Sheets(2).Cells(2, 3).Value     doc.Tables(1).Cell(2, 3).Range.Text = mystr上述代碼是當文件已經打開,定位所給出的文件,然後修訂文件的代碼。③上述文件修訂的代碼,我給出的比較簡單,大家在實際利用的時候可以發揮使用。 本節知識點回向:如何利用CreateObject函數和GetObject 函數來判斷一個給定的文件是否打開?當已經得到文件已經打開時如何定位到這個文件?以上兩個問題就是本節要講解的主要問題,其中的代碼完全可以用作通用代碼來對待。 本節代碼參考文件「001 在WORD中激活EXCEL.docm」 VBA是利用Office實現自己小型辦公自動化的有效手段,這時我對VBA的應用界定。在取代OFFICE新的辦公軟體沒有到來之前,誰能在數據處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!學習VBA是個過程,也需要經歷一種枯燥的感覺,如太白詩云:眾鳥高飛盡,孤雲獨去閒。相看兩不厭,只有敬亭山。「水善利萬物而不爭」,綿綿密密,微則無聲,巨則洶湧。學習亦如此,知道什麼是自己所需要的,不要蜷縮在一小塊自認為天堂的世界裡,待到暮年時再去做自欺欺人的言論。要努力提高自己,用一顆充滿生機的心靈,把握現在,這才是進取。越是有意義的事情,困難會越多。願力決定始終,智慧決定成敗。不管遇到什麼,都是風景。看淡紛爭,看輕得失。茶,滿也好,少也好,不要計較;濃也好,淡也好,其中自有值得品的味道。去感悟真實的時間,靜下心,多學習,積累福報。而不是天天混日子,也不是天天熬日子。在後疫情更加嚴峻的存量殘殺世界中,為自己的生存進行知識的儲備,特別是新知識的儲備。學習時微而無聲,利用時則巨則洶湧。我記得20年前自己初學VBA時,那時的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學習VBA的朋友重複我之前的經歷,我根據自己多年VBA實際利用經驗,推出了六部VBA專門教程。第一套:VBA代碼解決方案是VBA中各個知識點的講解,覆蓋絕大多數的VBA知識點,初學必備;第二套:VBA資料庫解決方案資料庫是數據處理的專業利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,適合中級人員的學習。第三套:VBA數組與字典解決方案   數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學習,是初級及中級人員代碼精進的手段。第四套:VBA代碼解決方案之視頻是專門面向初學者的視頻講解,可以快速入門,更快的掌握這門技能。第五套:VBA中類的解讀和利用是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細的學習可以促進自己VBA理論的提高。第六套教程:《VBA信息獲取與處理》是一部高級教程,涉及範圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程式信息獲得、隨機信息的利用、電子郵件的發送、VBA網際網路數據抓取、VBA延時操作,剪切板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定製工作表信息函數等等內容。如需要可以可以WeChat: NZ9668學習的過程也是修心的過程,修一個平靜的心。在代碼的世界中,心平靜了,心情好了,身體自然而然就好。心靜則正,內心裡沒有那麼多邪知邪見,也就沒有那麼多妄想。利人就是利己。這些教程也是為幫助大家起航,助上我自己之力,我的上述教程是我多的經驗的傳遞,大家可以根據以上資料1,3,2,6,5或者是4,3,2,6,5的順序逐漸深入的逐漸學習。 每一分收穫都是成長的記錄,怎無憑,正是這種執著,成就了朝霞的燦爛。最後將一闕詞送給致力於VBA學習的朋友,讓大家感受一下學習過程的枯燥與執著:

_____________________________ 

 

更多關聯閱讀

  

相關焦點

  • 如何在word中插入excel文件表格
    這樣不會實時跟新,注意,右邊還有個複選框【連結到文件(K)】,如果這裡√的話,就可以達到我們預期的效果了,excel文件更新後,word文檔裡的內容也一起變動了。  這樣做法的好處:當然不用說,一起更新了,而且,你打開word文檔後,雙擊excel表格區域,可以直接打開excel表格進行編輯,編輯結束後關閉excel,在word裡的excel表格滑鼠右擊,選擇【!
  • Excel 表格如何漂亮的導入到word 文檔中 ?
    還記得方法嗎:word表格文檔另存為網頁格式用Excel打開網頁文件另存為Excel文件很多同學問,Excel表格怎麼導入到word文檔中呢?也可以用另存為網頁文件方式嗎?3、粘貼為帶連結的word表格如果你想讓excel和word建立連結(excel表格修改word中的表格也隨之更新
  • 如何在Word中插入Excel和PPT?
    01、在word中插入Excel表格。我想應該很多同學不知道,在word中其實可以插入excel的表格。文檔中有同學可能會問問:插入的數據可以修改嗎?答:可以的,滑鼠雙擊表格,即可修改插入的表格數據!中插入PPT文件同樣的道理,我們可以在word中插入PPT文件選擇【插入】中的【新建】,插入【PPT】
  • 你果然修改了我的Excel文件名,嘿嘿.....
    我們可以用保護工作簿、工作表和區域的方式防止同事修改指定位置的格式。但,怎麼防止同事修改excel文件名呢?一般的方法還真做不到!蘭色想到一個另類的方法,專治多動症的同事:你修改可以,但我讓你在模板中啥也做不成。
  • 不要再用手工粘貼了,Word中插入各種文件有簡單方法!
    作者:小豬  來源:excel和ppt與word(id:office196)平時給領導提交word文檔的工作報告,為了讓整個報告詳盡,往往會附帶一些不同格式的附件一起提交過去。那麼,這些附件能不能直接插入到word文檔中呢?這樣子就省得額外提交。當然可以。我們可以先來看一下插入效果圖:
  • 解決Excel打開文件亂碼的問題
    今天用公司的CMS導出了一個CSV數據文件,需要在Excel中處理並打開,但是我直接用Excel打開這個CSV文件卻發現,文件中的所有中文字符都變成了亂碼
  • Excel表格轉換為Word表格?99%的人想不到這樣做最簡單!
    還記得方法嗎:word表格文檔另存為網頁格式用Excel打開網頁文件另存為Excel文件很多同學問,Excel表格怎麼導入到word文檔中呢?也可以用另存為網頁文件方式嗎?用Excel做的出差預算表3、粘貼為帶連結的word表格如果你想讓excel和word建立連結(excel表格修改word中的表格也隨之更新),可以粘貼帶連結的格式。
  • Excel中的xls、xlsx、xlsm混合文件,看我用Python如何統一處理......
    在Python中,有幾個常用的庫專門用來處理Excel文件,分別是xlrd、xlwt和openpyxl,簡單介紹一下:openpyxl可以讀數據和寫數據,但只能處理xlsx;如果待處理的文件,既有xls,又有xlsx時,我覺得還是將它們一併轉換為統一格式
  • 解決EXCEL文件不能雙擊打開問題方法匯總,親測有效!
    當雙擊EXCEL文件的時候打開是一個灰色的空白界面。有時候會通過多次重複打開會好,或者在EXCEL應用中打開,或拖入文件方式打開。總之這個問題挺麻煩的,困擾了我很久。一開始以為是自己EXCEL出問題了,但是最近變得越來越懶。也就索性懶得去重裝了。後來發現身邊朋友也陸陸續續遇到了這種問題,所以想起了研究一下。
  • 技巧 Word Excel打開亂碼的解決方法匯總
    遇到打開的Word文件中全是些亂碼或者Word打開時提示說需要安裝轉換器;Excel打開時說格式不符合或打開顯示亂碼。
  • 如何將Excel中的數據寫入Word表?
    word中表格的數據讀入excel……之後有朋友表示知道了,又問如何將excel中的數據寫入word……此時此刻,我再一次清醒的意識到,這世界上像我這樣好的人已經不多了。再下圖是word中的一張excel表
  • 設置Excel文檔打開和修改密碼
    我們可以設置Excel打開權限密碼和編輯權限密碼。一、設置工作簿打開和修改密碼操作步驟:1)點擊「文件」—>「另存為」命令,打開「另存為」對話框,如圖 1所示。圖2第二步:在「常規選項」對話框(圖 3所示)中,設置「打開權限密碼」或「修改權限密碼」。顧名思義,設置了打開權限密碼後,再次打開文檔時,只有輸入打開權限密碼,才能打開文檔。
  • vue預覽word,excel,pptx,pdf文件
    vue預覽word,excel,pptx,pdf文件1、做word,
  • word轉excel詳細教程
    今日課程主要給小夥伴們介紹如何將word文檔完美轉換為excel表格,這裡介紹兩種轉換方法。利用分列的方法進行轉換。打開word文檔,複製需要轉換為excel表格的內容打開excel,按住CTRL+v複製內容,點擊【數據】-【分列】
  • 這3種Word、Excel格式不變的互轉方法,實在太好用了!
    但在製作的過程中你一定碰到過這些問題:Excel裡做的表格、圖表,一複製到word就變的亂七八糟!那麼,有沒有什麼好的方法,即省時,又能保留原格式呢?今天叨叨君就教大家幾個不變形的轉換方法。Excel轉Word非常簡單,只需兩步就能輕鬆搞定!第一步:在excel表中,選中數據區域,【Ctrl+C】複製。
  • 英文裡,求你不要把word文件叫word,excel文件叫excel, ppt文件叫ppt
    在中文裡習慣裡,把WORD文件叫WORD,EXCEL文件叫EXCEL,PPT文件叫PPT很正常。把這個WORD列印出來。我今天有十幾個EXCEL要發。你這個PPT做得專業喔。但英語裡,你可千萬別這樣說。
  • Excel打開csv文件出現亂碼的解決方法
    CSV文件是一種數據文件,正常情況下,我們可以直接在excel表格中打開CSV文件,不過有時也會出現亂碼,很多人不知道該如何解決。
  • 超實用|Word、Excel互轉表格總變形?你可以這麼辦!
    由於微信推送機制變化互動少的用戶會逐漸接收不到推送請大家將『輕鬆外貿』設為星標或點擊在看以免錯過每日精彩內容推送Hello, 大家好,工作中相信很多人遇到過這樣的問題,就是將word中的表格放進excel中或者excel的表格放進word中,表格就會發生變形,我們還要設置表格的格式非常的麻煩,今天就跟大家分享下我們如何實現兩種表格相互轉化而不會變形一、word轉excel 不形首先我們打開word,然後點擊文件選擇另存為然後選擇一個能自己找到的路徑將這個文件的格式儲存為單個文件網頁,然後點擊確定
  • Excel文檔首次打開空白,再次打開才正常的解決辦法
    Excel文檔首次打開空白,再次打開才正常的解決辦法今天一客戶找到即到哥,說:自己的excel文件打開有問題,第一次都無法正常打開
  • 如何把EXCEL的表格完整的粘貼到WORD文件中
    回歸正題今天雷哥跟大家分享下如何把Excel文檔直接插入到Word中~step1:單擊【插入】選項卡【文本】組中的【對象】按鈕;step2:在彈出的【對象】對話框中,點擊【由文件創建】選項卡中的【瀏覽】按鈕,選擇需要導入的excel文檔;