|
前些日子,因?yàn)楣ぷ餍枰?,得把一堆梳理出來的問題反饋給相關(guān)人員去處理,有幾百個人。問題反饋單是用word的郵件合并功能調(diào)用excel生成出來的。word郵件合并只能生成在一個文件中,不能每項(xiàng)記錄生成一個單獨(dú)的文件。涉及幾百個人的,如果手工拆成單獨(dú)的文件還不要累死去?作為資深菜鳥,只知其一不知其二是必然的。 于是,上網(wǎng)找大神。還真有大神提供了解決方案,說是把下面一段VBA代碼放到word里去運(yùn)行就OK了! ----------------我是菜鳥不會排版----------------- (這段代碼不是咱們菜鳥該研究的,反正只要按中間注釋的說明修改一下路徑就可以用了,我試過) VBA代碼: Sub myMailMerge() Dim myMerge As MailMerge, i As Integer, myname As String Application.ScreenUpdating = False Set myMerge = ActiveDocument.MailMerge With myMerge.DataSource If .Parent.State = wdMainAndDataSource Then .ActiveRecord = wdFirstRecord For i = 1 To .RecordCount .FirstRecord = i .LastRecord = i .Parent.Destination = wdSendToNewDocument '生成的各文檔的文件名,以數(shù)據(jù)源第1個和第2個字段的當(dāng)前數(shù)據(jù)命名,請自行修改命名公式 myname = .DataFields(1).Value & .DataFields(2).Value .ActiveRecord = wdNextRecord .Parent.Execute With ActiveDocument .Content.Characters.Last.Previous.Delete '生成的各文檔保存于D盤根目錄下,請自行修改文檔保存的路徑 .SaveAs 'D:\' & myname & '.doc' .Close End With Next End If End With Application.ScreenUpdating = True End Sub ----------------我是菜鳥不會排序----------------- 但大神就是大神,他絕對想不到咱們菜鳥連word中怎么運(yùn)行VBA都不會。只好繼續(xù)搜,總算搞明白了。在word中運(yùn)行VBA總共分三步(原來和把大象放冰箱一樣簡單): 第一步:打開word。再同時按下鍵盤上的兩個鍵:ALT和F11。 第二步:雙擊左側(cè)“ThisDocument”節(jié)點(diǎn),就會彈出一個大大的空白窗口,把那一堆VBA代碼粘貼進(jìn)去。 第三步:點(diǎn)擊上面一排按鈕中那個長得像播放按鈕的右小三角按鈕。就OK了! 點(diǎn)擊后,你們發(fā)現(xiàn)界面不停地閃動,每閃一下說明就生成了一個單獨(dú)的文件了,閃完后,你到D盤根目錄下去找那一堆生成的文件(VBA代碼中默認(rèn)設(shè)置的是D盤根目錄,就是這一句:.SaveAs 'D:\……可以自己修改)。 ----------------------- 編后廢話: 這是小編在頭條發(fā)的第一貼,作個自我介紹: 菜鳥最怕就是看大神的攻略,全是術(shù)語看頭就頭大!本人作為一名啥都感興趣的資深菜鳥,潛心研究各類技術(shù)二十余年,做網(wǎng)站、寫程序、搞美工、練書法、學(xué)畫畫、作文章、抓管理、裝逼格,屬于搞IT里面最懂美工的,搞HR里面最懂畫畫的,搞文字里面最懂程序的,最終一事無成,博而不精,徒留一堆手記。從菜鳥角度寫手記,同樣的”白”更易懂,你值得擁有! |
|
|