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

        ?

        基于OLE的Word自動生成Excel題庫

        2015-04-16 01:29:58陳希高淼
        電腦與電信 2015年7期
        關(guān)鍵詞:題庫表格應(yīng)用程序

        陳希高淼

        (1.武漢工程大學郵電與信息工程學院,湖北 武漢 430073;2.武漢軟件工程職業(yè)學院,湖北 武漢 430205)

        1 引言

        在目前的在線考試系統(tǒng)中,如果需要對題庫進行更新通常采用的格式為Excel,這種格式可以大批量地將題目導(dǎo)入到考試系統(tǒng)中。但目前在網(wǎng)絡(luò)中找到的或者自己編寫的題目經(jīng)常都是以Word格式存在,這對于大量題目的更新操作帶來很多不便[1]。使用者必須逐題從Word轉(zhuǎn)換成Excel格式,然后再導(dǎo)入到系統(tǒng)。為了能高效簡潔地完成這個過程,在VS2013的開發(fā)平臺上,使用OLE技術(shù)利用Word、Excel對象模型完成此操作。

        2 OLE技術(shù)和Word、Excel對象模型

        OLE(Object Linking and Embedding,對象連接與嵌入)不僅是桌面應(yīng)用程序集成,而且還定義和實現(xiàn)了一種允許應(yīng)用程序作為軟件“對象”(數(shù)據(jù)集合和操作數(shù)據(jù)的函數(shù))彼此進行“連接”的機制,這種連接機制和協(xié)議稱為組件對象模型(Component Object Model),簡稱COM。OLE可以用來創(chuàng)建復(fù)合文檔,復(fù)合文檔包含了創(chuàng)建于不同源應(yīng)用程序、有著不同類型的數(shù)據(jù),因此可以把文字、聲音、圖像、表格、應(yīng)用程序等組合在一起。OLE技術(shù)不僅能使應(yīng)用程序作為服務(wù)器被其它程序調(diào)用,還可以作為客戶端調(diào)用支持OLE技術(shù)的其它程序[2]。為了能使用OLE對WORD、EXCEL進行編程,還需要了解WORD、EXCEL對象模型。

        2.1 Word對象模型

        Word對象模型提供了數(shù)百個可與之交互的對象。這些對象排列在一個與用戶界面密切相關(guān)的層次結(jié)構(gòu)中。層次結(jié)構(gòu)頂部的對象是Application對象。此對象表示W(wǎng)ord的當前實例。Application 對象包含 Document、Selection、Bookmark和Range對象[3]。

        (1)Application對象

        Application對象表示W(wǎng)ord應(yīng)用程序本身。

        (2)Document對象

        Document對象是Word編程的關(guān)鍵,它表示文檔及其所有內(nèi)容。

        (3)Selection對象

        Selection對象表示當前選中的區(qū)域(高亮),沒有選中區(qū)域時代表光標點。

        (4)Range對象

        Range對象表示一塊區(qū)域,與Selection類似,一般不可見。Range對象的數(shù)量可以有多個。

        (5)Bookmark對象

        Bookmark對象表示書簽。

        2.2 Excel對象模型

        Excel對象模型和Word對象模型類似,下面介紹最重要的對象:

        (1)Application對象

        Application對象表示Excel應(yīng)用程序本身。

        (2)Workbook對象

        Workbook對象表示Excel應(yīng)用程序內(nèi)的單個工作簿。

        (3)Worksheet對象

        Worksheet對象是Worksheets集合的成員。

        (4)Range對象

        Range對象是Excel應(yīng)用程序中最常用的對象。

        通過這4個主要對象完成EXCEL編程[4]。

        3 VS2013平臺下自動化操作的實現(xiàn)

        本次程序的開發(fā)環(huán)境為VS2013+Word2010+Excel2010,使用的語言為C++。

        3.1 建立自動化模式

        在VS2013中創(chuàng)建MFC工程,非Unicode。在創(chuàng)建MFC工程時候,高級功能中可以勾選自動化。那么在App類的InitInstance()類中將自動生成OLE初始化程序。如果沒有勾選自動化,需要自己在函數(shù)中添加如下代碼:

        3.2 添加對象

        要調(diào)用Word、Excel提供的OLE自動化對象,可以通過Word、Excel提供的對象庫實現(xiàn)。對象庫也稱為類型庫,類型庫詳細說明了一個自動化客戶端為對象需要調(diào)用的方法和屬性的信息[5]。其添加方法如下:

        (1)添加類型庫

        在項目解決方案上右鍵選擇類向?qū)?,然后在添加類的下拉框中選擇“類型庫中的MFC類”。在彈出的對話框中選擇相應(yīng)內(nèi)容,如圖1所示:

        圖1 Word、Excel對象類的添加

        添加之后如果編譯遇到錯誤,Not enough actual parameters for macro'DialogBoxW'。解決方法是在CRange類中DialogBox()前面添加下劃線變成_DialogBox()即可。

        (2)注銷每個引入的頭文件的import行

        例如:

        //#import"D∶\ProgramFiles(x86)\MicrosoftOffice\Of -fice14\MSWORD.OLB"no_namespace

        (3)設(shè)置默認參數(shù)和定義對象

        在很多函數(shù)的使用過程中需要用到ColeVariant類型的變量,所以提前在程序開頭定義一些默認參數(shù)以便后續(xù)使用。

        COleVariantcovZero((short)0),covTrue((short)TRUE),covFalse((short)FALSE),covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR),covDocxType((short)0);

        表1 定義對象

        3.3 讀取文檔內(nèi)容

        使用open()函數(shù)打開文檔,函數(shù)使用參數(shù)中需要用到默認值的可以使用上一步定義的ColeVariant類型的變量。在打開文檔后根據(jù)需要設(shè)置讀取方式,本文采用段讀取。代碼如下:

        //打開文檔

        docxs=wordApp.get_Documents();

        docx=docxs.Open(COleVariant(strPath),covOptional,cov-False,covOptional,covOptional,covOptional,covOptional,covO-ptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional);

        3.4 寫入Excel表格

        使用之前定義的對象完成Excel表格初始設(shè)置,然后使用SetString()函數(shù)將上一步讀取的內(nèi)容寫入到Excel中。代碼如下:

        3.5 保存關(guān)閉和釋放

        將內(nèi)容寫入到Excel表格后就要進行保存、關(guān)閉和釋放。代碼如下:

        workbook.SaveCopyAs(COleVariant(file_name));//保存docx.Close(covFalse,covOptional,covOptional);//關(guān)閉workbook.Close(covTrue,covOptional,covFalse);//關(guān)閉

        //釋放資源Word釋放方式相同只列出Excel worksheet.ReleaseDispatch();worksheets.ReleaseDispatch();

        4 結(jié)語

        Word文檔和Excel電子表格的自動化操作在目前的在線考試系統(tǒng)中有著重要的作用,利用OLE技術(shù)可以很方便地將Word文檔的題目導(dǎo)入到Excel表格中,這使得在線考試系統(tǒng)的題庫擴充變得更加容易。隨著信息化技術(shù)的不斷提升,越來越多的課程將會采用在線考試系統(tǒng)來完成做題和考試。本文提供的方法將極大地提高在線考試題庫的數(shù)量。

        [1]陳莉,徐芳.基于VBA編程的網(wǎng)絡(luò)教學試題庫批量試題錄入研究[J].軟件導(dǎo)刊,2015,(4):30-31,32.

        [2]程松濤.基于VC++的Word自動化操作研究[J].電腦編程技巧與維護,2015,(04):33-34.

        [3]Word 對象模型[OL].https://msdn.microsoft.com/zh-cn/library/kw65a0we.aspx.

        [4]Excel對象模型[OL].https://msdn.microsoft.com/zh-cn/library/wss56bz7.

        [5]陳特放,方斌.VC平臺下基于OLE的Word自動化操作應(yīng)用[J].計算機應(yīng)用與軟件,2009,26(9):123-125.

        猜你喜歡
        題庫表格應(yīng)用程序
        《現(xiàn)代臨床醫(yī)學》來稿表格要求
        “勾股定理”優(yōu)題庫
        “軸對稱”優(yōu)題庫
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        “軸對稱”優(yōu)題庫
        “整式的乘法與因式分解”優(yōu)題庫
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        国产性生大片免费观看性| 日本午夜理论一区二区在线观看| 亚洲国产精品一区二区久久恐怖片| 国产一区二区三区在线电影| 欧美国产日韩a在线视频| 欧美日本国产亚洲网站免费一区二区| 蜜桃视频一区视频二区| 波多野结衣在线播放| 亚洲欧美在线观看| 熟女人妻丰满熟妇啪啪| 国产精品国产三级国产专播| 人人超碰人人爱超碰国产 | 日韩精品内射视频免费观看| 精品国产午夜福利在线观看| 国产不卡一区二区三区视频| 好看的日韩精品视频在线| 亚洲av综合永久无码精品天堂| 免费人成毛片乱码| 日本精品人妻一区二区三区| 婷婷色国产精品视频二区| 无码不卡av东京热毛片| 亚洲av美女在线播放啊| 亚洲精品久久麻豆蜜桃| 久久久亚洲av波多野结衣| 日本老熟欧美老熟妇| 精品国产迪丽热巴在线| 国产成人综合精品一区二区| 免费操逼视频| 亚洲AV综合久久九九| 久久精品天堂一区二区| 亚洲无线一二三四区手机| 日本动态120秒免费| 蜜桃在线一区二区三区| 久久日日躁夜夜躁狠狠躁| 人与禽交av在线播放| WWW拍拍拍| 亚洲精品久久区二区三区蜜桃臀| 激情影院内射美女| 国产小屁孩cao大人免费视频| 最近中文字幕精品在线| 精品区2区3区4区产品乱码9|