国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查

蔣祎 Johnny
+ 關注
2022-02-22 10:54
1927次閱讀
今天的故事并不精彩,說的是用一種比較過時的技術,實現了一個不太復雜的需求。
主要兩點心得想分享:
  • 有些活得設法給機器干,不然早晚給機器干。
  • Excel,YYDS! (永遠的神)
全文終 (bushi)
這是一個背調類的需求。
為了合規,我們要定期排查員工的關聯企業。
方法是拿著有所有人身份證號的Excel表,去一個類似企查查的網站查:
1.進入網站,選XXX查詢B標簽頁、輸入身份證號,點查詢
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
2.如果查詢的身份證號沒有經辦企業記錄,就會彈出對話框提示:
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
3.如果查到了,就會給出一條鏈接:
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
點進鏈接,出現含關聯企業的詳細信息的表格:
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
每查一個人,至少點4次鼠標,按2次鍵盤,而且網頁得加載、結果要記載,就算我整套操作如有神、連續工作不走神,20秒也不能再快。
每個人都占用我20秒,120個人就能占用我一節課。
這項工作的成本、用程序自動化能節約的成本,就都可以量化了。
這是一個RPA(機器人流程自動化)的需求。
RPA是一種軟件,它能模仿你在電腦上的操作,然后日夜不停自動做,不吃不睡不抱怨,只要公司不斷電。用RPA甚至可以不會編程;拖拖拽拽就能設置好流程。RPA會在背后把你的設置轉換成代碼,這樣你也可以通過改代碼進一步優化。
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
這有點像用Excel錄制宏。當然,RPA除了重復操作,還會有圖像識別、文字提取之類的更智能的功能。
但是,我這次沒用RPA,而用Excel VBA。
有這么幾點原因:

1.業務上,這個需求算不上高頻,也算不上大量

2.實現上,用RPA要花的時間不比寫VBA程序更少

3.技術上,VBA基本能實現,當然最重要的原因是:那個網站不要驗證碼

4.設備上,我的電腦有點帶不動

我希望讓Excel自動干這么些事情:
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
VBA能讀寫Excel,那是天經地義的,沒什么好說。
我們來說VBA自動搜索網頁。
為什么Excel還能操作別的軟件?(比如IE瀏覽器)
因為這些軟件開放了接口,讓程序員可以寫代碼接入并操作這些軟件,例如打開IE瀏覽器、進入指定網址:
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
程序打開網頁的同時也讀取到里里面的內容。只不過程序讀到的是一推HTML語言的代碼,而非我們肉眼所見的頁面。我們看得到的網頁,實際上是瀏覽器根據這些代碼“畫”出來的。
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
接下來,我們要在頁面上進行輸文字、點按鈕等操作。
但我們沒法直接告訴程序“把文字輸在中間那個框里,然后點藍色那個鍵。”
在網頁的代碼中,每個輸入框、每個按鈕都有自己的id,我們得告訴程序對哪個id的按鍵執行什么操作(例如點擊)。
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
怎么才能知道按鈕的id是什么?文末的參考鏈接里會說。
點完按鈕之后,可能還得讓我們的程序先暫停個幾秒,不然跑得太快了,網頁載入的速度都跟不上。
載完后,程序再次讀取網頁上的內容代碼。
如果沒查詢到記錄,網頁會彈個框出來。
這里有個坑,因為VBA是單線程的,程序被這個彈框中斷,直接死火,沒法再執行點“確定”操作。
為了處理簡單,我們搞了另一個小程序,逢彈框就關:
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
并且在VBA程序的最開始就啟動這個小程序。
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
(這里是用VBA啟動CMD并執行命令,執行同文件夾下的exe程序)
那怎么判斷網頁查到了關聯企業呢?
通常的思路是用程序讀取出網頁上的文字,并根據關鍵字判斷。
但是這個網頁有更簡單的判斷方法:如果有關聯企業,網頁上會用一個表格來呈現結果,如果沒有關聯企業則沒有這個表格,而在網頁的HTML代碼中。因此可以通過網頁的HTML代碼中,有沒有表格的標志符來判斷。
Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查
最后是截圖。截圖的原理是,用VBA模擬按鍵盤上的截圖鍵,將整個屏幕截圖再復制在剪貼板上,再將剪貼板上的圖片保存為jpg格式。
這里用到的API是GDI+。
最終的Excel結果是這樣的:

Excel是永遠的神!教你讓Excel化身“機器人”,自動做員工背景調查

這種方法的不足是,瀏覽器的必須前臺運行,也就是說你不能同時在這臺電腦上干其他活了;而且由于要等待網頁載入,每小時只能查幾百人。

當然,在這個關聯企業查詢系統沒有提供開發接口的背景下,這種方法已經很香了。畢竟,下班點一下“開始檢查”,明天上班的時候就已經干完了~

最后是這次的參考代碼鏈接:
VBA操作網頁:https://www.cnblogs.com/LiuRunky/p/VBA_Tutorial.html
剪貼板圖片轉JPG文件:http://www.office-cn.net/thread-119759-1-1.html
本文經授權轉載自微信公眾號:Johnny HCM 原標題《成熟的Excel,應該會自己做背調
0
相關話題
表單制作
相關文章
最新文章
查看更多
關注 36氪企服點評 公眾號
打開微信掃一掃
為您推送企服點評最新內容
消息通知
咨詢入駐
商務合作