999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VBA幫你玩接龍

2020-12-23 04:53:54韓有鋒
西部論叢 2020年15期

摘 要:成語接龍是中華民族傳統的文字游戲。“有趣”的成語接龍,就是從“有”這個字做“龍頭”,一直接到“趣”這個字結尾。在這個過程中,我們綜合運用了搜索引擎的使用、辦公軟件的技巧、流程圖的繪制、軟件的安裝與激活、Excel函數及VBA編程等諸多知識點。由此可見,在學習中探索也是一件很有趣的事。

關鍵詞:成語接龍;Excel函數及VBA

成語接龍是中華民族傳統的文字游戲。它有著悠久的歷史,也有廣泛的社會基礎,是老少皆宜的民間文化娛樂活動!

“有趣”的成語接龍,就是從“有”這個字做龍頭,一直接到“趣”這個字結尾。例如:有始有終→終有一別→別有風趣。讓我們一起來看看這個用Excel是如何實現的呢。

第一步,找成語詞庫。這個要考驗大家的搜索能力了。幾經周折,在百度網盤里找到一個3萬條成語的詞庫,https://pan.baidu.com/s/1xcOCQ。厲害,所有的成語還都帶有拼音和解釋,感謝匿名用戶的分享,向您的辛勤付出致敬。

第二步,把找到的詞庫做成我們想要的樣子。只要四字成語,拼音和解釋都不要。這里要用到Excel的“分列”和“快速給行添加序號”兩個小技巧。對于辦公軟件應用老手應該說是小菜一碟,在此向新手們小秀一把。

打開下載來的詞庫文件(txt格式),“Ctrl+A”,全選,“Ctrl+C”,復制。打開Excel,“Ctrl+V”,粘貼,“Ctrl+S”,保存詞庫文件(選擇xlsm格式,因為后面要用到VBA)。關閉txt詞庫文件。

選中A列的所有內容,然后在工具欄依次點擊“數據”-“分列”,接著會彈出分列向導對話框,選中固定寬度后,點擊下一步。調整那根黑色箭頭到合適位置(其實excel會智能為你選擇默認位置,此例就不需要再調整了),點擊完成。分列后的A列中就是我們要的四字成語,其他各列的內容可以直接刪掉了。

因為下載的詞庫文件中有“隔一行空一行”的特點,所以A列也是一行成語一行空行。刪除多余的空行,要用到給行添加序號的方法。如何快速去除空行,為成語行添加序號,老朽再獻一招。

鼠標選任何一個有成語的單元格,同時按“Ctrl+End”鍵,會自動跳到該工作表的表尾,即該工作表有操作過的最右側最下方的單元格。記下最下方行的行號,如最后一行是61614,在公式編輯欄的左邊顯示單元格地址的地方(學名:名稱框)內輸入B1:B61614,敲回車,這時從B1到B61614所有的單元格都被選中了,我們隨便輸入一個數字,比如1,同時按“Ctrl+Enter”鍵,選中的單元格將全部填入剛才輸入的內容。在B2單元格內輸入2,連續選中“B1:B2”,雙擊“黑十字”,B列就自動填充了序號。選中A1單元格,在菜單欄上點擊圖標“A→Z”,所有的成語就排在了一起,按“Ctrl+↓”(方向鍵的向下箭頭),到達A列的最后一行,按“→”鍵,將光標向右平移到B列,按“↓”鍵,將光標向下移動一格,按“Ctrl+Shift+↓”,即可選定B列中多余數據的所有行,按Delete鍵刪除。我們再把AB兩列互換位置,序號在左,成語在右。A列與B列互換也是有小技巧的喲!首先選中A列數據區,然后按住Shift+鼠標左鍵往右拖拽,當鼠標變成“十字型方向鍵”,拖動到B列之后,松開鼠標左鍵就完成了兩列對調互換。用函數left、right提取成語的“頭”,“尾”。組合“頭尾”,刪除“等效”成語,比如:“深謀遠慮”與“深思熟慮”在接龍過程中起的作用是一樣的,保留一個就可以。增加標題行,詞庫大功告成。

第三步,制作程序流程圖。流程圖的繪制基本上按照編程思路來繪制的,就是用圖形方式反映處理過程的“流水賬”。繪制出這本“流水賬”對于過程中理順和優化代碼是很有幫助的。在程序設計中,最重要的不是寫程序代碼,而是設計。畫圖的過程就是思考的過程,由于其直觀性,畫圖的過程本身又促進了思考。

繪制流程圖的方法很多,老朽采用的是微軟的Visio 2013。安裝后,啟動KMSpico,點擊大的紅色按鈕,稍等一會,即告成功。如果在安裝過程中提示未安裝 .net framework4.0,請按提示進行安裝。.net framework4.0是XML Web Services 的內部 Windows 組件,很多基于此架構的程序需要它的支持才能夠運行。

第四步,著手寫代碼。本例使用Excel工作表作為數據庫,VBA編寫代碼。VBA是一種編程語言,它依托于Microsoft Office軟件,不能獨立運行,通過VBA可以實現各種Office軟件操作的自動化。VBA的主要作用有:(1)實現Excel中沒有提供的功能;(2)提高程序運行速度;(3)按要求自定義函數;(4)對大量需要重復的過程可以實現自動化功能;(5)通過插入窗體做小型管理軟件。VBA存放于VB編輯器中。打開方法為:單擊EXCEL右上角的OFFICE圖標,找到EXCEL選項,單擊打開;勾選在功能區顯示“開發工具”選項卡,單擊確定按鈕完成修改;單擊菜單欄的開發工具,然后找到Visual Basic選項,單擊打開便可以進行相關的VBA編程。也可以按組合鍵“Alt+F11”進入VB編輯器。再或者是鼠標放置到工作表表名標簽上,單擊鼠標右鍵,選擇“查看代碼”,同樣能進入VB編輯器。

