vb生成了word文档 并创建了表格,如何将单元格改为水平左对齐,垂直居中以及按照单元格内容自动列宽。请给出代码。谢谢

解决方案 »

  1.   

    我倒有寫個這方面的代碼
    只是五一要來了,要等五一後才能整理
    建義在WORD中錄制宏再移到VB中去
      

  2.   

    對WORD的沒找到,只找到對Excel的,看對你有沒有幫助
    Public Sub ExcelWidth()
      'On Error Resume Next
       Dim intColCnt As Integer
       Dim objFld As Field
        intColCnt = 1
        
        For Each objFld In Rst.Fields
            Select Case objFld.Type
                Case adGUID, adLongVarBinary, adLongVarWChar            Case Else
                    objSheet.Columns(intColCnt).AutoFit
                    intColCnt = intColCnt + 1
            End Select
        Next objFld
        Set objFld = Nothing
    End Sub把你在WORD中錄制的宏貼出來看看
      

  3.   

    你把objSheet.Columns(intColCnt).AutoFit改成
    Selection.Tables(1).AutoFitBehavior (wdAutoFitContent)
    自己慢慢調試
      

  4.   

    是不是必须要一个一个单元格的改变autofit?不可以在表格绘制好后整体改变?
      

  5.   

    For i = 0 To 1
            With doc.Tables(1).Cell(Row:=1, Column:=1 + i * 2).Range
                .Delete
                .InsertAfter Text:=Form22.f0txt(i).Text
                .Columns.AutoFit  注意
            End With
    next i
    这是我的代码的一部分,autofit是放在循环语句中了,可是不放的话 在后面加 
    doc.Tables(1).Columns.AutoFit  就不可以了 真奇怪啊