Private i As Integer Private MacroName As String Private WordApp As Word.Application Private doc As Word.Document Private se1 As Word.Selection Private db As Database Private rs As Recordset
Private Sub cmdAdd_Click() Dim sTmp As String sTmp = InputBox("输入要添加的新项目:") If Len(sTmp) = 0 Then Exit Sub lstItems.AddItem sTmp End Sub
Private Sub cmdDelete_Click() If lstItems.ListIndex > -1 Then If MsgBox("删除 '" & lstItems.Text & "'?", vbQuestion + vbYesNo) = vbYes Then lstItems.RemoveItem lstItems.ListIndex End If End If End Sub
Private Sub cmdUp_Click() On Error Resume Next Dim nItem As Integer With lstItems If .ListIndex < 0 Then Exit Sub nItem = .ListIndex If nItem = 0 Then Exit Sub '不能将第一个项目向上移动 '向上移动项目 .AddItem .Text, nItem - 1 '删除旧项目 .RemoveItem nItem + 1 '选择刚刚移动的项目 .Selected(nItem - 1) = True End With End Sub
Private Sub cmdDown_Click() On Error Resume Next Dim nItem As Integer With lstItems If .ListIndex < 0 Then Exit Sub nItem = .ListIndex If nItem = .ListCount - 1 Then Exit Sub '不能将最后的项目向下移动 '向下移动项目 .AddItem .Text, nItem + 2 '删除旧的项目 .RemoveItem nItem '选择刚刚移动的项目 .Selected(nItem + 1) = True End With End Sub
Private Sub lstItems_DragDrop(Source As Control, X As Single, Y As Single) Dim i As Integer Dim nID As Integer Dim sTmp As String If Source.Name <> "lstItems" Then Exit Sub If lstItems.ListCount = 0 Then Exit Sub With lstItems i = (Y \ TextHeight("A")) + .TopIndex If i = .ListIndex Then '将它放在它自己的上面 Exit Sub End If If i > .ListCount - 1 Then i = .ListCount - 1 nID = .ListIndex sTmp = .Text If (nID > -1) Then sTmp = .Text .RemoveItem nID .AddItem sTmp, i .ListIndex = .NewIndex End If End With SetListButtons End Sub
Sub lstItems_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then lstItems.Drag End Sub
Private Sub lstItems_Click() SetListButtons End Sub
Sub SetListButtons() Dim i As Integer i = lstItems.ListIndex '设置移动按钮的状态 cmdUp.Enabled = (i > 0) cmdDown.Enabled = ((i > -1) And (i < (lstItems.ListCount - 1))) cmdDelete.Enabled = (i > -1) End Sub
Private Sub Command1_Click()
With dlgCommonDialog Label4.Caption = .InitDir .DialogTitle = "打开dbf文件" .CancelError = False 'ToDo: 设置 common dialog 控件的标志和属性 .Filter = "所有dbf文件 (*.dbf)|*.dbf" .ShowOpen If Len(.FileName) = 0 Then Exit Sub End If sfile = .FileName Label1.Caption = sfile Label2.Caption = .FileTitle Label3.Caption = Left(sfile, Len(sfile) - Len(.FileTitle) - 1) Data1.Caption = .FileTitle End With ' Data1.Database = Label3.Caption Data1.DatabaseName = Label3.Caption Data1.RecordSource = Label2.Caption ' On Error Resume Next Data1.Refresh ' Form1.MSFlexGrid1.Refresh Form1.DBGrid1.Refresh Form1.Refresh End Sub
Private Sub Command2_Click() End End Sub
Private Sub Command3_Click() If Label2.Caption = "DbfFile:" Then Call Command1_Click End If Set db = Data1.Database Set rs = Data1.Recordset Data1.Refresh
Set WordApp = New Word.Application WordApp.Documents.Add Set doc = WordApp.ActiveDocument Set se1 = WordApp.Selection
With doc.PageSetup .LineNumbering.Active = False .Orientation = wdOrientLandscape .TopMargin = CentimetersToPoints(2) .BottomMargin = CentimetersToPoints(2) .LeftMargin = CentimetersToPoints(2) .RightMargin = CentimetersToPoints(2) .Gutter = CentimetersToPoints(0) .HeaderDistance = CentimetersToPoints(1.5) .FooterDistance = CentimetersToPoints(1.75) .PageWidth = CentimetersToPoints(29.7) .PageHeight = CentimetersToPoints(21) .FirstPageTray = wdPrinterDefaultBin .OtherPagesTray = wdPrinterDefaultBin .SectionStart = wdSectionNewPage .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .VerticalAlignment = wdAlignVerticalTop .SuppressEndnotes = False .MirrorMargins = False .TwoPagesOnOne = False .GutterPos = wdGutterPosLeft .LayoutMode = wdLayoutModeLineGrid End With se1.TypeText Text:="20" & CStr(Date) & " " & CStr(Time())
'doc.Tables.Add Range:=se1.Range, numrows:=1, numcolumns:=List2.ListCount doc.Tables.Add Range:=se1.Range, numrows:=1, numcolumns:=rs.Fields.Count For i = 0 To rs.Fields.Count - 1 Screen.MousePointer = 11 'se1.TypeText Text:=rs.Fields(i).Name se1.TypeText Text:=rs.Fields(i).Name se1.MoveRight unit:=12 Next
'se1.TypeText Text:="产品名称" 'se1.MoveRight unit:=12
Do Until rs.EOF For i = 0 To rs.Fields.Count - 1 On Error Resume Next se1.TypeText Text:=rs.Fields(i).Value ' se1.TypeText Text:=rs.Fields(rs.Fields(i)).Value se1.MoveRight unit:=12 Next 'se1.TypeText Text:=rs!产品名称 'se1.MoveRight unit:=12
'se1.TypeText Text:=rs!中止 'se1.MoveRight unit:=12
rs.MoveNext Loop WordApp.Run MacroName:="AutoFitContent" se1.InsertBreak se1.Delete Count:=rs.Fields.Count se1.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:= _ wdAlignPageNumberRight, FirstPage:=True WordApp.Visible = True ' WordApp.Run MacroName:="InsertDateTime" Set WordApp = Nothing Screen.MousePointer = 1 'data1.Recordset.Fields() End Sub
Private Sub exit_Click() Close End End Sub
Private Sub open_Click() Call Command1_Click End Sub 
|