设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5910|回复: 7
打印 上一主题 下一主题

请教如何向WORD传送备注类型的数据?!(已解决,谢谢各位)

[复制链接]
跳转到指定楼层
1#
发表于 2010-7-11 11:59:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sxgaobo 于 2010-7-11 20:50 编辑

这样只能传送255个字符,怎样能改为备注型的啊?我需要传递更多的字符.
我把代码传上来,方便各位查看
    On Error Resume Next
    Dim docApp As Object
    Set docApp = GetObject(, "Word.Application")
   
    If Err Then
        Err.Clear
        Set docApp = CreateObject("Word.Application")
        
        If Err Then
            MsgBox "操作中没有装WORD程序!", vbQuestion, "系统提示"
            Exit Sub
        End If
    End If
    docApp.Visible = False
    Dim Doc As Object
    Dim win As Object
        Set Doc = docApp.Documents.Add(CurrentProject.Path & "\一般处罚.doc")
        Set win = Doc.ActiveWindow

        win.View.SeekView = wdSeekPrimaryHeader
        With win.Selection.Find
        
            .Text = "[内容]"
            .Replacement.Text = [1]
            .Execute , , , , , , , , , , 2
        End With
     docApp.Visible = True
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-7-11 14:46:32 | 只看该作者
这个限制是由宏的255限制的。有人使用
要设置的栏位设置个标签
doc.Bookmarks("标签“).Range.Text = (rs!字段名)

点击这里给我发消息

3#
发表于 2010-7-11 14:48:59 | 只看该作者
引用 ningyong网友的方法:

word模版套打有几种方法.
方法一
'直接把数据写道Word模板,从文档头依次往下排
'   好处:简单易懂,可把大数据写入到Word模板里
'   缺点:不能把数据写入到Word模板相应的位置
方法二
'替换Word上的相应文本标记“[template_name]”,“[template_content_en]”
'   好处:该方法易于以后的项目维护,数据来是哪,替换那个一目了然。
'   缺点:如果数据量多于255个字符,不能替换
方法三
'使用Word标签(BookMark)
'   好处:不管数据有多大,都能完全写道Word模板相应位置
'   缺点:标签不易于维护

点击这里给我发消息

4#
发表于 2010-7-11 14:49:07 | 只看该作者
方法一
'直接把数据写道Word模板,从文档头依次往下排
'   好处:简单易懂,可把大数据写入到Word模板里
'   缺点:不能把数据写入到Word模板相应的位置

        With win   '使用查找和替换
            .Selection.typetext (rs!template_name)
            .Selection.Typeparagraph           '换行
            .Selection.typetext (rs!template_content_en)
       End With

点击这里给我发消息

5#
发表于 2010-7-11 14:49:27 | 只看该作者
方法二(ningyong)
'替换Word上的相应文本标记“[template_name]”,“[template_content_en]”
'   好处:该方法易于以后的项目维护,数据来是哪,替换那个一目了然。
'   缺点:如果数据量多于255个字符,不能替换

     With win.Selection.Find   '使用查找和替换
        .Text = "[template_name]"
        .Replacement.Text = Nz(rs!template_name, "")
        .Execute , , , , , , , , , , 2

        .Text = "[template_content_en]"
        .Replacement.Text = Nz(rs!template_content_en, "")
        .Execute , , , , , , , , , , 2
     End With

点击这里给我发消息

6#
发表于 2010-7-11 14:50:06 | 只看该作者
方法三(ningyong)
'使用Word标签(BookMark)
'   好处:不管数据有多大,都能完全写道Word模板相应位置
'   缺点:标签不易于维护
        doc.Bookmarks("template_name").Range.Text = (rs!template_name)
        doc.Bookmarks("template_content_en").Range.Text = (rs!template_content_en)
   
    doc.PrintPreview    '打印预览
    'doc.PrintOut        '直接打印
    Next
    docApp.Visible = True   '自动化完成后,显示WORD程序


Exit_save_Click:
    Exit Sub

Err_save_Click:
    MsgBox Err.Description
    Resume Exit_save_Click

End Sub
7#
 楼主| 发表于 2010-7-11 16:02:56 | 只看该作者
本帖最后由 sxgaobo 于 2010-7-11 16:35 编辑

谢谢您的关注,您能帮我把我发的那段代码改成第3种方法吗?
或者告诉我怎么做,我不太懂代码,不好意思啊!
我没理解错的话,是应该先在WORW模版中建立标签,哪位朋友能告诉我怎么建立标签啊?!
先谢了!!!
8#
发表于 2010-12-23 22:56:26 | 只看该作者
关注,最好搞个实例
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 00:49 , Processed in 0.079318 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表