现在我可以实现创建EXCEL表格并进行命名等操作,但是还有一点,比如text2 中有数据,点击一次command2依次往下写入一个数据在EXCEL第一列,text3对应点击command3,依次写在EXCEL第二列,两者均从第二行开始,代码需要补充那一写啊。PS:自动追加sheet容易实现吗???
Private Sub Command1_Click()
  '定义对象
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet1 As Excel.Worksheet
Dim xlSheet2 As Excel.WorksheetSet xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet1 = xlBook.Worksheets("sheet1")
Set xlSheet2 = xlBook.Worksheets("sheet2")
N_I = Text1.Text
  
  '参数是下标!!!一定是按照Sheet1,Sheet2,Sheet3这样的顺序来的。xlSheet1.Name = "测试数据1" '工作簿的名称
xlApp.Visible = False 'Excel文件是不是显示
With xlSheet1
.Columns.Item(1).ColumnWidth() = 10 '列宽大小
.Columns.Item(2).ColumnWidth() = 10 '列宽大小
.Cells(1, 1).Value = "编码器值" '填入数据
.Cells(1, 2).Value = "电压值" '填入数据
End With
xlApp.Visible = False '这样写,Excel的操作就不显示了。
'xlBook.SaveAs ("f:\1\text1.text.xls") '文件保存为另一个文件名
xlBook.SaveAs (App.Path & "\" & "测试记录\" & N_I & ".xls")
xlBook.Close '必须文件关闭,不然Excel.exe的进程会一直驻留内存。
Set xlBook = Nothing '清空
Set xlSheet = Nothing
Set xlApp = Nothing
End Sub

解决方案 »

  1.   

    Private Sub Command2_Click()
        Dim i As Integer
        Dim row, col As Integer
        Dim xlApp As Excel.Application
        Dim xlbook As Excel.Workbook
        Dim xlSheet1 As Excel.Worksheet
        Dim xlSheet2 As Excel.Worksheet    
         'row = 2
        N_I = Text1.Text
        Set xlApp = CreateObject("Excel.Application") ' 建立对象为Excel.Sheet
        Set xlbook = xlApp.Workbooks().Open(App.Path & "\测试记录\" & N_I & ".xls")
        Set xlSheet1 = xlbook.Worksheets("sheet1")
        xlApp.Visible = False 'Excel文件是不是显示
        
        With xlSheet1
            '.UsedRange.Columns.Count   最大行
            .Cells(.UsedRange.Columns.Count + 1, 1).Value = Val(Text2.Text) '填入数据
            .Cells(.UsedRange.Columns.Count + 1, 2).Value = Val(Text3.Text) '填入数据
        End With
        
        xlApp.Visible = False '这样写,Excel的操作就不显示了。
        xlbook.Save
        xlbook.Close '必须文件关闭,不然Excel.exe的进程会一直驻留内存。
        Set xlbook = Nothing '清空
        Set xlsheet = Nothing
        Set xlApp = Nothing
        'row = row + 1End Sub
      

  2.   

    修改Private Sub Command2_Click()
        Dim i As Integer
        Dim row, col As Integer
        Dim xlApp As Excel.Application
        Dim xlbook As Excel.Workbook
        Dim xlSheet1 As Excel.Worksheet
        'Dim xlSheet2 As Excel.Worksheet
        Dim j As Long
        
         'row = 2
        N_I = Text1.Text
        Set xlApp = CreateObject("Excel.Application") ' 建立对象为Excel.Sheet
        Set xlbook = xlApp.Workbooks().Open(App.Path & "\测试记录\" & N_I & ".xls")
        Set xlSheet1 = xlbook.Worksheets("sheet1")
        xlApp.Visible = False 'Excel文件是不是显示
        
        With xlSheet1
            '.UsedRange.rows.Count   最大行
             j = .UsedRange.Rows.Count + 1
            .Cells(j, 1).Value = Val(Text2.Text) '填入数据
             .Cells(j, 2).Value = Val(Text3.Text) '填入数据
        End With
        
        xlApp.Visible = False '这样写,Excel的操作就不显示了。
        xlbook.Save
        xlbook.Close '必须文件关闭,不然Excel.exe的进程会一直驻留内存。
        Set xlsheet1 = Nothing
        Set xlbook = Nothing '清空
        Set xlApp = Nothing
        'row = row + 1End Sub