ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 白鸽

可以块定义替换吗

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-8-17 10:14 | 显示全部楼层

OzDZSXgC.zip (16.96 KB, 下载次数: 23)

注意两个问题:

必须以右击方式打开该模板;将所需内容粘贴于该模板文档中,再运行SAVENEWFILES宏。 以下代码供参考:

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-8-17 10:14:42 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '№ 0003^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

Option Explicit Sub SaveNewFiles() Dim NewDoc As Document, i As Paragraph, StrPar As String Dim NewValue As Integer, NewFileName As String, MyRange As Range On Error Resume Next Application.ScreenUpdating = False '在模板文档的段落中循环,注意,请以右击方式打开模板文件,而非以此模板新建 For Each i In Me.Paragraphs '取得不含段落标记的文本内容 StrPar = Me.Range(i.Range.Start, i.Range.End - 1) '如果为简报,则以此模板新建一个文档 If StrPar = "简报" Then Set NewDoc = Documents.Add(Me.AttachedTemplate.FullName) With NewDoc.Content If StrPar = "简报" Then .Delete '清除内容 NewValue = NewValue + 1 '计数 '定义一个文件名 NewFileName = Date & "简报" & NewValue & ".doc" '插入文本内容 .InsertAfter StrPar '段落样式 .Paragraphs.Last.Style = "First" ElseIf StrPar Like "总第*期" Then .InsertAfter Chr(13) & StrPar '段落样式设置 .Paragraphs.Last.Style = "Second" '插入一个段落 .InsertAfter Chr(13) '定义一个RANGE对象 Set MyRange = NewDoc.Range(.End - 1, .End - 1) '插入一个自动图文集,为红线和五星 Me.AttachedTemplate.AutoTextEntries("五星").Insert Where:=MyRange, RichText:=True '插入一个段落标记和文本提示 .InsertAfter Chr(13) & "请在此处输入标题" '段落样式设置 .Paragraphs.Last.Style = "Third" ElseIf StrPar Like "主题词:*" Then .InsertAfter Chr(13) & StrPar .Paragraphs.Last.Style = "主题词" ElseIf StrPar Like "送各有关单位" Then .InsertAfter Chr(13) & StrPar .Paragraphs.Last.Style = "Last" .InsertAfter Chr(13) With .Paragraphs.Last.Range.ParagraphFormat.Borders(wdBorderTop) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth150pt .Color = wdColorAutomatic End With '将手动换行符替换为段落标记 .Find.Execute findtext:="^l", replacewith:="^p", Replace:=wdReplaceAll '另存为 NewDoc.SaveAs NewFileName Set NewDoc = Nothing ' NewDoc.Close Else '如果是正文内容,则设置正文段落样式 .InsertAfter Chr(13) & StrPar .Paragraphs.Last.Style = "我的正文" '将其中网页上的空格删除 .Find.Execute findtext:=" ", replacewith:="", Replace:=wdReplaceAll End If End With Next Application.ScreenUpdating = True End Sub '----------------------

有问题再及时交流。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-17 14:06 | 显示全部楼层
守侠真是辛苦了,我看都看不懂,看来学会不是一会半会功夫!如果使用我还要今晚回家再慢慢试来。向你致敬守侠,我任劳任怨的老师

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-17 23:43 | 显示全部楼层
守老师,真是不好意思,我还真不知道如何运用“宏”。请您要象教小学生一样的教我怎样操作。我将word打开,点工具、点宏、输入“模块”,将你的命令复制粘贴,创建,保存。不行。还真不知怎么弄。谢谢你!

TA的精华主题

TA的得分主题

发表于 2005-8-18 06:24 | 显示全部楼层
以下是引用白鸽在2005-8-17 23:43:32的发言: 守老师,真是不好意思,我还真不知道如何运用“宏”。请您要象教小学生一样的教我怎样操作。我将word打开,点工具、点宏、输入“模块”,将你的命令复制粘贴,创建,保存。不行。还真不知怎么弄。谢谢你!

请白鸽同志认真看一下我的说明好不好?

如果你不知道如何运行用“宏”,本版不是有吗?为什么不去搜索学习一下呢?

http://club.excelhome.net/viewthread.php?tid=110721

你只要做四个工作就行了!

一,确认你的WORD工具/宏/宏安全性为低,如果是中,请启用宏;如果为非中或者低,请设置为低后,重启WORD。

