日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

记录某次利用word邮件功能 由excel数据中批量生成奖状 遇到的问题及解决措施

發布時間:2023/12/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记录某次利用word邮件功能 由excel数据中批量生成奖状 遇到的问题及解决措施 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學校的一次活動結束之后,部門下發了一個任務:由一個excel中的數據生成獎狀

excel中的數據為以上形式,根據排名分為一二三等獎,要給每組分發獎狀,獎狀為以下格式

獎狀中一共有三處不同的地方:

  • 團隊名稱不同,要求“團隊”前寫上隊伍中五個人的名字且帶空格
  • 獎狀編號不同
  • 獲得的獎不同,對應著下面的稱號也不同
  • 如果人工操作,除了需要一個文件一個文件編輯,還有一個很麻煩的地方,那就是團隊成員無法直接復制,表格中的數據帶有年級+學號,而獎狀中只需要姓名。

    這種由數據批量編輯的做法很容易想到word的郵件功能,正好我之前用的不多,就拿來練練手。然后我馬上遇到了第一個問題

    word郵件功能無法打開數據源


    其實這個解決辦法很簡單,大部分的原因都是因為文件格式不對。郵件合并功能不支持excel的高級版本,也就是.xlsx對應的07版往上,將excel另存為.xls就解決了
    如果還有問題,那基本上就是格式的問題了,郵件要求第一行的字段名稱對應下面的字段內容,格式錯了之后再修改成功是很難的,我建議把對你有用的數據單獨復制下來,粘貼到一個新建的xls文件中,這樣能就解決問題

    打開數據源之后插入合并域,這里的操作很簡單,在你想要的位置插入對應的字段就好了

    但在這之前還有之前提出的一個問題沒有解決,獎狀中要求只要人名,但數據是帶有年級和學號的,直接插入就會出現這種情況

    雜亂的數據中提取姓名

    考慮通過替換的方式修改excel中的數據,可以觀察到每個數據的格式是這樣的:“年級-學號-姓名”,這里說來話長,如果數據都是這個格式,改起來并不難,但是這些數據是不嚴格篩查格式的個人填表,我們在表中一次次篩查后發現了以下幾種情況:

  • “-”格式錯誤,數據中有這幾種“-”的替換寫法:空格半角非中斷空格( )中文“-”全角“-”
  • 不寫“級”或多寫,比如“20級-”寫為“2020級-”或“20-”
  • 寫成“年級-姓名-學號”,這個比較嚴重
  • 不寫“-”,即“年級學號姓名”,這個也很嚴重
  • 在年級后面跟上專業,比如“21級計算機-”或“21計算機-”
  • 上面幾種問題的組合,比如寫成“年級-姓名-學號”,而且不寫“-”,“級”就會和姓名連起來
  • 單純用excel的替換肯定是解決不了這些問題的,用正則表達式比較理想。一番嘗試與修改過后,我們制定出了一套針對于這些數據的提取方案,其中excel替換和正則表達式結合使用(正則表達式使用該工具)

    順序必須不能錯:

  • 將下面這些符號替換為“-”:空格 半角非中斷空格( ) 中文短杠 全角短杠
  • 正則替換 正則表達式:\d\d級
  • 正則替換 正則表達式:[\x{4e00}-\x{9fa5}]{2,5} 子模式序列號:-$0-$1
  • 正則匹配 正則表達式:(-[\x{4e00}-\x{9fa5}]{2,5}-)|(-[\x{4e00}-\x{9fa5}]{2,5})
  • excel通配符替換“*–”(這里是雙杠)為空格
  • excel替換“-”為空格
  • 分別的作用為:

  • 講語法錯誤糾正,統一改為“-”
  • 先去掉“級”,避免級和姓名連起來無法區分的情況
  • 給沒有在分割處寫“-”的加上“-”,方便之后處理
  • 只留下姓名和兩旁的“-”(還有一小部分處理不到,下面一步來處理)
  • 處理上一步無法處理的,即“計算機-”這種,這種到這里已經被處理為“計算機–姓名”,用通配符刪掉“–”之前的即可
  • 刪掉所有的“-”
  • 到這里就可以純凈提取出所有的名字了,插入合并域并點擊“查看合并數據”后就能得到如下效果,上下翻就能看到做的每一張

    然后我們需要導出這每一張獎狀,點擊“合并到不同新文檔”,將這些文件放到一個新建的文件夾中

    之后又出現了一個嚴重的問題

    word郵件合并后,每個單獨的文件最后都會多出一頁


    我并沒有找到一個簡單的處理方法批量刪除文檔最后一頁,WPS的批處理中沒有找到這個功能,所以嘗試用word中的宏來處理
    由于宏也無法直接批量運行,所以需要一個vbs文件來操作宏批量運行,運行時office的Word配置比較完全,容易創建進程,所以在Word中錄制宏,之后再討論如何使用WPS
    錄制宏需要先開啟“開發工具”這一欄,具體方法可以在網上找
    Word中錄制宏沒法記錄鼠標操作,所以刪除第二頁必須只用鍵盤操作,幾番嘗試后我找到了一個比較好的方法:

  • PgDn(跳轉到最后一行)
  • End(光標到最后一列)
  • Del(刪除右方即刪除第二頁)
  • 所以點三下鍵盤即可刪除第二頁,之后點一下保存,再結束錄制
    也可以直接代碼寫一個宏,要注意宏的名字要符合變量命名,數字不能開頭,盡量用英文,我這個起了個名叫“g4”

    Sub g4()Selection.MoveDown Unit:=wdScreen, Count:=1Selection.EndKey Unit:=wdLineSelection.Delete Unit:=wdCharacter, Count:=1ActiveDocument.Save End Sub

    然后就是

    如何批處理運行宏了

    在需要操作的文件夾里新建一個.vbs文件

    編輯并輸入以下內容,有兩處需要修改的地方

    Option Explicit Const c_strRootFolder = "C:\Users\lyle\Desktop\a\b" `這里輸入文件夾路徑,外面要加"" On Error Resume Next Dim oApp, oDoc Dim fso, oFolder, oFile Set fso = CreateObject("Scripting.FileSystemObject") Set oFolder = fso.GetFolder(c_strRootFolder) Set oApp = CreateObject("Word.Application") oApp.Visible = TrueFor Each oFile In oFolder.FilesIf (UCase(Right(oFile.Path, 4)) = ".DOC") Or (UCase(Right(oFile.Path, 5)) = ".DOCX") ThenSet oDoc = oApp.Documents.Open(oFile.Path)oApp.Run "g4" `這里寫宏的名稱,外面要加""oDoc.Close TrueEnd If NextoApp.Quit False Set oFolder = Nothing Set fso = Nothing Set oApp = Nothing

    編輯完成之后點擊,就會看到一個文件一個文件的閃出,操作沒問題的話就成功了

    總結

    以上是生活随笔為你收集整理的记录某次利用word邮件功能 由excel数据中批量生成奖状 遇到的问题及解决措施的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: www.夜夜爽| 精品少妇人妻av免费久久洗澡 | 爱福利视频一区 | 日韩精品欧美在线 | 黄色a一级视频 | 亚洲第六页 | 丁香花五月 | 美女视频黄a视频全免费观看 | 老太太av| 婷婷中文字幕 | 婷婷丁香亚洲 | 国产99久久精品 | 成年人精品视频 | 色婷婷91| 秋霞一区二区三区 | 日韩毛片在线免费观看 | 亚洲手机在线观看 | 特黄网站| 一区二区在线观看免费视频 | 国产一级在线观看视频 | www.在线观看麻豆 | 伊人一级片 | 午夜8888 | 视频在线国产 | 日本午夜一区二区三区 | 国产对白刺激视频 | 撒尿free性hd | 色悠悠av| 少妇被按摩师摸高潮了 | 可以直接观看的av | 中国精品久久 | 免费黄网站在线看 | 手机看片1024久久 | 精品久久久久久中文字幕人妻最新 | 中文字幕一区二区三区日韩精品 | 姐姐av| 97小视频 | 国产精品一区二区三区免费 | 国产乱子视频 | 亚洲视频欧美 | 亚洲国产精品福利 | 亚洲第一国产 | 99久久久国产精品无码性 | 欧美粗大猛烈老熟妇 | 久久精品无码一区二区三区毛片 | 91成人免费在线 | 小视频国产| 国产伦精品一区二区三区高清版 | 天天摸天天操天天爽 | 成人国产精品一区 | 色精品视频 | 九九视频这里只有精品 | 一级片免费观看 | 国产一区二区免费电影 | 在线超碰91| 欧美激情视频在线播放 | sm在线看 | 一久久 | 双性尿奴穿贞c带憋尿 | 超碰在线人人 | 阿娇全套94张未删图久久 | 国产在线视频99 | 国产牛牛 | 欧美精品色视频 | 野花视频在线观看免费 | 欧美色图一区 | 欧美男人操女人 | 久久精品大片 | 大香伊人中文字幕精品 | 亚洲欧美乱综合图片区小说区 | 欧美色频 | 午夜黄色在线观看 | 一区二区福利视频 | 国产一区二区三区四区视频 | 欧美精品性生活 | 久久久久免费精品视频 | 欧美性猛交xxxx偷拍洗澡 | 精品亚洲一区二区三区四区五区高 | 国产欧美精品 | 国产电影一区二区三区爱妃记 | 午夜精品三级久久久有码 | 91精品影视 | 国产中文字幕网 | 亚洲无码精品一区二区三区 | 国产日产精品一区 | 蜜桃成人在线视频 | 国产999视频| 一区二区三区视频 | 日韩一级在线视频 | 91天天 | 精品国产免费观看 | 在线免费成人 | 天天综合av| 夜夜操网站 | 黄色大尺度视频 | 五月天激情小说 | 精品久久久视频 | 人妻与黑人一区二区三区 | 一区影视 |