小弟我刚接触vb,在做一个预算的系统,做到工资预算时“卡壳”了,希望各位大虾帮帮忙,谢谢!
    具体情况如下:
    
   我的数据库的设计是每个人只有一条数据,即
 employeeno     employeename   wage                             moth                       eatSubsidy  ..........
 100001         徐应怀        1/1/1/1/1/1/1/1/1/1/1/1   1/2/3/4/5/6/7/8/9/10/11/12    1/1/1/1/1/1/1/1/1/1/1/1  ..
   
   excel表的模板是有12个页签,分别是一月、二月.....十二月
   每一页是所有人的当月的工资
   
   望请各位前辈门给予赐教,谢谢   
   
   如有例子,可寄往:[email protected]        小弟不胜感激涕零

解决方案 »

  1.   

    http://user.qzone.qq.com/937138991/infocenter
      

  2.   

    http://user.qzone.qq.com/937138991/infocenter
    这个网址打不开啊
      

  3.   

    操作EXCEL代码示例Private Sub Command3_Click()On Error GoTo err1    Dim i As Long    Dim j As Long    Dim objExl As Excel.Application   '声明对象变量    Me.MousePointer = 11                   '改变鼠标样式    Set objExl = New Excel.Application     '初始化对象变量    objExl.SheetsInNewWorkbook = 1       '将新建的工作薄数量设为1    objExl.Workbooks.Add                          '增加一个工作薄    objExl.Sheets(objExl.Sheets.Count).Name = "book1"      '修改工作薄名称     objExl.Sheets.Add , objExl.Sheets("book1")                      '增加第二个工作薄在第一个之后    objExl.Sheets(objExl.Sheets.Count).Name = "book2"     objExl.Sheets.Add , objExl.Sheets("book2")                      '增加第三个工作薄在第二个之后    objExl.Sheets(objExl.Sheets.Count).Name = "book3"      objExl.Sheets("book1").Select          '选中工作薄<book1>准备写入数据'下面是两种向已生成的EXCEL文件写入数据的方法 ' 第一种写入数据方法: 循环写入数据'-----------------------------------------------------------------------------------------------------------------------------------    For i = 1 To 50                           For j = 1 To 5            If i = 1 Then                        objExl.Selection.NumberFormatLocal = "@"  '设置格式为文本                         objExl.Cells(i, j) = " E " & i & j            Else               objExl.Cells(i, j) = i & j            End If        Next    Next '-----------------------------------------------------------------------------------------------------------------------------------' 另一种更快的写入数据方法: 直接用数组赋值    objExl.Range("A4").Resize(lngN, 10).Value = strTemp()     ' A4 代表二维表左上角第一个数据位置    ' lngN 和 10 代表数组维数(lngN 是行,10 是列)    ' 如果你的数组是用 GetRows() 方法取得数据滴,需要做个转换,否则行和列是反滴'-----------------------------------------------------------------------------------------------------------------------------------           objExl.Rows("1:1").Select         '选中第一行          objExl.Selection.Font.Bold = True   '设为粗体          objExl.Selection.Font.Size = 24     '设置字体大小          objExl.Cells.EntireColumn.AutoFit  '自动调整列宽           objExl.ActiveWindow.SplitRow = 1  '拆分第一行          objExl.ActiveWindow. SplitColumn = 0  '拆分列          objExl.ActiveWindow.FreezePanes = True   '固定拆分                    objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"  '设置打印固定行          objExl.ActiveSheet.PageSetup.PrintTitleColumns = ""    '打印标题              objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & Format(Now, "yyyy年mm月dd日 hh:MM:ss")          objExl.ActiveWindow.View = xlPageBreakPreview    '设置显示方式          objExl.ActiveWindow.Zoom = 100                 '设置显示大小           '给工作表加密码          objExl.ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scenarios:=True          objExl.Application.IgnoreRemoteRequests = False          objExl.Visible = True                       '使EXCEL可见          objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化          objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化          objExl.SheetsInNewWorkbook = 3           '将默认新工作薄数量改回3个           Set objExl = Nothing    '清除对象          Me.MousePointer = 0   '修改鼠标Exit Sub err1:objExl.SheetsInNewWorkbook = 3objExl.DisplayAlerts = False  '关闭时不提示保存objExl.Quit                '关闭EXCELobjExl.DisplayAlerts = True   '关闭时提示保存Set objExl = NothingMe.MousePointer = 0End Sub