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

        ?

        Excel查找擴展組件SearchPro4Excel的開發(fā)和應(yīng)用

        2013-10-17 03:19:06王海波王兆華
        計算機與現(xiàn)代化 2013年1期
        關(guān)鍵詞:窗格單元格功能區(qū)

        王海波,王兆華

        (中國傳媒大學(xué)計算機與網(wǎng)絡(luò)中心,北京 100024)

        0 引言

        提供數(shù)據(jù)分析處理功能的Excel軟件,在人們的日常工作中得到了廣泛的使用。它可以應(yīng)用于管理、統(tǒng)計、財經(jīng)、金融等眾多領(lǐng)域。在使用Excel時,人們經(jīng)常使用Excel的查找功能來查找Excel文件中的數(shù)據(jù)。目前Excel提供列表的形式來顯示查找到的所有數(shù)據(jù)。但在日常工作中,人們經(jīng)常希望能夠把查找到的結(jié)果用特殊的標記突出顯示出來,或進一步把查找的數(shù)據(jù)直接復(fù)制到新的Excel文件中,而這些都是目前Excel所不能解決的。

        本文通過Excel查找擴展組件SearchPro4Excel的開發(fā),為Excel的查找功能提供了查找結(jié)果突出顯示以及依據(jù)查找到的數(shù)據(jù)生成結(jié)果Excel文件的擴展功能。

        1 背景

        為了對Excel軟件進行擴展,筆者研究了對Excel軟件進行擴展的方式以及Excel軟件的數(shù)據(jù)模型。作為Office軟件系列中的一種,Excel軟件的擴展方式遵循Office軟件擴展的統(tǒng)一方式。Excel軟件的數(shù)據(jù)模型可以幫助人們獲得Excel軟件提供的對象及其具備的屬性和方法,從而把查找擴展組件的功能與原有的Excel功能無縫地結(jié)合起來。

        1.1 Excel擴展開發(fā)的3種方式

        對于Office擴展軟件來說,主要有以下3種開發(fā)方式[1-4]。

        (1)獨立的自動化可執(zhí)行程序(Office Automation Executable)。

        它以獨立程序的方式運行。在獨立程序中,對Office軟件進行控制和自動化。獨立程序在自己的進程中運行,和Office軟件通過跨進程的通訊進行信息的交互。

        (2)Office加載項(Office Add-in)。

        它作為Office軟件的加載項執(zhí)行。當Office軟件被運行時,加載項程序同時被啟動。加載項程序運行在Office軟件的進程中。

        (3)Office文檔程序(Code Behind an Office Document)。

        它從傳統(tǒng)的VBA開發(fā)環(huán)境衍化而來。它的代碼嵌入在Office文檔中。當用戶打開包含程序的Office文檔時,其中的程序同時被執(zhí)行。

        1.2 Excel的主要數(shù)據(jù)模型

        在Excel中,主要的對象模型如圖1所示[5-7]。

        圖1 Excel對象模型

        圖1中,各主要對象的含義如表1所示。

        表1 Excel對象模型含義

        通過這些對象以及這些對象提供的屬性和方法,可以對Excel中的各個對象進行操縱。

        2 Excel查找功能擴展組件

        筆者在Visual Studio中采用Office加載項的方式來開發(fā)Excel查找功能擴展組件SearchPro4Excel。它的主要功能是對查找結(jié)果突出顯示以及將查找到的數(shù)據(jù)生成結(jié)果Excel文件。

        2.1 界面設(shè)計

        為了適應(yīng)不同用戶的習(xí)慣,SearchPro4Excel采用了任務(wù)窗格和對話框這兩種交互方式,用戶可以根據(jù)自己的需要選用其中的一種。為了給用戶提供啟動SearchPro4Excel的入口,需要對Excel的功能區(qū)進行擴展。筆者在Excel的“加載項”功能區(qū)增加了如圖2所示兩個功能按鈕,分別用來啟動查找任務(wù)窗格和查找對話框。

        對于任務(wù)窗格來說,打開后它將位于Excel窗口的右側(cè),如圖3所示。

        圖2 功能區(qū)按鈕

        圖3 任務(wù)窗格

        圖3中包含的主要交互元素及其含義是:“查找內(nèi)容”文本框:在Excel中查找的數(shù)據(jù)。

        “突出顯示”下拉列表:分“僅數(shù)據(jù)所在單元格”及“數(shù)據(jù)所在行”兩個選項,用來設(shè)置突出顯示的范圍。

        “查找結(jié)果復(fù)制到新的工作薄中”復(fù)選框:如果此復(fù)選項被選中,則自動把查找到的數(shù)據(jù)行復(fù)制到新的工作薄中,形成一個新的文件。

        查找對話框的界面與查找任務(wù)窗格的界面基本相同,也包括上述這些交互元素。

        2.2 功能實現(xiàn)

        2.2.1 功能區(qū)

        通過Visual Studio中添加“功能區(qū)(可視化設(shè)計器)”可以在項目中增加一個功能區(qū),并可以拖動控件中的“Button”以及“ToggleButton”到功能區(qū)的組中。

        為了使得通過“ToggleButton”控制任務(wù)窗格的顯示和隱藏,需要添加以下的成員變量:

        2.2.2 交互控件數(shù)據(jù)獲取

        在查找面板中,對交互控件“查找內(nèi)容”文本框、“突出顯示”下拉列表、“查找結(jié)果復(fù)制到新的工作簿中”復(fù)選框分別賦以表2所示名稱和變量。

        獲得用戶輸入數(shù)據(jù)的方式如下:

        2.2.3 查找功能

        查找功能主要借助Excel中Application對象的cells屬性的find方法來實現(xiàn)。find方法的原型如表3所示。

        expression.Find(What,After,LookIn,LookAt,SearchOrder,SearchDirection,MatchCase,MatchByte,SerchFormat)

        表3 find方法原型

        查找時的循環(huán)過程可以用如下流程來描述:

        Step1 設(shè)置mCells為代表Excel文件所有單元格的變量。

        Step2 currentFind=mCells.find(),使用用戶輸入的查找詞作為參數(shù)。

        Step3 While currentFind不為空

        //對數(shù)據(jù)所在單元格進行突出顯示處理

        其中,currentFind是Range類型的對象,它表示查找到的數(shù)據(jù)所在單元格。

        2.2.4 突出顯示功能

        根據(jù)用戶的選擇,可以突出顯示查找數(shù)據(jù)所在的單元格或者查找數(shù)據(jù)所在的整行。

        (1)突出顯示查找數(shù)據(jù)所在的單元格:

        其中,Interior是Range對象currentFind的屬性,通過它可以改變currentFind的顏色,65535是用來進行突出顯示的顏色值。

        (2)突出顯示查找數(shù)據(jù)所在的整行:

        其中,通過currentFind.Row獲得數(shù)據(jù)所在單元格的行,從而把數(shù)據(jù)所在行突出顯示。

        2.2.5 查找結(jié)果復(fù)制到新的工作簿中

        如果用戶選擇把查找結(jié)果復(fù)制到新的工作簿中,則創(chuàng)建一個新的Excel工作薄文件,并把查找結(jié)果所在行復(fù)制到這一新的工作薄中。

        其中,通過Application對象創(chuàng)建一個新的工作薄文件mNewBook,然后把查找到的數(shù)據(jù)所在行按照原來行的位置復(fù)制到這一新的工作薄中。

        2.2.6 發(fā)布

        在Visual Studio中,有內(nèi)置的發(fā)布程序制作功能[8],如圖4所示。通過這一功能,可以生成Search-Pro4Excel的安裝包,從而可以在用戶的計算機中進行安裝。

        圖4 制作發(fā)布程序

        除了SearchPro4Excel組件自身之外,還需要把以下4個程序組件安裝到用戶的計算機中:Windows Installer 3.1、.NET Framework 4、Visual Studio 2010 Tools for Office Runtime、Microsoft Office主互操作程序集。

        3 應(yīng)用

        對于某一Excel文件,希望對其中商品類別是“日用品”的數(shù)據(jù)行進行突出顯示,通過點擊“加載項”功能區(qū)的“查找任務(wù)窗格”按鈕,在“查找任務(wù)窗格”中輸入要查找的內(nèi)容以及設(shè)置數(shù)據(jù)突出顯示的方式為“數(shù)據(jù)所在行”,點擊“查找”后,則對包含“日用品”的數(shù)據(jù)行自動進行以改變背景為方式的突出顯示,如圖5所示。

        圖5 突出顯示的數(shù)據(jù)查找結(jié)果

        如果用戶選擇了“查找結(jié)果復(fù)制到新的工作簿中”,則會生成一個新的Excel文件,并把含有“日用品”的數(shù)據(jù)行復(fù)制到這一新的Excel文件中,如圖6所示。

        圖6 僅包含查找數(shù)據(jù)所在行的新文件

        借助SearchPro4Excel的使用,用戶可以直觀地感受到所查找數(shù)據(jù)在Excel文件中的位置和分布,避免了Excel自身的查找功能只能列表顯示數(shù)據(jù)所在位置的缺陷,并且可以以新文件的形式對查找數(shù)據(jù)所在行進行聚合。

        4 結(jié)束語

        針對Excel的查找功能不具備對查找到的數(shù)據(jù)進行突出顯示的缺點,筆者開發(fā)完成了 Search-Pro4Excel這一針對Excel的查找功能擴展組件。通過對Excel的功能區(qū)和任務(wù)窗格的重新定制,形成了SearchPro4Excel與用戶之間的交互界面。結(jié)合Excel提供的內(nèi)置對象,完成了對Excel數(shù)據(jù)的查找以及突出顯示的功能,并進一步可以把相關(guān)的數(shù)據(jù)以復(fù)制到新的Excel文件中的方式聚合起來。這一組件有效地補充了Excel的查找功能,在實際應(yīng)用中可以輔助用戶對數(shù)據(jù)進行分析,取得了良好的效果。

        [1]Carter E,Lippert E.VSTO開發(fā)指南[M].王永,等譯.北京:電子工業(yè)出版社,2008.

        [2]McGrath K,Stubbs P.VSTO開發(fā)者指南[M].李永倫譯.北京:機械工業(yè)出版社,2009.

        [3]Carter E,Lippert E.Visual Studio Tools for Office[M].Addison Wesley,2006.

        [4]McGrath K,Stubbs P.VSTO for Mere Mortals[M].Addison Wesley,2007.

        [5]Steve S,Jeff W.Programming Excel with VBA and.NET[M].O’Reilly,2006.

        [6]John W.Excel 2007 Power Programming with VBA[M].John Wiley& Sons,2007.

        [7]Msdn.Excel對象模型概述[EB/OL].http://msdn.microsoft.com/zh-cn/library/wss56bz7,2012-09-21.

        [8]Msdn.部署Office解決方案[EB/OL].http://msdn.microsoft.com/zh-cn/library/bb386179.asp,2012-09-21.

        [9]余鵬飛,李海燕.基于COM Add-ins技術(shù)的Excel成績統(tǒng)計插件開發(fā)[J].計算機與數(shù)字工程,2006,34(10):16-19.

        [10]John Walkenbach.中文版Excel 2010高級VBA編程寶典[M].冉豪,等譯.北京:清華大學(xué)出版社,2012.

        [11]宋勇霖,楊逸翀,楊駿,等.基于VSTO開發(fā)Excel插件進行AHP分析的應(yīng)用[J].醫(yī)學(xué)信息:上旬刊,2011(9):5983-5985.

        [12]Nick R,Michael M,David G.Visual Studio 2010高級編程[M].任鴻,等譯.北京:清華大學(xué)出版社,2012.

        [13]鄭宇軍,朱連軍.新一代.NET Office開發(fā)指南:Excel篇[M].北京:清華大學(xué)出版社,2006.

        [14]Stephen B,Rob B,John G.Excel專業(yè)開發(fā)[M].杜茂康,等譯.北京:電子工業(yè)出版社,2007.

        [15]伍遠高.Excel VBA開發(fā)技術(shù)大全[M].北京:清華大學(xué)出版社,2009.

        猜你喜歡
        窗格單元格功能區(qū)
        玩轉(zhuǎn)方格
        玩轉(zhuǎn)方格
        古典藝術(shù)審美——閩南古厝特色窗格
        燒結(jié)混合機各功能區(qū)的研究與優(yōu)化
        山東冶金(2019年3期)2019-07-10 00:53:54
        Windows 10三大隱含窗格應(yīng)用
        淺談Excel中常見統(tǒng)計個數(shù)函數(shù)的用法
        西部皮革(2018年6期)2018-05-07 06:41:07
        衡水市不同功能區(qū)土壤營養(yǎng)元素的比較
        水功能區(qū)納污能力計算及污染物總量控制
        主體功能區(qū)規(guī)劃實施需要解決好四個問題
        顯示或隱藏“大綱”或“幻燈片”選項卡
        微電腦世界(2009年7期)2009-07-31 04:55:28
        中文字幕欧美一区| 26uuu在线亚洲欧美| 天天躁日日躁狠狠躁| 六月丁香婷婷色狠狠久久| 国内视频一区| 一区二区精品天堂亚洲av| 天天做天天摸天天爽天天爱| a级毛片在线观看| 在线观看亚洲你懂得| 国产精品一品二区三区| 一边摸一边抽搐一进一出视频| 搡老熟女中国老太| 国产欧美曰韩一区二区三区| 青青草久久久亚洲一区| 日本顶级metart裸体全部| 狼色精品人妻在线视频| 乱色视频中文字幕在线看| 久久精品亚洲国产av网站| 久久久无码精品亚洲日韩蜜臀浪潮| 女人与牲口性恔配视频免费| 色婷婷激情在线一区二区三区| 亚洲国产熟女精品传媒| 99精品国产一区二区三区| XXXXBBBB欧美| 精品国产一区二区三区九一色| 国产精品女老熟女一区二区久久夜| 成片免费观看视频大全| 免费二级毛片在线播放| 日本一区二区三级免费| 欧美多人片高潮野外做片黑人 | 国内揄拍国内精品人妻浪潮av| 一区二区在线亚洲av蜜桃| 日韩有码中文字幕在线视频 | 狠狠色成人综合网| 在线av野外国语对白| 国产麻豆一区二区三区在| 波多野42部无码喷潮在线| 午夜高清福利| 少妇特殊按摩高潮对白| 亚洲精品无码专区在线在线播放 | 影音先锋男人av鲁色资源网|