久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    使用VBA操作Word表格

     勇增智慧 2013-11-16

    一、生成表格

      Private Sub CreateTable(mRows As Integer, mColumns) 
      Dim mRange As Range

      Set mRange = ActiveDocument.Range 
      mRange.SetRange Start:=ActiveDocument.Range.End, End:=ActiveDocument.Range.End 
      Set SelfGenTable = ActiveDocument.Tables.Add(Range:=mRange, NumRows:=mRows, NumColumns:=mColumns)

      End Sub

      上面過程的作用是在活動文檔的末尾插入一個mRows行,mColumns列的表格。

      二、在讀寫表格中的單元格

      寫入單元格使用如下代碼:

      TableObject.Cell(Row:=curRow, Column:=curColumn).Range.InsertAfter "文本"

      上面代碼的做用時在curRow行,curColumn列處插入字符“文本”。

      其中TableObject為表格對象,如果使用了生成表格中的例子,那么可以用SelfGenTable來替代TableObject。

      三、調整單元格對齊方式

      水平對齊設置

      Selection.ParagraphFormat.Alignment=水平對齊常數(具體的常數可以查看幫助文件的說明)

      如何選擇單元格?

    1. 選定特定單元格 
      TableObject.Cell(Row:=1,Column:=1).Select’選定單元格1,1
    2. 選定行 
      TableObject.Rows(i).Select’選定第i行
    3. 選定列 
      TableObject.Columns(i).Select’選定第i列
    4. 選定整個表格 
      TableObject.Select

    首先執行表格元素選擇程序,然后再使用Selection.ParagraphFormat.Alignment設置對齊方式。

    垂直對齊方式

    Selection.Cells.VerticalAlignment=垂直對齊常數

    也是首先選擇表格元素,可以使單個單元格,單個行、單個列或者整個表格。似乎也可以同時選擇多個單元格、多個行、多個列,有興趣的朋友可以自行尋找答案。

    四、設置表格邊線類型

    下面的代碼對整個表格的所有邊線設置成細實線:

    SelfGenTable.Select 
    With Selection 
        .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle 
        .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle 
        .Borders(wdBorderRight).LineStyle = wdLineStyleSingle 
        .Borders(wdBorderTop).LineStyle = wdLineStyleSingle 
        .Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle 
        .Borders(wdBorderVertical).LineStyle = wdLineStyleSingle 
    End With

    同樣是對Selection進行設置,所以可以依照上面的方法對特定的單元格、行或者列的邊線樣式進行分別設置,這里就不再列舉了。

    五、調整表格尺寸

    下面的代碼對一個六列的表格設置寬度,寬度采用百分比寬度,從左至右的寬度百分比依次為:30,10,10,30,10,10:

    Dim WidthP(0 To 2) As Integer

    Dim j As Integer

    dim i as Integer

    WidthP(0) = 30 
    WidthP(1) = 10 
    WidthP(2) = 10

    j = 0 
    For i = 0 To SelfGenTable.Columns.Count - 1 
        If j > 2 Then 
            j = 0 
        End If 
        SelfGenTable.Columns(i + 1).PreferredWidthType = wdPreferredWidthPercent 
        SelfGenTable.Columns(i + 1).PreferredWidth = WidthP(j) 
        j = j + 1 
    Next

    上面的代碼通過Columns的PreferredWidthType屬性設置表格列寬的形式,這里選擇的是百分比列寬,可以根據自己的實際情況選擇其他列寬形式,然后再設置相應的數值。

    表格的行高請讀者以此類推(實際上我還沒設置過行高,都用自動生成的就夠了)

    ===============================================

    編寫操作表格的程序時需要注意,Word表格的行列起始值為1,而不是0。

    ===============================================

    下面是一個拆分字符串的代碼,當插入表格的文本過長時,可以設定一個長度,超過這個長度就進行回車,這樣保證在設定的單元格寬度內能夠寫下長文本。單元格的高度會自動調整以使文本能完整的顯示,這也就是我為什么沒有通過代碼設置單元格高度的原因。

    Private Function FoldText(mLen As Integer, mStr As String) As String 
    '折疊文字函數,mLen為折疊前的文字長度,mStr為文字的內容 
    Dim i As Integer 
    Dim tmpStr(0 To 1) As String '臨時字符串 
    If Len(mStr) > mLen Then 
        Do While Len(mStr) > mLen 
            tmpStr(0) = Left(mStr, mLen) 
            mStr = Right(mStr, Len(mStr) - mLen) 
            tmpStr(1) = tmpStr(1) + tmpStr(0) + vbCrLf 
        Loop 
        tmpStr(1) = tmpStr(1) + mStr 
    Else 
        tmpStr(1) = mStr 
    End If

    FoldText = tmpStr(1)

    End Function

    ================================================

    以上內容是學習Word VBA幫助和網絡上其他朋友的心得寫出來了,希望能對同樣初入Word VBA編程的朋友有所幫助。如果有什么問題,歡迎留言探討。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 欧洲国产精品无码专区影院| 精品国精品无码自拍自在线| 国产果冻豆传媒麻婆精东| 亚洲国产精品成人网址| 亚洲色大成网站WWW久久| 亚洲最大成人网色| 国产午夜福利免费入口| 天天拍夜夜添久久精品大| 亚洲A成人片在线播放| 无码人妻丰满熟妇区五十路在线 | 四虎国产精品永久在线| 激情五月开心综合亚洲| 亚洲国产精品成人网址| 国产精品福利在线观看无码卡一 | 久久国产加勒比精品无码| 国产超高清麻豆精品传媒麻豆精品 | 高清国产MV视频在线观看| 午夜通通国产精品福利| 高清一卡二卡三卡四免费| 黄色A级国产免费大片视频| 国产亚洲AV无码AV男人的天堂| 宅男噜噜噜66在线观看| 自拍日韩亚洲一区在线| 日本高清在线天码一区播放| 国产仑乱无码内谢| 人妻少妇精品久久| 桃花岛亚洲成在人线AV| 国产国拍亚洲精品永久软件| 久久精品国产亚洲AV瑜伽| 国产成人午夜精品福利| 久久无码人妻丰满熟妇区毛片 | 不卡乱辈伦在线看中文字幕| 国产午夜视频在线观看| 99视频30精品视频在线观看| 亚洲国产精品一二三区| 亚洲人成无码网站久久99热国产| 黄页网站在线观看免费视频| 久久精品国产中文字幕| 亚洲性无码AV在线欣赏网| 97久久精品无码一区二区| 欧美综合婷婷欧美综合五月|