以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Excel报表中替换问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125485)

--  作者:积水成渊
--  发布时间:2018/9/29 10:35:00
--  [求助]Excel报表中替换问题
需要做一个报表,报表的模板写了,其中报表的一个单元格内容为:本月总共参加会议的人数<人数>,现在我需要做的功能就是将<人数>替换。查了写资料写了如下代码
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "Attachments\\测试.xlsx")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
For Each dr As DataRow In DataTables("表A").DataRows
Dim s As String
s ="<" & dr("项目信息") & ">"
rg.Replace(What:=s, Replacement:=dr("值"))
Next
app.visible = True

功能是实现了,但是却在弹出报表前报错了,这里是不是可以先判断下条件,该怎么进行修改
问题2,通过广论坛发现一个类似的报表替换例子:
Dim app As New MSWord.Application
try
    Dim fileName = "d:\\test.doc"
    Dim doc = app.Documents.Open(fileName)
    app.Selection.Find.Text = "[第一列]"
    app.Selection.Find.Replacement.ClearFormatting()
    app.Selection.Find.Replacement.Text = "123456789"
    app.Selection.Find.Execute(Replace:=MSWord.WdReplace.wdReplaceAll)
    app.visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
    
End try
这段代码如何改成Excel的效果

--  作者:积水成渊
--  发布时间:2018/9/29 10:52:00
--  
奇怪,我重新设置了一个报表,同样的代码,这次没有报错了
--  作者:有点蓝
--  发布时间:2018/9/29 10:53:00
--  
弹出报表前报什么错?

应该改生成后的报表,而不是改模板吧
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "reports\\测试.xlsx")

--  作者:积水成渊
--  发布时间:2018/9/29 10:54:00
--  
上传下例子,或许可以方便别人
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel替换案例.foxdb




--  作者:积水成渊
--  发布时间:2018/9/29 10:55:00
--  
是的,这个是我没有考虑好的