亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Excel VBA在圖書館中文新書復(fù)本推薦中的應(yīng)用

        2020-04-24 14:50:40關(guān)智遠(yuǎn)
        電腦知識(shí)與技術(shù) 2020年5期
        關(guān)鍵詞:圖書館

        摘要:基于圖書館日常工作中的中文新書書目篩選及復(fù)本數(shù)推薦工作(簡(jiǎn)稱“中文新書復(fù)本推薦”),針對(duì)書目Excel表中描述字段較多以及量大、瀏覽體驗(yàn)不佳的問題,利用Excel VBA設(shè)計(jì)用戶窗體,實(shí)現(xiàn)逐行瀏覽書目信息,點(diǎn)擊選取建議復(fù)本數(shù)的功能,讓采選人員每次將關(guān)注點(diǎn)集中在一本書目上。在窗體添加了連接查詢SQL Server數(shù)據(jù)庫返回歷史推薦次數(shù),以及根據(jù)書名進(jìn)行在線書評(píng)查詢的功能。

        關(guān)鍵詞:圖書館;復(fù)本選書;Excel;VBA;用戶窗體

        中圖分類號(hào):G250.7 文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2020)05-0055-03

        開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

        1 問題概述

        雖然電子資源的采購經(jīng)費(fèi)在高校圖書館中占據(jù)越來越大的比重,但紙質(zhì)資源尤其是紙質(zhì)圖書仍然是圖書館館藏的重點(diǎn)之一[1-2]。師生可隨時(shí)通過圖書館讀者薦購平臺(tái)、定期書展以勾選書目或者“你選書、我買單”等活動(dòng)參與到圖書館的采訪工作中。另外,圖書館的館配商也會(huì)定期提供大量的書目清單共采選人員篩選。

        隨著我國圖書出版的逐年增長,每年都有大量新書品種出現(xiàn),具體到高校圖書館的采購工作,明確采訪原則,對(duì)館配商提供的大批量書目數(shù)據(jù)進(jìn)行有效篩選,從中獲取到符合高校館藏發(fā)展需求的高質(zhì)量紙質(zhì)圖書顯得尤為重要[3]。

        在中文圖書的采選初期,往往需要具備不同學(xué)科背景的團(tuán)隊(duì)成員對(duì)相應(yīng)的書目數(shù)據(jù)進(jìn)行標(biāo)記,加總之后的數(shù)量作為是否訂購該書的參考,最后再由專人進(jìn)行匯總,繼續(xù)對(duì)建議訂購書目和建議復(fù)本數(shù)進(jìn)行整理和提交。

        以Excel文件形式展示的大量書目信息雖然格式穩(wěn)定規(guī)范,但由于字段繁多(總計(jì)有27個(gè)字段),有些字段內(nèi)容較長,不便于逐條進(jìn)行仔細(xì)評(píng)選甄別。另外,對(duì)圖書選擇除了要考慮書名、出版社、學(xué)科分類、價(jià)格、裝幀之外,圖書的摘要也比較重要,雖然在Excel單元格中可以通過設(shè)置自動(dòng)換行或者在上方編輯欄中展開查看,但在上千有時(shí)甚至上萬行密集的表格中逐行操作效率較低、瀏覽體驗(yàn)不佳也容易錯(cuò)行。對(duì)一些書可能還需要查看書評(píng)作為參考[4]。以往同一種書的推薦歷史也需要考慮以避免重復(fù)推薦。

        2 窗體界面

        為了解決上述問題,本文利用Excel VBA工程中的用戶窗體將表格數(shù)據(jù)重新排列顯示,將每一個(gè)書目的重要字段同時(shí)顯示在一個(gè)窗口上,用文本框來顯示字?jǐn)?shù)較多的字段(主要為了給“內(nèi)容提要”字段擴(kuò)大顯示空間)。另外將復(fù)本數(shù)的填寫方式改為從下拉菜單中進(jìn)行選擇并更新到指定單元格,同時(shí)利用VBA連接本機(jī)SQL Server數(shù)據(jù)庫查詢每條書目以往選書情況,顯示該書歷史推薦次數(shù),提供檢索書目網(wǎng)絡(luò)書評(píng)的按鈕并顯示處理進(jìn)度。采選人員通過在Excel中運(yùn)行宏來調(diào)用模塊中的程序,項(xiàng)目中模塊和用戶窗體(UserForml)的關(guān)系以及其中主要代碼及功能概括如圖1所示。軟件環(huán)境為Exce12016版,模塊1中包含一個(gè)Sub子程序Book_One_by_One用以打開UserForml,UserForml實(shí)現(xiàn)前文所述功能,其中的查詢連接數(shù)據(jù)庫功能需要調(diào)用模塊1中的searchSQL函數(shù)。

        首先,在VBA工程界面,右鍵點(diǎn)擊VBAProject,分別插入一個(gè)模塊和窗體,顯示為“模塊1”和“UserForml”,添加完畢如圖2所示。

        其次,雙擊UserForml,從工具箱浮窗提供的控件中,分別點(diǎn)擊插入標(biāo)簽控件,文本框控件、命令按鈕等,并按每條書目的顯示字段進(jìn)行排列,控件詳情如下表1。最終形成的UserForml界面如圖3所示。

        3 模塊及控件事件代碼

        如圖3所示,用戶窗體中要顯示每本書中的很多字段,需要將各個(gè)標(biāo)簽或文本框顯示內(nèi)容綁定到Excel每行的特定單元格。另外,在通過下拉列表選擇建議復(fù)本數(shù)并點(diǎn)擊確認(rèn)之后,程序需要自動(dòng)將復(fù)本數(shù)更新到指定單元格,并且窗體顯示的書目信息跳轉(zhuǎn)到下一條。實(shí)現(xiàn)逐條瀏覽的兩個(gè)按鈕以及搜索書評(píng)按鈕也需要能夠正常實(shí)現(xiàn)其功能?;诂F(xiàn)有Excel表結(jié)構(gòu)以及處理要求,將窗體代碼劃分為如下部分。

        首先進(jìn)行全局變量定義。主要是用以標(biāo)識(shí)當(dāng)前所在的單元格的行號(hào),右鍵用戶窗體選擇查看代碼,確認(rèn)代碼界面上方兩個(gè)下拉列表分別顯示“通用”和“聲明”,輸入Dim m_lngRowAs Long。

        其次是窗體初始化代碼,即用戶在Excel表中運(yùn)行宏,打開窗體時(shí)需要顯示的內(nèi)容,右鍵用戶窗體選擇查看代碼,確認(rèn)代碼界面上方兩個(gè)下拉列表分別顯示“UserForm”和”Initialize”。Me指代該窗體,英文點(diǎn)后跟標(biāo)簽的名稱以定位控件,代碼內(nèi)容如下,其中冒號(hào)用于將多行短語句合并成一行以減少行數(shù)。

        Private Sub UserForm_lnitialize0

        選中B2單元格

        Range(”B2”).Select

        'C2單元格書名

        Me.bookTitle= Range(”C2”):Me.isbn= Range(”B2”)

        Me.authors= Range(”D2”):Me.publisher= Range(”E2”)

        Me.pubdate= Range(”W2”):Me.price= Range(”F2”)

        Me.subject= Range(”H2”):Me.secondTitle= Range(”12”)

        Me.Series= Range(”L2”):Me.language= Range(”X2”):

        Me.edition= Range(”M2”):Me.pages= Range(”N2”)

        Me.size= Range(”02”):Me.layout= Range(”V2”)

        Me.note= Range(”()2”):Me.textbook= Range(“S2”)

        Me.classCode= Range(”T2”):Me.readers= Range(”U2”)

        Me.rec_number= Range(”AS2”):Me.abstracts= Range(”R2”)

        當(dāng)前所在行

        m_lngRow=2

        顯示處理進(jìn)度,以當(dāng)前行/書目總量的形式表示,CStr函數(shù)可將整數(shù)轉(zhuǎn)換為字符串

        Me.progress= CStr(m_lngRow -1)&”/”&CStr(ActiveSheet.Range(”A65535”).End(xlUp).Row -1)

        調(diào)用模塊函數(shù)查詢?cè)摃鴼v史推薦

        Me.re_time= searchSQL(Range(”B2”))

        復(fù)本數(shù)選擇下拉列表

        Fori=1 T0 3

        ComboBoxI.Addltem i

        Next

        End Sub

        第三,實(shí)現(xiàn)逐條書目瀏覽及復(fù)本數(shù)確認(rèn)的功能。在通過按鈕來回瀏覽時(shí)更新窗體的代碼與上述相似,不同之處在于通過更新相應(yīng)的行以獲取不同字段在相應(yīng)單元格中的值。next_row(下一行)命令按鈕代碼直接將m_lngRow值加1,回到上一行的命令按鈕代碼中則將全局變量m_lngRow減去1,并保證m_lngRow不會(huì)小于2。這樣在每次選中復(fù)本數(shù)后點(diǎn)擊確認(rèn)按鈕時(shí),更新單元格中的復(fù)本數(shù)值,并調(diào)用上述next_row_Click0將窗體顯示內(nèi)容自動(dòng)更新到下一條。確認(rèn)按鈕的代碼如下所示。

        Private Sub confirm_Click0

        7更新單元格復(fù)本數(shù)

        Range(”G”& ActiveCell. Row)=Me.ComboBoxl

        顯示下一條

        Call next_row_Click

        End Sub

        第四,是在線書評(píng)以及數(shù)據(jù)庫連接查詢功能。查詢?cè)诰€書評(píng)的功能主要是在必要時(shí)可以參考網(wǎng)絡(luò)書評(píng)給復(fù)本推薦人員更全面的參考,鑒于中文書評(píng)缺少較為豐富完整的api的現(xiàn)狀,在該工程中主要是以豆瓣讀書為參考來源,將當(dāng)前用戶窗體中的書名,通過url的形式添加到網(wǎng)頁中并在指定的瀏覽器中打開搜索結(jié)果頁面,以便于用戶瀏覽查看是否有書評(píng)以及評(píng)價(jià)情況,對(duì)應(yīng)按鈕點(diǎn)擊的代碼如下。

        Private Sub searchBookReview_Click0

        Shell“C:\Program Files\Mozilla Firefox\firefox.exe”&”https://search. douban. com/book/subject_search? search_text=”&Me.bookTitle

        End Sub

        在上述窗體顯示的代碼中,多次調(diào)用了searchSQLO這一函數(shù),它被置于模塊1中,用以連接本機(jī)SQL Server數(shù)據(jù)庫,數(shù)據(jù)表中保存了以往的推薦記錄,與Excel表具有相同的字段,在窗體的re time標(biāo)簽控件中顯示該書被推薦的累計(jì)次數(shù)。編寫連接數(shù)據(jù)庫的函數(shù)之前,在Visual Basic的“工具一引用”選項(xiàng)中,確認(rèn)Microsoft ActiveX Data Objects 2.0 Library處于勾選狀態(tài)。在模塊1中定義的searchSQL函數(shù)如下。

        Public Function searchSQL(isbn As String) As String

        初始化

        Dim conn As ADODB.Connection

        Dim rs As ADODB.Recordset

        Dim rcn As String

        Set conn= New ADODB.Connection

        Set rs= New ADODB.Recordset

        打開數(shù)據(jù)庫連接

        conn. ConnectionString=”Provider=SQLOLEDB;Initial Cata-log=JournaI;Data Source=localhost;lntegrated Security=SSPI”

        conn.Open

        獲取查詢結(jié)果

        Set rs= conn.Execute(”Select count(*) as number from bookswhere ISBN=¨&isbn&”:”1

        更新推薦次數(shù)變量rcn

        If Not rs.EOF Then

        rcn= rs(”number”1

        rs.Close

        Else

        MsgBox”error, no data.”, vbCritical

        End If

        關(guān)閉數(shù)據(jù)庫連接

        If CBool(conn.State And adStateOpen) Then conn.Close

        Set conn= Nothing

        Set rs= Nothing

        返回推薦次數(shù)

        searchSQL= rcn

        End Function

        模塊1種除了連接查詢數(shù)據(jù)庫的函數(shù)searchSQLO之外,是復(fù)本推薦人員從Excel表運(yùn)行宏的對(duì)應(yīng)Sub.此步驟直接打開用戶窗體(UserForml)。

        Sub Book_One_by_One0

        UserForml.Show

        End Sub

        最后在Excel運(yùn)行宏。將用戶窗體和模塊保存后,可以在任何書目Excel表的VBA工程中導(dǎo)入和運(yùn)行,在Excel軟件“開發(fā)工具”選項(xiàng)卡下點(diǎn)擊“宏”,選擇宏名(此處為“Book_One_by_One”)點(diǎn)擊執(zhí)行,用戶窗體開始逐條展示書目信息。點(diǎn)擊建議復(fù)本量下拉菜單可以選擇并確認(rèn),也可以通過點(diǎn)擊按鈕來回切換書目信息,每次只關(guān)注一本書的詳細(xì)情況,所有字段一目了然,點(diǎn)擊搜索書評(píng)按鈕可以直接打開瀏覽器顯示書評(píng)搜索結(jié)果,便于采選人員更好地對(duì)采選并選擇復(fù)本數(shù)。

        圖4為用戶窗體運(yùn)行界面。

        4 結(jié)束語

        針對(duì)Excel表格顯示書目項(xiàng)目瀏覽體驗(yàn)差,不利于采選人員全面判斷書目質(zhì)量以推薦復(fù)本數(shù)的問題,本文基于ExcelVBA設(shè)計(jì)并實(shí)現(xiàn)了能夠更易瀏覽和處理的用戶界面,并提供了額外的參考書評(píng)以及連接數(shù)據(jù)庫查詢歷史推薦的功能,實(shí)現(xiàn)了幫助提高采書質(zhì)量、優(yōu)化工作流程的目的。今后考慮進(jìn)一步考慮添加館藏查重、借閱參考和團(tuán)隊(duì)協(xié)作處理等功能。 參考文獻(xiàn):

        [1]蔡迎春,當(dāng)前藏書采選機(jī)制對(duì)藏書質(zhì)量的影響與思考[J].圖書情報(bào)工作,2019,63(9):31-37.

        [2]薛惠娜.紙電融合出版背景下高校圖書館選書問題研究[D].福州:福建師范大學(xué),2018.

        [3]隋銀昌.“搶單式”中文圖書采選模式研究[Jl.大學(xué)圖書情報(bào)學(xué)刊,2018,36(4):30-33.

        [4]彭靜,加強(qiáng)網(wǎng)絡(luò)書評(píng)在圖書采選中的運(yùn)用[Jl.圖書館理論與 實(shí)踐,2006(2):122-123.

        【通聯(lián)編輯:謝媛媛】

        收稿日期:2019 -12 -15

        作者簡(jiǎn)介:關(guān)智遠(yuǎn)(1990-),男,山東人,助理館員,碩士,主要研究方向?yàn)榭茖W(xué)計(jì)量與評(píng)價(jià),資源建設(shè)與評(píng)估。

        猜你喜歡
        圖書館
        圖書館
        飛躍圖書館
        去圖書館
        亚洲一区二区免费日韩| 久久人妻内射无码一区三区| 久草热8精品视频在线观看| 无码超乳爆乳中文字幕| 成人免费毛片立即播放| 日日噜噜夜夜狠狠久久丁香五月| 国产精品爽黄69天堂a| 亚洲免费av电影一区二区三区| 一区二区三区少妇熟女高潮| 欧美在线观看www| 日韩精品人妻视频一区二区三区| 91精品国产乱码久久中文| 美丽人妻在夫前被黑人| 亚洲精品成人专区在线观看| 中文字幕精品一区二区日本| 日韩av一区二区三区激情在线| 亚洲精品天堂成人片av在线播放 | 精品少妇大屁股白浆无码| 中文字幕中文字幕人妻黑丝| 日韩亚洲中文有码视频| 国产熟人av一二三区| 青青青伊人色综合久久亚洲综合| 亚洲精品中文字幕一二| 日韩日韩日韩日韩日韩日韩| 亚洲av理论在线电影网| 日本女优在线观看一区二区三区 | 中文字幕人妻中文av不卡专区| 亚洲精品综合在线影院| 亚洲熟女一区二区三区250p| 50岁退休熟女露脸高潮| 亚洲色大成在线观看| 久久精品天堂一区二区| 亚洲av无码一区二区三区网址| 国产精品爽爽va在线观看无码| 亚洲一区二区三区在线观看蜜桃| 看女人毛茸茸下面视频| 欧美性猛交xxxx乱大交3| 亚洲日韩区在线电影| 亚洲24小时免费视频| 久久久久99精品成人片直播| 午夜婷婷国产麻豆精品|