二,下载附件后,请以右击方式,即右击/打开命令,不要双击注意!这样,WORD会直接打开该模板,而非在该模板基础上新建文档。

三,将你的“原始文档”粘贴于本模板文档中。

四,点击菜单最右侧的“SAVENEWFILES”命令即可。

如图:

[此贴子已经被作者于2005-8-18 6:27:08编辑过]

可以块定义替换吗

可以块定义替换吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-18 21:46 | 显示全部楼层
第一步我做了,我的电脑是有三档----高、中、无(不建议使用),我选择的是中。第二步何谓“下载附件”,是复制你的上述命令吗?(从'* +++++++++++++++++++++++++++++这里起吧?),粘贴到编辑器里吗?第二步不会操作,右击是击word的空白处吧,而不击什么按钮吧?我好愚钝,一开始就不会操作。vba从未涉及过,我也到了你所编辑的vba讲座,不实际操作解决一些问题恐怕难学。我曾经想下功夫学,也是在网上,但学了几个回合,根本就不是象学word、excel这样简单。要是能手把手地教该多好啊。我好蠢的。谢谢你!

TA的精华主题

TA的得分主题

发表于 2005-8-19 16:21 | 显示全部楼层

我已经不敢多说的,下载我的附件,解压到指定的文件夹中,以右击方式打开,单击菜单最右边的"SAVENEWFILES"命令,就可以了,当然,你的宏安全性为低.

再不懂,你自己琢磨吧!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-19 17:35 | 显示全部楼层

真的很神奇耶!太感谢了,第一次看到“宏”的威力!但愿别看到我晕,就当我是最差的学生吧!要不我都不敢问了。我还是斗胆问几句:一是两根红线、一个红星没有;二是你输了一大串代码供参考,现在看来是谦虚,我是一巧不通,如何参考,我还以为要我创建宏来复制粘贴,我从未创建过宏或建立过宏,以为在创建中出了什么差错。三是你所指的“附件”使我弄不明白,概念不清。在4楼时说“成品”(请把你的成品上传一份,我也许不用VBA也能做出来);而此论谈为“点击浏览该文件”,而在14楼时才出现第二个“附件”(下载附件后,请以右击方式),我琢磨着“附件”二字很重要,幸巧有第一个“附件”在9楼出现(我理解你的附件有些抄袭的),不然我真的打不开,真的不会做,想通过别人再问,甚至想放弃(其实你的附件我打开过,但只是打开而未下载,我一般不会下载附件的);四是你的代码我只看得懂中文,如果我将“简报”改为“中国人民银行”,那它就会变成“中国人民银行”吗?这要牵涉到我要创建宏而自己改,将你的代码复制粘贴就可以吗?

真的很谢谢你!能把我的问题进行到底吗?告诉我如何创建“宏”,修改你的代码以达到更多的要求。我只会点简单的一步一步的按钮。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-19 17:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我今天真的好高兴,解决了一个大问题。真不知该怎样感谢守老师!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-20 17:55 | 显示全部楼层

耶,我成功了,我可以将“简报”替换为“中国人民银行”了,只是无法象word一样调整宽度,设置72号字占了二行。“NewFileName = Date & "简报" & NewValue & ".doc" '插入文本内容 .InsertAfter StrPar '段落样式 .Paragraphs.Last.Style = "First"”

对此语言只能看懂新文件名和(NewFileName )文件格式(.doc),其他看不懂了。调整其字体大小和宽度及其颜色的命令应该在此段吧?

我真想学,但又怕烦守侠!

其实我从未上过一天电脑培训课。学打五笔字是硬磨出来的,没事就打。学excel是一篇名为“手把手教你转换金额大写”提取兴趣的,过去只会一些简单的加减乘除计算,现在知道一些函数了,足以应附工作了。在此基础上只知道宏可以解决问题,在excelhome中看到过在线培训,只几个小时便会,但要回复。无奈当时不会使用excel,不知从何回复。错过机会。excelhome注册也算是老会员了,但当时只看了几篇精典文章,并未进入论谈。诛不知论谈更奇妙。又错过一次很好的机会。这次看到宏真是想学。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-21 17:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
守侠被我烦了吧?我确实到那看了,但一看那么多的命令就头疼。我要从解决一个问题入手,一步一步地往下走,这样记得牢些。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 15:03 , Processed in 0.040259 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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