t名相同的合為一個(gè)sheet,也還可以是采取關(guān)鍵字的合成方式,或者以文檔中sheet的具體內(nèi)容為合成規(guī)則,即將具有相同內(nèi)容的文檔合為一個(gè)文檔,也還可以采取其他方式合成文檔,提前設(shè)置合成規(guī)則即可。
[0072]具體的,參考圖3,所述按照與所述宏對(duì)應(yīng)的合成對(duì)策將所述待合成的文檔合成,生成合成文檔的過程可以包括:
[0073]步驟S31,獲取各個(gè)待合成的文檔的子文檔的名稱;
[0074]步驟S32,判斷獲取的子文檔的名稱是否相同;
[0075]步驟S33,將名稱相同的子文檔合并為同一個(gè)子文檔。
[0076]以Excel文檔為例,所述子文檔為每個(gè)Excel文檔中的每一個(gè)sheet文檔。獲取各個(gè)待合成的文檔的子文檔的名稱,即獲取每個(gè)待合成文檔中的sheet的名稱,判斷獲取的子文檔的名稱是否相同,即判斷是否有sheet的名稱相同。若有子文檔的名稱相同,則將名稱相同的子文檔合并為一個(gè)子文檔,即將sheet名稱相同的文檔合成為一個(gè)sheet文檔。
[0077]例如,合成前存在文檔I和文檔2,文檔I包括sheet:a、b、c、d ;文檔2包括sheet:a、b、c、e ;則合成后文檔sheet:a、b、c、d、e。將文檔I和文檔2中相同的sheet a和sheetb合成為一個(gè)命名為sheet a和sheet b的文檔。
[0078]實(shí)現(xiàn)代碼為(使用VBA實(shí)現(xiàn)):
[0079]For Each xlln x’參數(shù)循環(huán),3層循環(huán)
[0080]If xlOFalse Then
[0081]Set s = Workbooks.0pen (xl)
[0082]’開始循環(huán),2循環(huán)
[0083]For i = ITo s.Sheets.Count,I 層循環(huán)
[0084]For j = ITo M.Sheets.Count,2 層循環(huán)
[0085]Set Ms = M.Sheets (j)
[0086]Set Ssh = s.Sheets (i)
[0087]If Ms.Name = Ssh.Name Then’有相同,合并插入-無需考慮單元格格式,將默認(rèn)使用第一個(gè)sheet的格式
[0088]I = Ms.UsedRange.SpecialCells(xlCelITypeLastCelI).Column
[0089]h = Ms.UsedRange.SpecialCells(xlCelITypeLastCelI).Row
[0090]If I = IAnd h = IAnd Cells (I, I) = ""Then
[0091]Ssh.UsedRange.Copy Ms.Cells (I, I)
[0092]Else
[0093]Ssh.UsedRange.Copy Ms.Cells (h+1, I)
[0094]End If
[0095]Exit For’ I層循環(huán)停止
[0096]End If’有相同,合并插入
[0097]If j = M.Sheets.Count Then’ 向最后插入
[0098]Set tail = M.Sheets (M.Sheets.Count)
[0099]Ssh.Copy After: = M.Sheets (M.Sheets.Count)
[0100]End If’向最后插入結(jié)束
[0101]Next’2層循環(huán)結(jié)束
[0102]’ Exit For,。
[0103]本實(shí)施例通過提前預(yù)設(shè)攜帶宏的標(biāo)準(zhǔn)文檔,在有文檔需要合成時(shí),打開預(yù)設(shè)的標(biāo)準(zhǔn)文檔并添加待合成文檔,運(yùn)行宏,以預(yù)設(shè)的合成規(guī)則合成待合成文檔。實(shí)現(xiàn)自動(dòng)的將多個(gè)文檔合成在一起。有效避免現(xiàn)有手動(dòng)的方式合成文檔導(dǎo)致文檔合成效率低,且出現(xiàn)錯(cuò)誤的概率大的問題。實(shí)現(xiàn)文檔合成的智能化,提高了文檔成的效率,且降低了文檔合成的錯(cuò)誤率。
[0104]參照?qǐng)D4,圖4為本發(fā)明文檔合成方法的第二實(shí)施例的流程示意圖?;谏鲜鑫臋n合成方法的第一實(shí)施例,所述步驟S30之后,還可以包括:
[0105]步驟S40,對(duì)合成文檔進(jìn)行測(cè)試得到測(cè)試結(jié)果;
[0106]步驟S50,根據(jù)所得到的測(cè)試結(jié)果生成文檔測(cè)試報(bào)告。
[0107]具體的,參考圖5,所述對(duì)合成文檔進(jìn)行測(cè)試得到測(cè)試結(jié)果的過程可以包括:
[0108]步驟S41,從所述合成文檔中獲取目標(biāo)數(shù)據(jù);
[0109]步驟S42,判斷是否成功獲取所述目標(biāo)數(shù)據(jù);
[0110]步驟S43,若成功獲取所述目標(biāo)數(shù)據(jù),則對(duì)所述目標(biāo)數(shù)據(jù)做統(tǒng)計(jì)得到測(cè)試結(jié)果;
[0111]步驟S44,若未成功獲取所述目標(biāo)數(shù)據(jù),則提示目標(biāo)數(shù)據(jù)獲取失敗。
[0112]所述目標(biāo)數(shù)據(jù)包括項(xiàng)目、項(xiàng)目級(jí)別等。從所述合成文檔中獲取目標(biāo)數(shù)據(jù),篩選統(tǒng)計(jì)文檔用例。判斷是否成功獲取所述目標(biāo)數(shù)據(jù),即是否成功篩選出統(tǒng)計(jì)文檔用例等。若成功篩選出統(tǒng)計(jì)用例,則判斷成功獲取所述目標(biāo)數(shù)據(jù),若未成功篩選出統(tǒng)計(jì)用例,則判斷未成功獲取所述目標(biāo)數(shù)據(jù)。若若成功獲取所述目標(biāo)數(shù)據(jù),則對(duì)所述目標(biāo)數(shù)據(jù)做統(tǒng)計(jì)得到測(cè)試結(jié)果;若未成功獲取所述目標(biāo)數(shù)據(jù),則提示目標(biāo)數(shù)據(jù)獲取失敗。所述提示目標(biāo)數(shù)據(jù)獲取失敗的方式可以是語音、文字、圖片、視頻等。若成功獲取,則命名保存結(jié)果文檔,即命名成功篩選統(tǒng)計(jì)用例的文檔。所述統(tǒng)計(jì)用例的文檔的結(jié)果包括待合成文檔的數(shù)量、通過統(tǒng)計(jì)計(jì)數(shù)、未通過統(tǒng)計(jì)計(jì)數(shù)、未測(cè)試計(jì)數(shù)、測(cè)試覆蓋率、通過率等。
[0113]根據(jù)測(cè)試結(jié)果,生成測(cè)試報(bào)告。保存所述測(cè)試報(bào)告,以供用戶后續(xù)查看。
[0114]本實(shí)施例通過在合成文檔的基礎(chǔ)上完成測(cè)試過程,提高了文檔測(cè)試的效率,并降低了文檔測(cè)試的出錯(cuò)率。
[0115]上述第一至第二實(shí)施例的文檔合成方法的執(zhí)行主體均可以為終端。更進(jìn)一步地,該文檔合成方法可以由安裝在終端上的客戶端文檔合成程序(例如,文檔合成應(yīng)用軟件等)實(shí)現(xiàn),其中,該終端包括但不限于手機(jī)、pad、筆記本電腦等。
[0116]本發(fā)明進(jìn)一步提供一種文檔合成裝置。
[0117]參照?qǐng)D6,圖6為本發(fā)明文檔合成裝置的第一實(shí)施例的功能模塊示意圖。
[0118]在一實(shí)施例中,所述文檔合成裝置包括:打開模塊10、接收模塊20、獲取模塊30、添加模塊40及合成模塊50。
[0119]打開模塊10,用于在接收到文檔合成指令時(shí),打開預(yù)設(shè)的標(biāo)準(zhǔn)文檔,所述標(biāo)準(zhǔn)文檔包括宏;
[0120]提前預(yù)設(shè)一個(gè)標(biāo)準(zhǔn)文檔,所述標(biāo)準(zhǔn)文檔為帶有宏的文檔,在使用帶有宏的標(biāo)準(zhǔn)文檔時(shí),彈出窗體,在窗體中輸入需要合成的文檔。在創(chuàng)建完標(biāo)準(zhǔn)文檔后,后續(xù)在做文檔合成時(shí),打開這個(gè)標(biāo)準(zhǔn)文檔,進(jìn)行文檔合成。在打開預(yù)設(shè)的標(biāo)準(zhǔn)文檔后,判斷打開的所述標(biāo)準(zhǔn)文檔是否有效,若有效,則接收輸入指令,若無效,則提示打開的標(biāo)準(zhǔn)文檔無效。
[0121]具體的,用戶在需要進(jìn)行文檔合成時(shí),進(jìn)入文檔合成操作界面,發(fā)出文檔合成指令,在接收到文檔合成指令時(shí),打開預(yù)設(shè)的標(biāo)準(zhǔn)文檔。優(yōu)選地,為了不破壞原有打開的文檔。
[0122]參考圖7,所述打開模塊10包括新建單元11和打開單元12,
[0123]所述新建單元11,用于新建一個(gè)文檔;
[0124]所述打開單元12,用于在所述新建的文檔中打開所述預(yù)設(shè)的標(biāo)準(zhǔn)文檔。
[0125]采用新建的方式打開標(biāo)準(zhǔn)文檔,即打開文檔合成工具。
[0126]所述接收模塊20,用于接收輸入指令;
[0127]所述獲取模塊30,用于獲取所述輸入指令對(duì)應(yīng)的待合成文檔;
[0128]所述添加模塊40,用于在所述標(biāo)準(zhǔn)文檔中添加所述待合成文檔;
[0129]在打開預(yù)設(shè)的標(biāo)準(zhǔn)文檔后,接收輸入指令,即用戶選擇需要合成的文檔,輸入到打開的所述標(biāo)準(zhǔn)文檔中,獲取到所述輸入指令對(duì)應(yīng)的待合成文檔,并在所述標(biāo)準(zhǔn)文檔中自動(dòng)添加用戶選擇的待合成文檔。用戶可以輸入至少兩個(gè)待合成文檔來進(jìn)行文檔合成。在本發(fā)明其他實(shí)施例中,為了節(jié)省系統(tǒng)空間,在打開預(yù)設(shè)的標(biāo)準(zhǔn)文檔后,預(yù)設(shè)時(shí)間(5分鐘或10分鐘等根據(jù)用戶需要設(shè)置)內(nèi),未接收到輸入指令時(shí),自動(dòng)關(guān)閉所述打開的標(biāo)準(zhǔn)文檔?;蛘咴诮邮盏捷斎胫噶钶斎胫辽賰蓚€(gè)文檔后,在所述預(yù)設(shè)時(shí)間內(nèi)未再次接收到輸入指令時(shí),對(duì)已添加的待合成文檔進(jìn)行合成;或者在對(duì)所述已添加的待合成文檔完成合成操作后,再在合成文檔的基礎(chǔ)上與后續(xù)添加的待合成文檔進(jìn)行合成操作。
[0130]所述合成模塊50,用于運(yùn)行所述宏,并按照與所述宏對(duì)應(yīng)的合成規(guī)則將所述待合成的文檔合成,生成合成文檔。
[0131]在添加完待合成文檔后,運(yùn)行所述宏,并按照所述宏對(duì)應(yīng)的合成規(guī)則將所述待合成文檔合成,生成合成文檔。在運(yùn)行宏之后,判斷是否運(yùn)行成功,若否,則提示運(yùn)行失敗,繼續(xù)運(yùn)行或者通知用戶檢測(cè)是否標(biāo)準(zhǔn)文檔中的宏設(shè)置失敗,重新設(shè)置正確的宏;若成功,則生成合成文檔。
[0132]在合成文檔之前,用戶可以通過文檔合成操作界面設(shè)置合成規(guī)則,即根據(jù)用戶需要設(shè)置以何種合成規(guī)則完成文檔的合成操作,例如,以Excel文檔為例,可以以sheet名相同的合為一個(gè)sheet,也還可以是采取關(guān)鍵字的合成方式,或者以文檔中sheet的具體內(nèi)容為合成規(guī)則,即將具有相同內(nèi)容的文檔合為一個(gè)文檔,也還可以采取其他方式合成文檔,提前設(shè)置合成規(guī)則即可。
[0133]具體的,參考圖8,所述合成模塊包括確定單元51、判斷單元52和合成單元53,
[0134]所述確定單元51,用