当前位置:编程学习 > VB >>

word 内容保存到数据中并显示

本人用VB调用word程序 嵌入到form1中 

1如何把这个word 内容保存到数据中(里面是有格式的word文档)

2从数据库中 读取N条记录(里面是有格式的word文档)  显示在word中

--------------------编程问答-------------------- 个人意见,仅供参考:
1、把word内容保存到word文件,然后以读取二进制文件的形式,把word文件内容读入内存变量,
然后写入数据库。
2、从数据库中读取二进制记录,然后在以二进制方式写回磁盘,生成word文件,再显示在word中
--------------------编程问答-------------------- http://download.csdn.net/source/1627134 --------------------编程问答-------------------- chinaboyzyq 仁兄 你的办法只有在操作一记录的时候方可使用,如果从数据库中取N条记录那不要生成N个word 再进行追加记录了嘛!!!! --------------------编程问答-------------------- 最简单的方式是以二进制方式将DOC文件保存到数据库中,显示时再读取二进制数据生成临时DOC文件。 --------------------编程问答-------------------- 尽量不要将文档直接放入数据库,严重影响性能。
可以在固定目录保存文档,数据库字段只记录文档名称。
使用时将文档复制一份,然后用复制的文档供 Word 操作。 --------------------编程问答-------------------- 如果从数据库中取N条记录那不是要读取N个word 文件了?

这样的办法还是有点不妥呀~~~~

有没有别的好办法,像读数据库记录一样直接的

或者有什么控件可以实现像word这样的功能! --------------------编程问答--------------------
引用 3 楼 sskeyial 的回复:
chinaboyzyq 仁兄 你的办法只有在操作一记录的时候方可使用,如果从数据库中取N条记录那不要生成N个word 再进行追加记录了嘛!!!!

用程序循环去做嘛,干嘛自已动手去做

'打开你的word文档(有100行左右的),添加以下宏,然后执行,它会20行自动生成一个word文档(没细调试),仅供参考
'这个程序可以改成VB6下可用的,自己去改吧,我只提供一个思路.
Sub Macro1()
Dim TarLines As Integer
'DOC文档的总行数
TarLines = ActiveDocument.BuiltInDocumentProperties("Number of lines").Value
'把光标移到首行
Selection.HomeKey Unit:=wdStory
'下移5行
Selection.MoveDown Unit:=wdLine, Count:=5
For i = 1 To TarLines \ 20
'选择20行。
Selection.MoveDown Unit:=wdLine, Count:=21, Extend:=wdExtend
'复制到裁剪板
    Selection.Copy
'添加一个新文档
    Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
 '粘贴复制内容到新文件
    Selection.PasteAndFormat (wdPasteDefault)
'把新文件存成1.doc
    Dim fN As String
    fN = Format(i) & ".doc"
    ActiveDocument.SaveAs FileName:=fN
'关闭新建的1.doc
    Windows(Format(i) & ".doc").Activate
    ActiveWindow.Close
'下移一行
    Selection.MoveDown Unit:=wdLine, Count:=1
Next
If TarLines Mod 20 <> 0 Then
   Dim x As Integer
   x = TarLines Mod 20
'选择剩余行。
    Selection.MoveDown Unit:=wdLine, Count:=x, Extend:=wdExtend
    Selection.Copy
    Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
    Selection.PasteAndFormat (wdPasteDefault)
    fN = Format(i) & ".doc"
    ActiveDocument.SaveAs FileName:=fN
    Windows(Format(i) & ".doc").Activate
    ActiveWindow.Close
End If
End Sub
'--------------------------------
'当从数据库生成了N个word文档的,打开一个新的word文档,用以下方法插入各个文件,然后保存当前文件
Selection.InsertFile FileName:="1.doc"
'程序我就不写了

    
--------------------编程问答-------------------- 还有人吗。。。。 --------------------编程问答-------------------- 帮顶! --------------------编程问答-------------------- 无高人了吗 --------------------编程问答-------------------- 如果文件比较大,不赞同将文件直接放在数据库中,如果文件较小可以存放在数据库中,用到时再生成临时文件并显示 --------------------编程问答-------------------- 帮顶~~~
--------------------编程问答-------------------- --------------------编程问答--------------------
补充:VB ,  COM/DCOM/COM+
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,