編碼過程中使用了子過程,變量就要在不同過程中進行傳遞,這要用到全局變量,VBA要求在程序開始前,先聲明全局變量。

老朽在這里用到了中國傳統文化中的“家譜”的概念。即龍子、龍孫按“代”記錄其名字dm(d)和父親的名字df(d) ,“代”用變量d記錄,并寫進數據庫。

為防止進入諸如“有求必應→應有盡有→有求必應→應有盡有”這樣的死循環,在數據庫中增加了一列輔助數據Cells(i, 5) = d。如果一條成語被使用,則在輔助列里寫入d的值,只有輔助列內Cells(i, 5) = ""值為空時,成語才能被使用,這就限定一個成語只能被使用一次,從而避免了進入死循環的可能。

判斷龍孫中是否有叫“趣”,即是否包括目標結束字。有則退出循環,為zl賦值。

找到“真龍”前,以“龍子”的尾為“龍孫”的頭,不斷進行循環調用zp

當找到符合條件的“真龍”,調用px子過程:

If zd = 1 Then

Call px

px主要作用是將數據庫中已使用到的成語集中在一起,減少遍歷循環過程讀取數據的次數,提高運行效率。

調用px過程結束后,提取當前行的行號,減少循環次數。t

在L2單元格內輸出“真龍”,用并彈出對話框的方式加以提示。

至此,成語接龍的代碼就寫完了。讓我們一起來驗證一下它的效果吧:老朽名曰韓有鋒,看看能否實現“由韓到有,由有到鋒”的成語接龍呢?

輸入首尾字:韓有,運行VBA程序,得到結果:韓信將兵→兵不由將→將門虎子→子虛烏有。輸入首尾字:有鋒,得到結果:有腳陽春→春暖花開→開路先鋒。最終“韓有鋒”的接龍效果為:【韓】信將兵→兵不由將→將門虎子→子虛烏有→【有】腳陽春→春暖花開→開路先【鋒】。

是不是一個很有趣的成語接龍。在這個過程中,我們綜合運用了搜索引擎的使用、辦公軟件的技巧、流程圖的繪制、軟件的安裝與激活、Excel函數及VBA編程等諸多知識點,由此可見,在學習中探索也是一件很有趣的事。

作者簡介:韓有鋒(1975- ),男,江蘇沛縣人,大學本科,江蘇省徐州技師學院信息工程學院,高級講師,主要從事設計類、計算機類教學研究工作。

主站蜘蛛池模板: 99在线视频免费| 中文纯内无码H| 国产精品9| 国产黑丝视频在线观看| 亚洲水蜜桃久久综合网站 | 亚洲日韩国产精品综合在线观看| 国产亚洲精久久久久久久91| 免费jjzz在在线播放国产| 成人在线第一页| 国产精品自在在线午夜| 国产成人高清精品免费5388| 免费中文字幕在在线不卡| 国产精品无码一区二区桃花视频| 欧美视频在线播放观看免费福利资源| 最新精品国偷自产在线| 女人18一级毛片免费观看| 亚洲国产av无码综合原创国产| 亚洲黄色成人| 亚洲精品麻豆| 四虎精品免费久久| 国产成人免费| 精品成人一区二区| 免费啪啪网址| 国产亚洲精品va在线| 日本亚洲欧美在线| 激情乱人伦| 天天综合网色| 免费人成在线观看成人片 | 99精品国产电影| 久久综合色视频| а∨天堂一区中文字幕| 在线免费亚洲无码视频| 四虎影视无码永久免费观看| 丁香婷婷激情综合激情| 亚洲日韩日本中文在线| 福利在线不卡一区| 四虎亚洲国产成人久久精品| 亚洲首页国产精品丝袜| 91网在线| 中文字幕人妻av一区二区| av在线无码浏览| 992tv国产人成在线观看| 成年人免费国产视频| 亚洲日韩精品综合在线一区二区| 日韩精品一区二区三区免费在线观看| 久草网视频在线| 久久精品这里只有精99品| 韩国福利一区| 国产亚洲精品97AA片在线播放| 国产精品网址在线观看你懂的| 国产精品页| 色婷婷在线播放| 免费A级毛片无码免费视频| 久久性妇女精品免费| 毛片视频网址| 亚洲伊人天堂| 久久这里只有精品23| 色窝窝免费一区二区三区| 国产高清毛片| 亚洲手机在线| 亚洲妓女综合网995久久| 亚洲看片网| 熟女视频91| 久久伊人操| 亚洲成a人片| 999福利激情视频| 欧美精品亚洲精品日韩专| 国产欧美日韩精品综合在线| 好吊色国产欧美日韩免费观看| 色综合国产| 亚洲天堂网视频| 第一区免费在线观看| 免费欧美一级| 亚洲无线国产观看| 国产精品永久不卡免费视频| 亚洲欧美日韩成人在线| 亚洲高清无在码在线无弹窗| 9cao视频精品| 国产精品99一区不卡| 亚洲高清无在码在线无弹窗| 国产成人一区二区| 一本大道无码高清|