| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2008 人关注过本帖
标题:大神推荐下关于VB控制word的书
取消只看楼主 加入收藏
tailions
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
大神推荐下关于VB控制word的书
我想用模板报告文档来生成新报告,但是控制文件的语句不会也不懂。想参考下这方面的资料,谢谢大神们推荐。
搜索更多相关主题的帖子: 推荐 VB 控制 word 语句 
2018-12-24 23:36
tailions
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-24
收藏
得分:0 
回复 3楼 ZHRXJR
谢谢老师。word版报告模板是有的,标签替换也能做到。就是想把这些模板保存在程序里,别人不能修改,只需输入数据,然后生成报告。这些对文件的宏观的操作及代码都不懂。在百度上也搜索不到,只是有很多VBA方面的。再次谢谢老师指点。
2018-12-25 21:42
tailions
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-24
收藏
得分:0 
回复 5楼 ZHRXJR
麻烦您看下这个程序,没有报错,但是替换不了,怎么回事。谢谢
Private Sub Command1_Click()
Tmpfile = "C:\Users\Administrator\Desktop\tmp.docx"
If Dir(Tmpfile) <> "" Then
    Kill Tmpfile
End If

FileCopy "C:\Users\Administrator\Desktop\报告模板.docx", Tmpfile
Dim myword As Object, mydocument As Object, myselection As Word.Selection
Dim i As Integer
Dim SearchStr As String
Dim ReplaceStr As String

      Set myword = CreateObject("Word.Application")   '创建word对象
      Set mydocument = myword.Documents.Open(Tmpfile)        '打开指定word文档
      Set myselection = myword.Selection '定位文件实例
      myword.Visible = False
For i = 0 To 3 Step 1
      SearchStr = "A" + Str(i)
      ReplaceStr = Text1(i).Text
      myselection.Find.ClearFormatting
      myselection.Find.Replacement.ClearFormatting
    With myselection.Find
        .Text = SearchStr
        .Replacement.Text = ReplaceStr
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    myselection.Find.Execute Replace:=wdReplaceAll
Next
mydocument.Save
mydocument.Close '关闭文档实例
myword.Quit '关闭WORD实例
Set mydocument = Nothing '清除文件实例
Set myword = Nothing '清除WORD实例

FName = "C:\Users\Administrator\Desktop\" + Text2.Text + ".docx"

If Dir(FName) <> "" Then
    MsgBox "文件已存在,请重新命名。", 48, 报告名称错误
Else
Name Tmpfile As FName
End If
 MsgBox "完成"
End Sub
2018-12-28 00:53
tailions
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-24
收藏
得分:0 
回复 7楼 wds1
谢谢 找到原因了 "A" + Str(0) 与 "A0"不相同。用后者可以替换,用前者就不能。挺不理解的。替换的内容比较多,单个赋值太麻烦,怎么破?
2018-12-29 20:35
tailions
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-11-24
收藏
得分:0 
回复 9楼 wds1
谢谢,受益匪浅。又出现了一个问题,本来输入文本框里的是小写字母,复制完后,在word里,却显示大写,头痛。请指教。谢谢
2018-12-31 03:18
快速回复:大神推荐下关于VB控制word的书
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015319 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved