如何替换掉word已知位置? 用正规表达式可以找到用[ ]括起来的字符串,然后你用replace方法替换掉[ ]里面的值。参考下面的网址:http://expert.csdn.net/Expert/topic/1776/1776821.xml?temp=.9965326 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关于Word定位有几种方式可以实现:1.在Word文件中将需要填入的地方写入特殊标识。比如{Name.Proson}等。在程序实现的时候利用VBA(宏)进行查找替换。这种方式比较不好,每一个参数都需要特别定义编写程序。2.利用批注,其实还是替换,但是据说批注定位方式比较不错。但是这个方式也是一个参数单写替换程序。3.利用Excel,在Word模板中插入Excel表。然后在利用VBA互相调用进行负值。缺点是比较麻烦。4.最好的方式不用Word,而是用Excel表格。好定位。要什么格式都有,而且可以在Excel表格中插入Word对象,将不更改的部分。写在Word中,效果是一样的。 to:chsl918(二雷)开始我也想用Excel做模板的,但是如果替换的内容太多的话,就把模板变的不象样子了,怎样能使内容完全显示出来,又不改变模板的格式?可以设置模板列宽固定不变吗?我现在用book可以替换了,但是字符窜太长的话,也要改变模板格式了。怎样让它不变? 可以使用Excel进行列宽的指定。这样就可以解决列宽的问题,在某一列如果字符可能过于多可以将行的高度加大,然后定义可能字符多的列为自动换行,并且自动调整字体大小。在Excel中的数据负值是直接指定位置进行负值的。比如A1,C5都是可以直接填入数据的。具体编程有很多方式。book我没有用过,但是如果在Word中遇到字符过长,是没有办法进行调整的。因为Word排版是自动的。但是在Excel中却可以使用我上面的方式,让好多字挤在一个格子中。 to:chsl918(二雷)你说的自动换行,是跳到下一行还是这行变宽了?你有相关的代码吗?还有,如果打印的话,在excel中怎样知道它有没有超过A4纸宽的?如果数据库里的记录多的话,怎样让excel令起一页,并且把上一页模板的图片,标题等copy到下一页?谢谢了,是不是问题太多了?:)在word里如果记录多的话,它自动跳到了下一页了。 to:chsl918(二雷)怎样用book进行替换,具体实现的代码,能给我指点吗?谢谢!!! 好多问题啊!!呵呵!咱们一个一来:首先在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 Sub2:Excle换页:我印象中Excel同样是自动换页的。并且可以定义页眉页脚。在菜单中视图->页眉页脚中进行编辑。3进行替换你可以自己录制一个试一试。然后用外部进行调用。关键部分就是在所有逻辑都用VBA的进行编辑。然后在外面进行调用。当然调用的前提是先做一个模板。调用后进行另存,这些都是可以用VBA操作的。而且可以在后台进行(用户可以在不可见的情况完成,当然可以是可见的)建议你看看VBA的资料,或者到VBA论坛去看看,你的问题其实应当属于那里的。所以在这里不太容易找到答案。 怎么用sql语句还原数据库呀 我在gridview里面写了一个按钮,这个按钮怎么样才能根据这行的ID来处理该行的数据。 .NET 自定义404错误页面 获取列值的问题 这样的如何取出来呢? .net js老是报错,请高手执教 页面缓冲 巨有价值的问题,高手help! 关键字调用时为什么会关成<%=gjz() %> 简单问问题,在线求救!看在美女的面上帮个忙吧! 如何在DataGrid中通过代码手动添加一个模板列 应用程序运行出错的问题:字体变大,网页变形,残不忍读!
1.在Word文件中将需要填入的地方写入特殊标识。比如{Name.Proson}等。在程序实现的时候利用VBA(宏)进行查找替换。这种方式比较不好,每一个参数都需要特别定义编写程序。
2.利用批注,其实还是替换,但是据说批注定位方式比较不错。但是这个方式也是一个参数单写替换程序。
3.利用Excel,在Word模板中插入Excel表。然后在利用VBA互相调用进行负值。缺点是比较麻烦。
4.最好的方式不用Word,而是用Excel表格。好定位。要什么格式都有,而且可以在Excel表格中插入Word对象,将不更改的部分。写在Word中,效果是一样的。
开始我也想用Excel做模板的,但是如果替换的内容太多的话,就把模板变的不象样子了,怎样能使内容完全显示出来,又不改变模板的格式?可以设置模板列宽固定不变吗?我现在用book可以替换了,但是字符窜太长的话,也要改变模板格式了。怎样让它不变?
在Excel中的数据负值是直接指定位置进行负值的。比如A1,C5都是可以直接填入数据的。具体编程有很多方式。
book我没有用过,但是如果在Word中遇到字符过长,是没有办法进行调整的。因为Word排版是自动的。但是在Excel中却可以使用我上面的方式,让好多字挤在一个格子中。
你说的自动换行,是跳到下一行还是这行变宽了?你有相关的代码吗?
还有,如果打印的话,在excel中怎样知道它有没有超过A4纸宽的?如果数据库里的记录多的话,怎样让excel令起一页,并且把上一页模板的图片,标题等copy到下一页?
谢谢了,是不是问题太多了?:)在word里如果记录多的话,它自动跳到了下一页了。
怎样用book进行替换,具体实现的代码,能给我指点吗?谢谢!!!
咱们一个一来:
首先在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论坛去看看,你的问题其实应当属于那里的。所以在这里不太容易找到答案。