用正规表达式可以找到用[ ]括起来的字符串,然后你用replace方法替换掉[ ]里面的值。
参考下面的网址:
http://expert.csdn.net/Expert/topic/1776/1776821.xml?temp=.9965326

解决方案 »

  1.   

    关于Word定位有几种方式可以实现:
    1.在Word文件中将需要填入的地方写入特殊标识。比如{Name.Proson}等。在程序实现的时候利用VBA(宏)进行查找替换。这种方式比较不好,每一个参数都需要特别定义编写程序。
    2.利用批注,其实还是替换,但是据说批注定位方式比较不错。但是这个方式也是一个参数单写替换程序。
    3.利用Excel,在Word模板中插入Excel表。然后在利用VBA互相调用进行负值。缺点是比较麻烦。
    4.最好的方式不用Word,而是用Excel表格。好定位。要什么格式都有,而且可以在Excel表格中插入Word对象,将不更改的部分。写在Word中,效果是一样的。
      

  2.   

    to:chsl918(二雷)
    开始我也想用Excel做模板的,但是如果替换的内容太多的话,就把模板变的不象样子了,怎样能使内容完全显示出来,又不改变模板的格式?可以设置模板列宽固定不变吗?我现在用book可以替换了,但是字符窜太长的话,也要改变模板格式了。怎样让它不变?
      

  3.   

    可以使用Excel进行列宽的指定。这样就可以解决列宽的问题,在某一列如果字符可能过于多可以将行的高度加大,然后定义可能字符多的列为自动换行,并且自动调整字体大小。
    在Excel中的数据负值是直接指定位置进行负值的。比如A1,C5都是可以直接填入数据的。具体编程有很多方式。
    book我没有用过,但是如果在Word中遇到字符过长,是没有办法进行调整的。因为Word排版是自动的。但是在Excel中却可以使用我上面的方式,让好多字挤在一个格子中。
      

  4.   

    to:chsl918(二雷)
    你说的自动换行,是跳到下一行还是这行变宽了?你有相关的代码吗?
    还有,如果打印的话,在excel中怎样知道它有没有超过A4纸宽的?如果数据库里的记录多的话,怎样让excel令起一页,并且把上一页模板的图片,标题等copy到下一页?
    谢谢了,是不是问题太多了?:)在word里如果记录多的话,它自动跳到了下一页了。
      

  5.   

    to:chsl918(二雷)
    怎样用book进行替换,具体实现的代码,能给我指点吗?谢谢!!!
      

  6.   

    好多问题啊!!呵呵!
    咱们一个一来:
    首先在Office的工具中所有操作都是可以录制为宏的。所以好多东西怎么做可以在Word或者Excel中进行录制,然后对代码进行分析,在编制自己的程序。这部分代码可以在编制的程序中进行调用。我原来用VB6做过,但是.net的还没有。
    我只能给你Excel我自新录制的宏。你自己copy到宏编辑器中,如果不知道在那里可以自己先录制一个宏,然后在替换。然后在执行
    1.自动还行:
    Sub 自动换行演示()
    '
    ' 自动换行演示 Macro
    ' chsl 记录的宏 2003-5-20
    ''
        ActiveCell.FormulaR1C1 = "abcdefghizklmnopqrstuvwxyz"
        With ActiveCell.Characters(Start:=1, Length:=26).Font
            .Name = "Times New Roman"
            .FontStyle = "常规"
            .Size = 12
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Range("C2").Select
        With Selection
            .HorizontalAlignment = xlGeneral
            .VerticalAlignment = xlCenter
            .WrapText = True
            .Orientation = 0
            .AddIndent = False
            .ShrinkToFit = True
            .MergeCells = False
        End With
        Columns("C:C").ColumnWidth = 10.75 '调整列宽
    End Sub
    2:Excle换页:我印象中Excel同样是自动换页的。并且可以定义页眉页脚。在菜单中视图->页眉页脚中进行编辑。
    3进行替换你可以自己录制一个试一试。然后用外部进行调用。关键部分就是在所有逻辑都用VBA的进行编辑。然后在外面进行调用。当然调用的前提是先做一个模板。调用后进行另存,这些都是可以用VBA操作的。而且可以在后台进行(用户可以在不可见的情况完成,当然可以是可见的)
    建议你看看VBA的资料,或者到VBA论坛去看看,你的问题其实应当属于那里的。所以在这里不太容易找到答案。