注册 登录
编程论坛 VB6论坛

vb 怎么删除word中最后一页的空白行

vb新手小白 发布于 2020-12-30 14:32, 1972 次点击
vb 怎么删除word中最后一页的空白行,不是那一页给删掉,是把最后一页的空白行删除,别的页的空白行不变
4 回复
#2
yuma2021-01-17 17:15
抱歉,回答晚了,前几天就看到了这个问题。

经测试:
word中的回车符,不是chr(13) & chr(10),也不是crlf。是什么也没测试出来。

楼主请参考下面的代码自行解决:

程序代码:
Private Sub Form_Load()
Dim wrd As Object
Dim MyWord As Object
Dim WriteWord As Object
Dim ReadWord As Object

'创建doc文档
Set wrd = CreateObject("Word.Application")
Set MyWord = wrd.Documents.Add
MyWord.SaveAs "c:\test.doc", 16   '可以是doc格式,也可以是docx格式
MyWord.Close

'写doc文档内容,也可以写docx文档。
Set WriteWord = wrd.Documents.Open("C:\test.doc")
Set ObjSelection = wrd.selection '每个文档窗格只能有一个活动的 Selection对象,并且整个应用程序中只能有一个活动的 Selection对象
ObjSelection.Font.Size = 14 '设置字体大小
ObjSelection.Font.Bold = True '是否加粗
ObjSelection.Font.Color = RGB(255, 0, 0) '设置字体颜色
ObjSelection.TypeText ("test") '写入内容
WriteWord.Close

'读doc文档内容,也可以读docx文档内容。
Set ReadWord = GetObject("c:\test.doc")
MsgBox ReadWord.Content.Text, vbInformation, "Word"

Set wrd = Nothing
Set MyWord = Nothing
Set WriteWord = Nothing
Set ReadWord = Nothing

End Sub
#3
yuma2021-02-07 14:17
今天测试了一下,doc(test.doc)文档中的空行,是ASCII为13的字符
每行至少需要一个ASCII为13的字符
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录
#4
zshore2021-02-28 20:45
优秀,这都能找到,膜拜了
#5
ysr28572021-03-01 12:21
如下是去掉中间的空格和换行空格的可调用程序供参考(当然,不合乎要求,后面有两个方法请试试):
Public Function DeleteSpace1(Tmp As String) As String
  '删掉字符串中的换行符和空格的程序
  Dim a As String, b As String
Dim i As Long, j As Long, k As Long

a = Tmp
b = ""
k = Len(a)
For i = 1 To k
j = Asc(Mid(a, i))
If j <> 10 And j <> 13 And j <> 32 And j <> Asc(" ") Then '最后一个百条件是全角空格
b = b & Chr(j)
End If
Next
DeleteSpace1 = b
End Function

后面是符合要求的方法,其实语句Trim 可能就可以去掉末尾的空白(前后都能去掉),您试试,还可以用Righttrim(去掉末尾空白),还可以参考去掉后缀0的方法逐个去掉末尾的空白(换行符好像就是产生7个空格):(仅供参考)
去掉后缀0的程序:
Private Function qdhz0(sa As String) As String
  a = sa
  Do While Right(a, 1) = "0"
  a = Left(a, Len(a) - 1)
  Loop
  If a = "" Then
  a = 0
  Else
  a = a
  End If
  qdhz0 = a
  End Function

去掉后缀空白:
Private Function qdhzkg(sa As String) As String
  a = sa
  Do While Right(a, 1) = " "
  a = Left(a, Len(a) - 1)
  Loop
  If a = "" Then
  a = 0
  Else
  a = a
  End If
  qdhzkg = a
  End Function

[此贴子已经被作者于2021-3-1 12:24编辑过]

1