看一下这个:
Sub H_Aces()
''本段过程用于取得你文中的题目(赋值给ar)与内容(赋值给br)
''你给出的范例文章中,题目是“标题 3”而正文是“文字块”,如果你今后使用时有变,你还得改。
On Error Resume Next
x = 0
y = 0
ar = ""
br = ""
For Each y1 In ActiveDocument.Paragraphs
x = x + 1
t = ActiveDocument.Paragraphs(x).Style
If t = "标题 3" And y <> 1 Then
ar = ActiveDocument.Paragraphs(x).Range'''''''取得题目
y = y + 1 ''本变量用于确定是否循环到了下一个标题开始的地方。
ElseIf t = "文字块" Then
br = br & Chr(13) & ActiveDocument.Paragraphs(x).Range'''''''取得各段落
Else
If ar <> "" And br <> "" Then''''由于文中有空段落所以要这个判断
Call he(ar, br)''''''进入插入数据库的过程
y = 0
ar = ""
br = ""
End If
End If
Next
End Sub
Sub he(a, b)
'''以下代码执行插入到数据库,假定你的数据库路径为"c:\aaa.mdb",表为“book”,
'''“book表”中的字段分别为"A_title"与"A_range"
'''不要忘了在工程中引用Access否则不能正常运行。
Set conn = CreateObject("ADODB.Connection")
conn.Provider = "microsoft.jet.oledb.4.0"
conn.Open "c:\aaa.mdb"
'以下进行文件写入
conn.Execute "Insert into book (A_title,A_range) values ('" & a & "','" & b & "')"
Set conn = Nothing
'''上句代码插入数据时,不如使用RS对象的“Update”好!因为使用"Insert into"时,
'''只要文件中有英文逗号或撇号就会出错!!
End Sub
代码我没有调试,但大体上应该就是这个样子了,有问题你可以自己修改。
[此贴子已经被作者于2005-1-11 13:20:29编辑过] |