VBA的確是個很不錯的編程工具,寄生在OFFICE內,無需安裝龐大的開發環境,即開即用,方便靈活,能實現的事情也不少,但畢竟VBA是微軟中止更新維護將近20年的一種語言,計算機的世界發展速度有多快你們有目擊,今天拋磚引玉,拿幾個加密類函數來說說一下VSTO較VBA開發的一些優點所在。數據庫
原文在簡書上發表,再同步到Excel催化劑微信公衆號或其餘平臺上,文章後續有修改和更新將在簡書上操做, 其餘平臺不做同步修改更新,所以建議閱讀其餘出處的文章時,儘量跳轉回簡書平臺上查看。編程
本人也是從Excel的VBA語言入門了編程世界的,而後很偶然的機會接觸到VSTO,而且在一位熱心的網友一路的幫助下,算是入門了C#語言,如今能夠靈活地用C#實現本身想要的一些小功能(大部分是抄百度和google),而後能夠在開源世界裏找各式各樣的類庫輪子搬到本身的項目中來。安全
VBA要實現利用外界的資源這點,估計比較難,通常其餘軟件廠商只提供主流的編程語言的API接口或SDK。就算微軟本身的.Net Framework類庫集,也只能在.Net語言中使用,而不能供VBA所使用。服務器
例現在天介紹的幾個加密函數,在.Net Framework類庫裏,直接有現成的代碼,幾乎能夠直接調用的程度,對於一些非OFFICE環境內的功能實現來講,使用VSTO開發或C#、VB.Net開發,開發效率仍是有很大的提高。微信
通常像我這種水平的人,只須要不斷地百度或google,就能夠拿到現成的東西直接複用,VBA畢竟是業務開發者使用的編程語言,同時又是一個官方中止更新語言,仍然使用VBA作一些複雜的需求,有點吃力不討好。數據結構
今天介紹的加密函數有 生成MD5和RSA方式的加解密函數,具體這些加密原理我也不懂,我只負責搬運和它可以實現到所需的功能便可。多線程
函數示例以下:因是給VBA開發者用,很少解釋,你們都會百度。編程語言
說到重點,VBA開發者可能更多場景還要回到本身在VBA代碼中想要調用其餘語言開發好的函數,例如此篇的自定義函數。函數
調用方法爲:使用Application.Run方法工具
VBE代碼編寫
獲得的結果同樣
可以使用Application.Run來調用的前提是自定義函數的加載項已經被加載,即xll文件已經被Excel加載進來。若是使用代碼來加載xll,也不復雜,使用AddIns.Add 方法,以下圖所示
在我過往發表的衆多自定義函數裏,大部分直接照搬了.Net Framework類庫裏的函數,讓其可以在Excel環境以自定義函數的形式來使用,當中也收到許多反饋說能用自定義函數的人都本身寫VBA代碼,不會寫代碼的人也不必用自定義函數,文件分發出問題等等如此這般的回覆。反正我的以爲挺惋惜的,人的見識不廣時,依仗本身有限的知識體系,來給本身蓋一個絕對性的結論,以致不少時候還在低效地運行着。
寫此篇文章沒有貶低VBA的做用,只是當有更好的東西時,花一點點學習成本去了解它,而後惟我所用,未嘗不是一件美好的事情。
最後拋一個剛剛接觸到的知識點,用xll的方式開發自定義函數,可使用多線程功能,函數性能更佳,固然前提是函數符合多線程規範下。
https://docs.microsoft.com/en-us/office/client-developer/excel/multithreaded-recalculation-in-excel
一文帶你全面認識Excel催化劑系列功能
安裝過程詳解及安裝失敗解決方法
第1波-工做表導航
第2波-數字格式設置
第3波-與PowerbiDesktop互通互聯
第4波-一大波自定義函數高級應用,從新定義Excel函數的學習和使用方法
第5波-使用DAX查詢從PowerbiDeskTop中獲取數據源
第6波-導出PowerbiDesktop模型數據字典
第7波-智能選區功能
第8波-快速可視化數據
第9波-數據透視表自動設置
第10波-快速排列工做表圖形對象
第11波-快速批量插入圖片
第12波-快速生成、讀取、導出條形碼二維碼
第13波-一鍵生成自由報表
第14波-一鍵生成零售購物籃分析
第15波-接入AI人工智能NLP天然語言處理
第16波-N多使用場景的多維錶轉一維表
第17波-批量文件更名、下載、文件夾建立等
第18波-在Excel上也能玩上詞雲圖
第19波-Excel與Sqlserver零門檻交互-查詢篇
第20波-Excel與Sqlserver零門檻交互-數據上傳篇
第21波-Excel與Sqlserver零門檻交互-執行SQL
第22波-Excel文件類型、密碼批量修改,補齊Power短板
第23波-非同通常地批量拆分工做表
第24波-批量發送郵件並指點不一樣附件不一樣變量
第25波-小白適用的文本處理功能
第26波-正確的Excel密碼管理之道
第27波-Excel工做表設置快捷操做
第28波-工做薄瘦身,安全地減小非必要冗餘
第29波-追加中國特點的中文相關自定義函數
第30波-工做錶快捷操做(批量建立、命名、排序、工做表目錄)
第31波-數量金額分組湊數功能,財務表哥表姐最愛
第32波-空行空列批量插入和刪除
第33波-報表形式數據結構轉標準數據源
第34波-提取中國身份證信息、農曆日期轉換相關功能
第35波-Excel版最全單位換算,今後不用處處百度找答案
第36波-新增序列函數用於生成規律性的循環重複或間隔序列
第37波-把Sqlserver的強大分析函數拿到Excel中用
第38波-比Vlookup更好用的查找引用函數
第39波-DotNet版的正則處理函數
第40波-工資、年終獎我的所得稅計算函數
第41波-文件文件夾相關函數
第42波-任意字符指定長度隨機函數
第43波-文本處理類函數加強
第44波-可見區域複製粘貼不覆蓋隱藏內容
第45波-邏輯判斷函數加強
第46波-區域集合函數,超乎所求所想
Excel催化劑先是一微信公衆號的名稱,後來順其名稱,正式推出了Excel插件,插件將持續性地更新,更新的週期視本人的時間而定爭取一週可以上線一個大功能模塊。Excel催化劑插件承諾我的用戶永久性無償使用!
Excel催化劑插件使用最新的佈署技術,實現一次安裝,往後全部更新自動更新完成,無需重複關注更新動態,手動下載安裝包從新安裝,只需一次安裝便可隨時保持最新版本!
Excel催化劑插件下載連接:https://pan.baidu.com/s/1kDtFkM5KZ4R1lAO0TO07AA
因插件使用VSTO開發技術完成,插件的安裝須要電腦知足相關的環境配置才能運行,且需可鏈接外網的方式實現自動更新機制,若下載安裝過程當中有任何疑問或須要離線版安裝等,儘可能不單獨私聊詢問,加QQ羣可高效解決(羣內已聚集了VSTO開發、Powerbi技術、Sqlserver商業智能等方面的國內頂尖大牛人物,進羣的好處不用多說了)
取名催化劑,因Excel自己的強大,並不是全部人可以立馬享受到,大部分人仍是在被Excel軟件所虐的階段,就是頭腦裏很清晰想達到的效果,並且高手們也已經實現出來,就是本身怎麼弄都弄不出來,或者更糟的是還不知道Excel可以作什麼而停留在不斷地重複、機械、手工地在作着數據,耗費着無數的青春年華歲月。因此催生了是否能夠做爲一種媒介,讓廣大的Excel用戶們能夠瞬間點燃Excel的爆點,無需苦苦地掙扎地沒日沒夜的技巧學習、高級複雜函數的燒腦,最終走向了從入門到放棄的道路。
最後Excel功能強大,其實還需樹立一個觀點,不是全部事情都要交給Excel去完成,也不是全部事情Excel都是十分勝任的,外面的世界仍然是一個廣闊的世界,Excel只是其中一枚耀眼的明星,還有其餘更多一樣精彩強大的技術、工具等。*Excel催化劑也將借力這些其餘技術,讓Excel可以發揮更強大的爆發!
姓名:李偉堅,從事數據分析工做多年(BI方向),一名一樣在路上的學習者。
服務過行業:零售特別是鞋服類的零售行業,電商(淘寶、天貓、京東、惟品會)
技術路線從一名普通用戶,經過Excel軟件的學習,今後走向數據世界,非科班IT專業人士。
歷經重重難關,終於在數據的道路上達到技術平原期,學習衆多的知識再也不太吃力,同時也造成了本身的一套數據解決方案(數據採集、數據加工清洗、數據多維建模、數據報表展現等)。
擅長技術領域:Excel等Office家族軟件、VBA&VSTO的二次開發、Sqlserver數據庫技術、Sqlserver的商業智能BI技術、Powerbi技術、雲服務器佈署技術等等。
2018年開始職業生涯做了重大調整,從原來的正職工做,轉爲自由職業者,暫無固定收入,暫對前面道路不太明朗,苦從新回到正職工做,對Excel催化劑的運營和開發一定受到很大的影響(正職工做時間內不可能維護也不可能隨便把工做時間內的成果公佈於外,工做外的時間也十分有限,因已而立之年,家庭責任重大)。
和廣大擁護者一同期盼:Excel催化劑一直能運行下去,我所惠及的羣體們可以給予支持(多留言鼓勵下、轉發下朋友圈推薦、小額打賞下和最重點的能夠和所在公司及同行推薦推薦,讓個人技術能夠在貴司發揮價值,實現共贏(初步設想能夠數據顧問的方式或一些小型項目開發的方式合做)。