注册 登录
编程论坛 VFP论坛

如何将”2021年第35届中国化学奥林匹克初赛一等奖名单.doc“写入DBF中

王咸美 发布于 2021-10-22 12:38, 1893 次点击
如何将”2021年第35届中国化学奥林匹克初赛一等奖名单.doc“写入DBF中,请高手帮忙,万分感激!!!
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录
6 回复
#2
wengjl2021-10-22 13:16
1、WORD文字转表格
2、复制粘贴到EXCEL表
3、另存为 DBF 表
#3
laowan0012021-10-22 13:37
楼上方法简单实用
#4
厨师王德榜2021-10-22 17:43
1、声明Word的OLE对象,
2、OLE对象打开这个word文档。
3、OLE对象运行如下代码,把word文档另存为txt:
    ActiveDocument.SaveAs2( "C:\XIDE\化学奥林匹2.txt", 2)
4、建立一个空表,列数要与word文档一致,用append from ...装入上步生成的txt
5、清理数据,删除多余的行。
大致流程就是这样,关键代码也给出来了。
我只能给思路,没时间写具体代码。
可以给你“渔”,但是不能给你“鱼”。
#5
xuminxz2021-10-22 20:38
回复 楼主 王咸美
如果只有这一个文件,手工做最好。如果有很多个这样的可先转换为文本文件。下面是只有一个文件的方法,如有多个同格式文件可以把两注释之间内容加入循环体。
程序代码:

oWord=Createobject('word.application')
oWord.Visible=.T.
****

_fnm="2021年第35届中国化学奥林匹克初赛一等奖名单.doc"
_fnm=ADDBS(SYS(5)+SYS(2003))+_fnm
oWord.documents.Open(_fnm)
htext=oWord.ActiveDocument.Paragraphs(1).Range.text
oWord.Selection.Find.ClearFormatting
oWord.Selection.Find.Replacement.ClearFormatting
oWord.ActiveDocument.Content.Find.Execute(htext,.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,'',2)

WITH oWord.activedocument
FOR i=1 TO .Tables.Count
    .tables(1).delete
ENDFOR
ENDWITH
oWord.ActiveDocument.Content.Find.Execute("^p^p",.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,"^p",2)
oWord. ActiveDocument.Words(1).delete
oWord. ActiveDocument.saveas2(FORCEEXT(_fnm,'txt'),2)
oWord.ActiveDocument.close(0)
***

Release oWord

#6
schtg2021-10-23 06:06
学习啦,谢谢!
#7
王咸美2021-10-23 20:22
非常感谢几位大侠的指点!怎样由文本文件转为DBF文件还请赐教。多谢!!!

[此贴子已经被作者于2021-10-23 20:29编辑过]

1