Sub 调试()
Dim AppWord As Object 'word程序对象
Dim MyWord As Object 'word文档对象
Dim mf
Dim MySheet As Worksheet '用于输出的工作表对象
Dim R_sc As Long '输出行
Dim fso As Object 'fso对象
Dim InputPath, Cha, StrT, Str(1 To 70) As String '提取数据的文件夹路径
Dim S_start As Long '选取字符的开始位置
Dim S_end As Long '选取字符的结尾位置
Dim i, j, k, n, m As Integer
Set MySheet = ThisWorkbook.Sheets("调试")
MySheet.Range("A3:H2000").Clear '清空输出表
StrT = ""
InputPath = ThisWorkbook.Path
mf = Dir(ThisWorkbook.Path & "\*田径运动会*.doc*")
Set AppWord = CreateObject("Word.Application")
AppWord.Visible = False '不显示word窗体
If mf <> "" Then
Set MyWord = AppWord.Documents.Open(ThisWorkbook.Path & "\" & mf)
MsgBox "YGD"
If Not MyWord Is Nothing Then
With MyWord.Content.Find
.ClearFormatting
.Text = "七("
.Replacement.Text = "初一("
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
End If
Else
MsgBox "没有这个Word文档!", 16, "警告......"
End If
i = 0
j = 3
k = 0
n = 1
'遍历word文档中的字符并赋值给变量Cha
For i = 0 To MyWord.Range.End
If i < MyWord.Range.End Then '当i = MyWord.Range.End Then时不能执行Cha = MyWord.Range(i, i + 1)
Cha = MyWord.Range(i, i + 1) '从第i个字符开始获取i+1个字符
StrT = StrT & Cha
Else
AppWord.Documents.Save
MyWord.Close
Set MyWord = Nothing
AppWord.Application.Quit
Set MySheet = Nothing
Set AppWord = Nothing
Set fso = Nothing
End If
Next
Str(1) = Mid(StrT, InStr(StrT, "甲组男子100米"), InStr(StrT, "甲组男子200米") - InStr(StrT, "甲组男子100米"))
Str(2) = Mid(StrT, InStr(StrT, "甲组男子200米"), InStr(StrT, "甲组男子400米") - InStr(StrT, "甲组男子200米"))
Str(3) = Mid(StrT, InStr(StrT, "甲组男子400米"), InStr(StrT, "甲组男子800米") - InStr(StrT, "甲组男子400米"))
Str(4) = Mid(StrT, InStr(StrT, "甲组男子800米"), InStr(StrT, "甲组男子1500米") - InStr(StrT, "甲组男子800米"))
Str(5) = Mid(StrT, InStr(StrT, "甲组男子1500米"), InStr(StrT, "甲组男子5000米") - InStr(StrT, "甲组男子1500米"))
Str(6) = Mid(StrT, InStr(StrT, "甲组男子5000米"), InStr(StrT, "甲组男子跳高") - InStr(StrT, "甲组男子5000米"))
Str(7) = Mid(StrT, InStr(StrT, "甲组男子跳高"), InStr(StrT, "甲组男子助跑跳远") - InStr(StrT, "甲组男子跳高"))
Str(8) = Mid(StrT, InStr(StrT, "甲组男子助跑跳远"), InStr(StrT, "甲组男子立定三级跳") - InStr(StrT, "甲组男子助跑跳远"))
Str(9) = Mid(StrT, InStr(StrT, "甲组男子立定三级跳"), InStr(StrT, "甲组男子助跑三级跳") - InStr(StrT, "甲组男子立定三级跳"))
Str(10) = Mid(StrT, InStr(StrT, "甲组男子助跑三级跳"), InStr(StrT, "甲组男子铅球") - InStr(StrT, "甲组男子助跑三级跳"))
Str(11) = Mid(StrT, InStr(StrT, "甲组男子铅球"), InStr(StrT, "甲组女子100米") - InStr(StrT, "甲组男子铅球"))
Str(12) = Mid(StrT, InStr(StrT, "甲组女子100米"), InStr(StrT, "甲组女子200米") - InStr(StrT, "甲组女子100米"))
Str(13) = Mid(StrT, InStr(StrT, "甲组女子200米"), InStr(StrT, "甲组女子400米") - InStr(StrT, "甲组女子200米"))
Str(14) = Mid(StrT, InStr(StrT, "甲组女子400米"), InStr(StrT, "甲组女子800米") - InStr(StrT, "甲组女子400米"))
Str(15) = Mid(StrT, InStr(StrT, "甲组女子800米"), InStr(StrT, "甲组女子1500米") - InStr(StrT, "甲组女子800米"))
Str(16) = Mid(StrT, InStr(StrT, "甲组女子1500米"), InStr(StrT, "甲组女子3000米") - InStr(StrT, "甲组女子1500米"))
Str(17) = Mid(StrT, InStr(StrT, "甲组女子3000米"), InStr(StrT, "甲组女子跳远") - InStr(StrT, "甲组女子3000米"))
Str(18) = Mid(StrT, InStr(StrT, "甲组女子跳远"), InStr(StrT, "甲组女子跳高") - InStr(StrT, "甲组女子跳远"))
Str(19) = Mid(StrT, InStr(StrT, "甲组女子跳高"), InStr(StrT, "甲组女子立定三级跳") - InStr(StrT, "甲组女子跳高"))
Str(20) = Mid(StrT, InStr(StrT, "甲组女子立定三级跳"), InStr(StrT, "甲组女子助跑三级跳") - InStr(StrT, "甲组女子立定三级跳"))
Str(21) = Mid(StrT, InStr(StrT, "甲组女子助跑三级跳"), InStr(StrT, "甲组女子铅球") - InStr(StrT, "甲组女子助跑三级跳"))
Str(22) = Mid(StrT, InStr(StrT, "甲组女子铅球"), InStr(StrT, "乙组男子100米") - InStr(StrT, "甲组女子铅球"))
Str(23) = Mid(StrT, InStr(StrT, "乙组男子100米"), InStr(StrT, "乙组男子200米") - InStr(StrT, "乙组男子100米"))
Str(24) = Mid(StrT, InStr(StrT, "乙组男子200米"), InStr(StrT, "乙组男子400米") - InStr(StrT, "乙组男子200米"))
Str(25) = Mid(StrT, InStr(StrT, "乙组男子400米"), InStr(StrT, "乙组男子800米") - InStr(StrT, "乙组男子400米"))
Str(26) = Mid(StrT, InStr(StrT, "乙组男子800米"), InStr(StrT, "乙组男子1500米") - InStr(StrT, "乙组男子800米"))
Str(27) = Mid(StrT, InStr(StrT, "乙组男子1500米"), InStr(StrT, "乙组男子5000米") - InStr(StrT, "乙组男子1500米"))
Str(28) = Mid(StrT, InStr(StrT, "乙组男子5000米"), InStr(StrT, "乙组男子跳远") - InStr(StrT, "乙组男子5000米"))
Str(29) = Mid(StrT, InStr(StrT, "乙组男子跳远"), InStr(StrT, "乙组男子跳高") - InStr(StrT, "乙组男子跳远"))
Str(30) = Mid(StrT, InStr(StrT, "乙组男子跳高"), InStr(StrT, "乙组男子助跑三级跳") - InStr(StrT, "乙组男子跳高"))
Str(31) = Mid(StrT, InStr(StrT, "乙组男子助跑三级跳"), InStr(StrT, "乙组男子铅球") - InStr(StrT, "乙组男子助跑三级跳"))
Str(32) = Mid(StrT, InStr(StrT, "乙组男子铅球"), InStr(StrT, "乙组女子100米") - InStr(StrT, "乙组男子铅球"))
Str(33) = Mid(StrT, InStr(StrT, "乙组女子100米"), InStr(StrT, "乙组女子200米") - InStr(StrT, "乙组女子100米"))
Str(34) = Mid(StrT, InStr(StrT, "乙组女子200米"), InStr(StrT, "乙组女子400米") - InStr(StrT, "乙组女子200米"))
Str(35) = Mid(StrT, InStr(StrT, "乙组女子400米"), InStr(StrT, "乙组女子800米") - InStr(StrT, "乙组女子400米"))
Str(36) = Mid(StrT, InStr(StrT, "乙组女子800米"), InStr(StrT, "乙组女子1500米") - InStr(StrT, "乙组女子800米"))
Str(37) = Mid(StrT, InStr(StrT, "乙组女子1500米"), InStr(StrT, "乙组女子3000米") - InStr(StrT, "乙组女子1500米"))
Str(38) = Mid(StrT, InStr(StrT, "乙组女子3000米"), InStr(StrT, "乙组女子跳远") - InStr(StrT, "乙组女子3000米"))
Str(39) = Mid(StrT, InStr(StrT, "乙组女子跳远"), InStr(StrT, "乙组女子跳高") - InStr(StrT, "乙组女子跳远"))
Str(40) = Mid(StrT, InStr(StrT, "乙组女子跳高"), InStr(StrT, "乙组女子铅球") - InStr(StrT, "乙组女子跳高"))
Str(41) = Mid(StrT, InStr(StrT, "乙组女子铅球"), InStr(StrT, "乙组女子助跑三级跳") - InStr(StrT, "乙组女子铅球"))
Str(42) = Mid(StrT, InStr(StrT, "乙组女子助跑三级跳"), InStr(StrT, "丙组男子100米") - InStr(StrT, "乙组女子助跑三级跳"))
Str(43) = Mid(StrT, InStr(StrT, "丙组男子100米"), InStr(StrT, "丙组男子200米") - InStr(StrT, "丙组男子100米"))
Str(44) = Mid(StrT, InStr(StrT, "丙组男子200米"), InStr(StrT, "丙组男子400米") - InStr(StrT, "丙组男子200米"))
Str(45) = Mid(StrT, InStr(StrT, "丙组男子400米"), InStr(StrT, "丙组男子800米") - InStr(StrT, "丙组男子400米"))
Str(46) = Mid(StrT, InStr(StrT, "丙组男子800米"), InStr(StrT, "丙组男子1500米") - InStr(StrT, "丙组男子800米"))
Str(47) = Mid(StrT, InStr(StrT, "丙组男子1500米"), InStr(StrT, "丙组男子3000米") - InStr(StrT, "丙组男子1500米"))
Str(48) = Mid(StrT, InStr(StrT, "丙组男子3000米"), InStr(StrT, "丙组男子跳远") - InStr(StrT, "丙组男子3000米"))
Str(49) = Mid(StrT, InStr(StrT, "丙组男子跳远"), InStr(StrT, "丙组男子铅球") - InStr(StrT, "丙组男子跳远"))
Str(50) = Mid(StrT, InStr(StrT, "丙组男子铅球"), InStr(StrT, "丙组男子助跑三级跳") - InStr(StrT, "丙组男子铅球"))
Str(51) = Mid(StrT, InStr(StrT, "丙组男子助跑三级跳"), InStr(StrT, "丙组女子100米") - InStr(StrT, "丙组男子助跑三级跳"))
Str(52) = Mid(StrT, InStr(StrT, "丙组女子100米"), InStr(StrT, "丙组女子200米") - InStr(StrT, "丙组女子100米"))
Str(53) = Mid(StrT, InStr(StrT, "丙组女子200米"), InStr(StrT, "丙组女子400米") - InStr(StrT, "丙组女子200米"))
Str(54) = Mid(StrT, InStr(StrT, "丙组女子400米"), InStr(StrT, "丙组女子800米") - InStr(StrT, "丙组女子400米"))
Str(55) = Mid(StrT, InStr(StrT, "丙组女子800米"), InStr(StrT, "丙组女子1500米") - InStr(StrT, "丙组女子800米"))
Str(56) = Mid(StrT, InStr(StrT, "丙组女子1500米"), InStr(StrT, "丙组女子3000米") - InStr(StrT, "丙组女子1500米"))
Str(57) = Mid(StrT, InStr(StrT, "丙组女子3000米"), InStr(StrT, "丙组女子跳远") - InStr(StrT, "丙组女子3000米"))
Str(58) = Mid(StrT, InStr(StrT, "丙组女子跳远"), InStr(StrT, "丙组女子铅球") - InStr(StrT, "丙组女子跳远"))
Str(59) = Mid(StrT, InStr(StrT, "丙组女子铅球"), InStr(StrT, "丙组女子助跑三级跳") - InStr(StrT, "丙组女子铅球"))
Str(60) = Mid(StrT, InStr(StrT, "丙组女子助跑三级跳"), Len(StrT) - InStr(StrT, "丙组女子助跑三级跳"))
For i = 1 To 60
j = 1
Do
'k = InStr(Str(i), "")
'n = InStr(Str(i), "")
'm = InStr(Str(i), "")
'Str(i) = Right(Str(i), Len(Str(i)) - 1)
Sheets("调试").Cells(3 + i - 1, 1) = Str(i)
Exit Do
Loop Until Len(Str(i)) = 2
Next
'Do
'Loop Until Len(StrT) = 0
End Sub
这是还没有完善的全部代码,第一楼的只是无关问题的代码删除了而已,谢谢!但问题还是存在! |