可否将vb中的Grid输出到word中?是否可以用VB中的数据在word中画结构图?

解决方案 »

  1.   

    你可以根据GRID的大小在WORD中创建一个TABLE,然后一个一个CELL的往里复制数据就行了。
      

  2.   

    哈哈,朋友,你这个东西俺今天刚刚实现
    把俺的程序复制给你看看
    Sub VBToDoc()
      Dim WordApp As Object
      Dim TableA, TableB
      Dim I, J As Integer
      Set WordApp = CreateObject("Word.Application")
      With WordApp
        .Documents.Add
        .Visible = True
        .Activate
        .Selection.ParagraphFormat.Alignment = 1
        .Selection.TypeText Text:="表1 三自由度汽车模型参数"
        Set TableA = .ActiveDocument.Tables.Add(.Selection.Range, 16, 5)
        TableA.cell(1, 1).Range.insertafter "名称"
        TableA.cell(1, 2).Range.insertafter "前轴"
        TableA.cell(1, 3).Range.insertafter "后轴"
        TableA.cell(2, 1).Range.insertafter "Cα(N/deg)"
        TableA.cell(3, 1).Range.insertafter "Cγ(N/deg)"
        TableA.cell(4, 1).Range.insertafter "Nα(Nm/deg)"
        TableA.cell(5, 1).Range.insertafter "Nγ(Nm/deg)"
        TableA.cell(6, 1).Range.insertafter "Eφ(deg/deg)"
        TableA.cell(7, 1).Range.insertafter "Ey(deg/kN)"
        TableA.cell(8, 1).Range.insertafter "En(deg/hNm)"
        TableA.cell(9, 1).Range.insertafter "Гφ(deg/deg)"
        TableA.cell(10, 1).Range.insertafter "Гy(deg/kN)"
        TableA.cell(11, 1).Range.insertafter "Гn(deg/hNm)"
        TableA.cell(12, 1).Range.insertafter "Kφ(Nm/deg)"
        TableA.cell(13, 1).Range.insertafter "Cφ(Nm/(deg/s))"
        TableA.cell(14, 1).Range.insertafter "mu(kg)"
        TableA.cell(15, 1).Range.insertafter "h(mm)"
        TableA.cell(16, 1).Range.insertafter "hu(mm)"
        For I = 2 To 3
          For J = 2 To 16
            TableA.cell(J, I).Range.insertafter VehicleParameter1(I - 1, J - 1)
          Next J
        Next I
        TableA.cell(1, 4).Range.insertafter "名称"
        TableA.cell(2, 4).Range.insertafter "ma(kg)"
        TableA.cell(3, 4).Range.insertafter "ms(kg)"
        TableA.cell(4, 4).Range.insertafter "Iz(kg.m^2)"
        TableA.cell(5, 4).Range.insertafter "Ixzs(kg.m^2)"
        TableA.cell(6, 4).Range.insertafter "IXS(kg.m^2)"
        TableA.cell(7, 4).Range.insertafter "a(mm)"
        TableA.cell(8, 4).Range.insertafter "b(mm)"
        TableA.cell(9, 4).Range.insertafter "c(mm)"
        TableA.cell(10, 4).Range.insertafter "h(mm)"
        TableA.cell(11, 4).Range.insertafter "hs(mm)"
        TableA.cell(12, 4).Range.insertafter "hg(mm)"
        TableA.cell(1, 5).Range.insertafter "Value"
        For J = 2 To 12
          TableA.cell(J, 5).Range.insertafter VehicleParameter2(J - 1)
        Next J
        .Selection.MoveDown Count:=16
        .Selection.TypeText Text:=Chr$(13)
        .Selection.TypeText Text:="表2 汽车悬架及转向杆系参数"
        Set TableB = .ActiveDocument.Tables.Add(.Selection.Range, 4, 8)
        TableB.cell(1, 1).Range.insertafter "名称"
        TableB.cell(1, 2).Range.insertafter "L1(m)"
        TableB.cell(1, 3).Range.insertafter "L2(m)"
        TableB.cell(1, 4).Range.insertafter "L3(m)"
        TableB.cell(1, 5).Range.insertafter "L4(m)"
        TableB.cell(1, 6).Range.insertafter "β(deg)"
        TableB.cell(1, 7).Range.insertafter "rs(m)"
        TableB.cell(1, 8).Range.insertafter "τ0(deg)"
        TableB.cell(2, 1).Range.insertafter "Value"
        For J = 2 To 8
          TableB.cell(2, J).Range.insertafter SuspensionParameter1(J - 1)
        Next J
        TableB.cell(3, 1).Range.insertafter "名称"
        TableB.cell(3, 2).Range.insertafter "σ0(deg)"
        TableB.cell(3, 3).Range.insertafter "θ0(deg)"
        TableB.cell(3, 4).Range.insertafter "Tf(m)"
        TableB.cell(3, 5).Range.insertafter "W(m)"
        TableB.cell(3, 6).Range.insertafter "cfactor(mm/rev)"
        TableB.cell(3, 7).Range.insertafter "SRd"
        TableB.cell(4, 1).Range.insertafter "Value"
        For J = 2 To 7
          TableB.cell(4, J).Range.insertafter SuspensionParameter2(J - 1)
        Next J
      End With
      Set WordApp = Nothing
    End Sub