• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在VB中利用Word宏命令開發ASP組件

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網 作者:楊忠勛
    專業:計算機軟件開發及應用
    語言能力:TOFEL633 GRE2140
    Email:zhongxunyang@yahoo.com.cn

          在Mis系統的實際開發中,我們有時需要將當前頁面上報表的數據以Word文檔的格式下載到本地,這種實現并不困難。但是有時我們需要對下載的Word文檔的格式做一些設置,比如標題顏色,字體大小,字間距等等,這時我們就要用到Word自帶的宏功能。

          比如我們想將此報表的標題在Word文檔中以如下格式顯示:14號字,加粗,居中對齊。首先我們需要在Word中錄制相應的宏命令。打開Word,新建一文檔,手動敲入一行字,然后選擇工具->宏->錄制新宏命令,為新宏取一個名字如Macro1,執行以上動作(14號字,加粗,居中對齊),Word自動將這些動作保存以相應的Vbscript命令。然后選擇工具->宏->宏命令,選擇剛才我們定義的宏Macro1,就可以查看其內容了。在此例中我們保存的宏命令如下:     

        Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter '居中對齊
        Selection.Font.Bold = wdToggle '加粗顯示
        Selection.Font.Size = 14 '14號字

        因為宏命令的腳本語言是Vbscript,我們不需要做任何改動就可以將上面的語句在VB中使用。這樣,我們就可以編寫出如下VB代碼,實現我們所要求的功能。代碼如下:

        WdApp.Selection.Font.Bold = wdToggle '加粗顯示
        WdApp.Selection.Font.Size = 14 '14號字
        WdApp.Selection.TypeText ("報表標題") '報表標題
        WdApp.Selection.ParagraphFormat.lignment = wdAlignParagraphCenter '居中對齊
        WdApp.Selection.Font.Bold = wdToggle '取消加粗

        同樣,我們如想對Word文檔進行其他處理,重復以上的步驟就可以了。以下提供我的一個完整的對Word文檔進行處理的例子:

        Private Function SaveAsWord(ByRef MyRecord As Recordset, ByVal DocFileName As String, ByRef OutMessage As String) As Integer
        '*************************************************************************
        '
        '說明:將數據集中的數據另存為DOC文件
        '
        '參數:
        '
        'MyRecord       數據集
        'DocFileName    WORD文件的名稱(無路徑,路徑見實例變量sPath)
        'OutMessage     操作的的返回信息
        '
        '返回:         1成功   -1失敗
        '
        '*************************************************************************
         
        '初始化Word應用
        err.Clear
        On Error GoTo Err_All
        Dim WdApp As Word.Application
        Set WdApp = CreateObject("Word.Application")

        '插入數據
        Dim colloop As Integer      '列號
        Dim rowloop As Integer      '行號
        Dim colMax As Integer       '列數
        Dim rowMax As Integer       '行數
        Dim wdcell As Integer       '寬
        Dim UnitEnd As Integer      '截取結束點
        Dim UnitName As String      '單位名稱
        Dim BbDate As String        '報表期別
         
         
        wdcell = 12
        colMax = MyRecord.Fields.count
        rowMax = MyRecord.RecordCount

        WdApp.Documents.Add
         
        '獲取報表單位
        UnitEnd = InStr(sBBDetail, "期別")
        UnitName = Mid(sBBDetail, 1, UnitEnd - 2)
        BbDate = Mid(sBBDetail, UnitEnd, Len(sBBDetail))
         
        If MyRecord.Fields.count >= 10 Then
            WdApp.ActiveDocument.PageSetup.Orientation = wdOrientLandscape
        Else
            WdApp.ActiveDocument.PageSetup.Orientation = wdOrientPortrait
        End If
         
        '報表名稱
        WdApp.Selection.Font.Bold = wdToggle
        WdApp.Selection.Font.Size = 14
        WdApp.Selection.TypeText (sbbmc)
        WdApp.Selection.ParagraphFormat.lignment = wdAlignParagraphCenter
        WdApp.Selection.Font.Bold = wdToggle
        WdApp.Selection.TypeParagraph
         
        '報表單位名稱
        WdApp.Selection.Font.color = wdColorBlack
        WdApp.Selection.Font.Size = 11
        WdApp.Selection.TypeText (UnitName)
        WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        WdApp.Selection.TypeParagraph
         
        '報表期別
        WdApp.Selection.TypeText (BbDate)
        WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        WdApp.Selection.TypeParagraph
        WdApp.Selection.TypeParagraph
         
        '生成列頭
        'wdApp.Selection.HomeKey wdLine, wdExtend
        'dApp.Selection.Font.Bold = wdToggle

        WdApp.ActiveDocument.Tables.Add WdApp.Selection.Range, rowMax, colMax
        Dim i As Integer
        Do
            For colloop = 0 To colMax - 1
                WdApp.Selection.Font.Size = 9
             
                If i = 0 Then
                  
                    '表格中標題加粗顯示
                    WdApp.Selection.Font.Bold = wdToggle
                     
                    '表格標題行背景顏色設置為灰色,灰度為30
                    With WdApp.Selection.Cells
                         With .Shading
                              .Texture = wdTextureNone
                              .ForegroundPatternColor = wdColorAutomatic
                              .BackgroundPatternColor = wdColorGray30
                         End With
                    End With
                 
                End If
                '最后一行右對齊,其余左對齊
                If i > 0 Then
                   If MyRecord.Fields.Item(colloop).Name = "ZBMC" Or MyRecord.Fields.Item(colloop).Name = "指標名稱" Then
                      WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
                   Else
                      WdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
                   End If
                End If
                 
                 
                If i = 0 And (MyRecord.Fields.Item(colloop).Name = "SXH" Or MyRecord.Fields.Item(colloop).Name = "順序號") Then
                    WdApp.Selection.TypeText ("序號")
                Else
                    WdApp.Selection.TypeText (CStr(MyRecord.Fields.Item(colloop).value))
                End If
                If (i <> rowMax - 1 Or (i = rowMax - 1 And colloop < colMax - 1)) Then
    WdApp.Selection.MoveRight (wdcell)
    End If
    Next
    i = i + 1
    MyRecord.MoveNext
    Loop Until MyRecord.EOF

    WdApp.ActiveDocument.SaveAs DocFileName, 0, False, "", True, "", False, False, False, False, False
    WdApp.Quit

    SaveAsWord = 1
    Exit Function

    Err_All:
    Set WdApp = Nothing
    SaveAsWord = -1
    OutMessage = err.Description
    Exit Function
    End Function

    好了,到此為止,我想你們對在VB中利用Word宏命令開發ASP組件,有了一些了解。只要多使用,就會很快熟悉的。 

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>