Private Function isBlankLine(s1 As String) As Boolean ‘判断是否为空白行
‘9 TAB 32 空格 13 换行
l1 = Len(s1)

For i = 1 To l1
ch = Asc(Mid(s1, i, 1))
    If (ch <> 9 And ch <> 32 And ch <> 13) Then
        isBlankLine = False
        GoTo exit1
    End If
Next i

isBlankLine = True

exit1:
End Function

Private Sub CommandButton1_Click()
Open “D:\SAV.TXT” For Output As #1

pcount = Word.ActiveDocument.Paragraphs.Count
Label1 = pcount
Dim p1 As String
Dim pup As String

With Word.ActiveDocument

For i = 3000 To pcount
DoEvents
Label2 = i

p0 = ActiveDocument.Paragraphs(i).Range.Text
p1 = Left(p0, 5)
If InStr(1, p1, "、") <> 0 Or InStr(1, p1, ".") <> 0 Or InStr(1, p1, ".") <> 0 Or InStr(1, p1, ".") <> 0 Then
'判断是否含有 、 . .
If InStr(1, p1, "、") <> 0 Then
     ps = Split(p1, "、")(0)
ElseIf InStr(1, p1, ".") <> 0 Then
     ps = Split(p1, ".")(0)
ElseIf InStr(1, p1, ".") <> 0 Then
   ps = Split(p1, ".")(0)
'ElseIf InStr(1, p1, ".") <> 0 Then
 '  ps = Split(p1, ".")(0)
End If
'判断、 . .号前面是否为数字
If (IsNumeric(ps)) Then
    '判断前一段是否为空行
  pup = ActiveDocument.Paragraphs(i - 1).Range.Text
    If (Not isBlankLine(pup)) Then
    ListBox1.AddItem (p0)
    Write #1, "P" & i & "   " & p0
      ActiveDocument.Paragraphs(i - 1).Range.InsertAfter (vbCrLf) '插入换行符
      DoEvents
    End If
'TypeParagraph
    End If
End If

Next i
End With

Close #1
End Sub

Private Sub CommandButton2_Click() ‘去段前段后空格
Label1 = ActiveDocument.Paragraphs.Count
For i = 1 To ActiveDocument.Paragraphs.Count
DoEvents
Label2 = i
s1 = ActiveDocument.Paragraphs(i).Range.Text
If (Asc(Left(s1, 1)) = 32) Then
ActiveDocument.Paragraphs(i).Range.Text = Trim(s1)
End If

Next i
End Sub

Private Function isBlankLine(s1 As String) As Boolean ‘判断是否为空白行 ‘9 TAB 32 空格 13 换行 l1 = Len(s1)For i = 1 To l1ch = Asc(Mid(s1, i, 1)) If (ch <> 9 And ch <> 32 And ch <> 13) Then isBla
当我们将一个网页另存为一个文本文件并将文本文件中的所有内容复制到Word2007中进行编辑时,有时会遇到大量的空格空行,运用该宏按钮可以全部删除Word文档中的空格空行(由于空行产生的复杂性,可能一次不能删除全部空行,再执行1-2次该宏按钮就可以全部删除了),非常方便。 在Word2007(其他版本操作类似)中,按ALT+F11打开“Visual Basic编辑器”,按CTRL+M导入该文件,关闭“Visual Basic编辑器”后在“自定义快速访问工具栏-其它命令-宏”中找到该宏并添在快速访问工具栏就可以使用了。 本宏是自己在WORD中做的,绝对无宏病毒,如果实在不放心,你又有点VB知识的话,可以用记事本打开此文件看看,再决定是否使用。
我们前端在与后台人员进行数据交互时,经常会碰到这样的情况,我们经常需要获取文本框中用户输入的信息,然后通过ajax或form提交到后台。但是在用户输入信息时,我们无法保证用户输入的数据两端都没有空格。当然这些空格一般情况下是毫无意义的,因此我们有必要在将数据传输到后台之前,消除数据两端的空格。为了保证通用性,针对左、右及左右两端的空格清除,下面都进行了列举。 1.消除字符串左边的空格 代码如下: function leftTrim(str){ return str.replace(/^\s*/,””);//^符号表示从开头即左边进行匹配 } //alert(“111″+leftTrim(”
最近在写vba代码,对word当中的表格进行操作,当时系统传过来的字符串的进行分割之后生成的条数是不确定的。所以要通过代码控制对行的插入 同时将分割之后的字符串进行相应的填充在表格当中。具体的代码如下: Public Function insertrows(app As Object, record As String) '动态的获取到名称,然后一条记录一行,然后分割记录,然后循环填...
最近需要批量操作一些word文件,大约四十几个文件把。一个一个手动操作真的太low了,所以研究了一下word的宏,VBA编写代码,批量操作。 Sub 批量操作WORD() Dim path As String Dim FileName As String Dim worddoc As Document Dim MyDir As String MyDir = "...
一、新建Word引用 需要首先创建一个对 Word Application 对象的引用。在VBA中,工具-引用,选取“MicroSoft Word 11.0 Object Library”。 方法一、New Word.App...
原文排版如下(红色是自动编号,黑色是手动编号): 用代码全部变成自动编号后如下: Sub 用vba代码将手动编号和自动编号同时存在的word文档变成全是自动编号的文档()’主程序 Dim n As Integer Dim k As Integer n = ActiveDocument.Paragraphs.Count '判断文章共有几个段落,要注意,最后一个段落很可能只是一个换行符,...
新建一个sheet,把表头和第二行先复制黏贴过来,然后从第三行开始遍历,每复制黏贴一行后再往下延N行,直至把原表数据完全复制完毕 1、辅助函数 Sub create_sheet(i As String) ' 宏3 宏 On Error GoTo 999 Sheets("新sheet").Select Cells.Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp