将标题、来源、日期、浏览网站放进数组
时间:2011-05-18
来源:互联网
请问各位高手,如何实用vba将word文档里的新闻标题、来源、日期、浏览网站放进一个数组,因为我接下要把这个数组赋值进excel表格。
请各位高手帮忙下!谢谢!
新建 Microsoft Office Word 文档.rar(11.35 KB)
请各位高手帮忙下!谢谢!
附件

2011-5-18 00:19, 下载次数: 2
作者: huanghutu2010 发布时间: 2011-05-18
可试试如下代码:
复制内容到剪贴板
Dim info() As String
Dim i As Integer
Dim a As String
Dim Hplnk As Hyperlink
Dim b() As String
ReDim info(ActiveDocument.Hyperlinks.Count - 1, 3)
With ActiveDocument.Content.Find
.Format = True
.Font.Bold = True
Do While .Execute '提取标题信息,假设标题均为加粗字体,且只有标题才是加粗字体
a = .Parent.Text
a = Replace(a, Chr(13), "")
info(i, 0) = a
i = i + 1
.Parent.Collapse wdCollapseEnd
Loop
i = 0
.Parent.WholeStory
.Text = "来源:[!^13^32]@^32@日期:[0-9-]{1,}"
.Format = False
.MatchWildcards = True
Do While .Execute '提取来源及日期信息
a = .Parent.Text
info(i, 1) = Split(a, ":")(1)
info(i, 1) = Split(info(i, 1), " ")(0)
info(i, 2) = Split(a, ":")(2)
i = i + 1
.Parent.Collapse wdCollapseEnd
Loop
i = 0
For Each Hplnk In ActiveDocument.Hyperlinks '提取网址信息
info(i, 3) = Hplnk.Address
i = i + 1
Next
End With
ReDim b(UBound(info, 1))
For i = 0 To UBound(info, 1)
b(i) = info(i, 0) & vbTab & info(i, 1) & vbTab & info(i, 2) & vbTab & info(i, 3)
Next
Documents.Add.Content.Text = Join(b, vbCrLf)
End Sub
代码:
Sub test()Dim info() As String
Dim i As Integer
Dim a As String
Dim Hplnk As Hyperlink
Dim b() As String
ReDim info(ActiveDocument.Hyperlinks.Count - 1, 3)
With ActiveDocument.Content.Find
.Format = True
.Font.Bold = True
Do While .Execute '提取标题信息,假设标题均为加粗字体,且只有标题才是加粗字体
a = .Parent.Text
a = Replace(a, Chr(13), "")
info(i, 0) = a
i = i + 1
.Parent.Collapse wdCollapseEnd
Loop
i = 0
.Parent.WholeStory
.Text = "来源:[!^13^32]@^32@日期:[0-9-]{1,}"
.Format = False
.MatchWildcards = True
Do While .Execute '提取来源及日期信息
a = .Parent.Text
info(i, 1) = Split(a, ":")(1)
info(i, 1) = Split(info(i, 1), " ")(0)
info(i, 2) = Split(a, ":")(2)
i = i + 1
.Parent.Collapse wdCollapseEnd
Loop
i = 0
For Each Hplnk In ActiveDocument.Hyperlinks '提取网址信息
info(i, 3) = Hplnk.Address
i = i + 1
Next
End With
ReDim b(UBound(info, 1))
For i = 0 To UBound(info, 1)
b(i) = info(i, 0) & vbTab & info(i, 1) & vbTab & info(i, 2) & vbTab & info(i, 3)
Next
Documents.Add.Content.Text = Join(b, vbCrLf)
End Sub
作者: sylun 发布时间: 2011-05-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28