| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2067 人关注过本帖
标题:vb 怎么删除word中最后一页的空白行
只看楼主 加入收藏
vb新手小白
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-12-30
收藏
 问题点数:0 回复次数:4 
vb 怎么删除word中最后一页的空白行
vb 怎么删除word中最后一页的空白行,不是那一页给删掉,是把最后一页的空白行删除,别的页的空白行不变
搜索更多相关主题的帖子: word vb 删除 空白 
2020-12-30 14:32
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
抱歉,回答晚了,前几天就看到了这个问题。

经测试:
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

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2021-01-17 17:15
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
今天测试了一下,doc(test.doc)文档中的空行,是ASCII为13的字符
每行至少需要一个ASCII为13的字符
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2021-02-07 14:17
zshore
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-2-28
收藏
得分:0 
优秀,这都能找到,膜拜了
2021-02-28 20:45
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
如下是去掉中间的空格和换行空格的可调用程序供参考(当然,不合乎要求,后面有两个方法请试试):
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编辑过]

2021-03-01 12:21
快速回复:vb 怎么删除word中最后一页的空白行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021124 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved