ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 循环遍历文件夹--文件搜索(宏)实用版 v1

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-8-21 09:45 | 显示全部楼层
本帖最后由 13907933959 于 2015-8-21 09:47 编辑
413191246se 发表于 2015-8-20 18:18
139:粘贴不正确!不填!
    须知,任何过程都是以"Sub XXXX......End Sub"为标志的一段小程序,在这 ...

师傅好!

是我粘贴不正确,看我这个笨老瓜,原来输入所要查找的关联词,要等后面弹出的输入框内输入。


师傅、这个宏相当实用,以后再也不会因记不到某一内容在哪个文件中而烦恼,不过我有2个想法,不知可成否?


1、能不能在弹出的空白文档上面加上几个字:文件正在搜索中,所需的时间长短,根据查找文件夹内文件的多少、文件的大小,请耐心等待……,这样对象笨徒这样的莱菜鸟有一个提示作用,感觉可能会比那个大空白更温馨一点。


2、能否在打开的文件中,把查找到的关联词套黑,或将光标停留在那里,这样省得还要在很长文档中再寻找关联词。


另外、再想问一下师傅,那个空白文档没有保存,是不是会自动保存在电脑的那个地方,如不会,我在搜索第一遍的时候,出来的是文档1,(未保存),而在搜索第二遍的时候,出来的是文档2。


那个“把文字排成自左往右的纵向例文”又要劳师傅了,感谢师傅对徒弟的记挂!总是在徒弟需要时候及时出现,在徒弟偏离航道的时候及时纠正,有师傅真好!

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-21 10:51 | 显示全部楼层
    139:提的建议很好!
    但第一个问题,出于精简的目的,不做提示。第二个问题,当文件搜到很多时,如果不是要找的文件,我只须按 F6 就关闭了,如果更改了文件,再关闭时,它会提问的;如果每个文件关闭时都要提问,相当麻烦!——只有在确认了某个文件是所要找的文件时,才查找关键词,并且,咱们用的文件一般不大,目视查找就可以,大的得用查找功能了。
    “把文字排成自左往右的纵向例文”这个问题,我用宏试了,出来的效果是:如果一大段文字,最后做出的效果是最后一页为第一页,况且每一段(竖段)都是一个段落,有的对不齐,这样吧,我提供一下这个宏,你看看,效果不是很好。你找一篇文档作为例文,试试。我觉得要是后续再排版的话,就不整齐了。
****竖排从左往右(宏)***(运行完毕在第1页最右边打回车,在最后一页观看效果,多页显示时观看):
Sub test()
'删除段落首尾空格
    Selection.WholeStory
    CommandBars.FindControl(ID:=122).Execute
    CommandBars.FindControl(ID:=123).Execute
'删除空行
    Dim j As Paragraph
    For Each j In ActiveDocument.Paragraphs
        If Len(j.Range) = 1 Then j.Range.Delete
    Next
'每个段落取消首行缩进,首行前加两个全角空格
    For Each j In ActiveDocument.Paragraphs
        j.Range.ParagraphFormat.CharacterUnitFirstLineIndent = 0 ' 取消首行缩进
        j.Range.ParagraphFormat.FirstLineIndent = CentimetersToPoints(0) ' 取消首行缩进
        j.Range.InsertBefore Text:="  "
    Next
'一行一段!
    ActiveDocument.Content.InsertAfter Text:=vbCr & " "
    Selection.HomeKey Unit:=wdStory
    Do
        Selection.EndKey Unit:=wdLine
        If Asc(Selection) = 13 Then
            Selection.MoveRight Unit:=wdCharacter, Count:=1
            GoTo nocacel
        Else
            Selection.TypeParagraph
        End If
nocacel:
    Loop Until Asc(Selection) = 32
    ActiveDocument.Paragraphs.Last.Range.Delete
'获取倒序段落
    Dim i As Long
    Dim myRange As Range
    Selection.WholeStory
    Set myRange = Selection.Range
    Selection.EndKey Unit:=wdStory
    Selection.TypeParagraph
    Selection.TypeParagraph
    For i = myRange.Paragraphs.Count To 1 Step -1
        Selection.TypeText Text:=myRange.Paragraphs(i).Range
    Next i
    Selection.HomeKey Unit:=wdStory
    Selection.Find.Execute findtext:="^p^p^p^p", Forward:=True
    Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
    Selection.Delete Unit:=wdCharacter, Count:=1
'删除空行
    For Each j In ActiveDocument.Paragraphs
        If Len(j.Range) = 1 Then j.Range.Delete
    Next
    Selection.WholeStory
    Selection.Orientation = wdTextOrientationVerticalFarEast
    Selection.HomeKey Unit:=wdStory
    Selection.TypeParagraph
End Sub

TA的精华主题

TA的得分主题

发表于 2015-8-21 10:58 | 显示全部楼层
413191246se 发表于 2015-8-21 09:45
139:”把文字排成自左往右的纵向例文"我用宏试了,看着像从左往右,但后续排版不被支持,所以,你师傅真的 ...

师傅好!
   我的中医师傅年轻的时候看的医书大部分,都是自右往左纵向排列的(这也可能是老医书的特点)而那几本自左往右纵向排列的手稿资料还是他爷爷留下来的,他视如珍宝从不轻易拿出,一个是珍贵,再一个怕弄坏,由于年限太久,也以经是破烂不堪了,由于是对病情诊断技巧和心德类的,还是他爷爷用毛笔抄的手抄本,到那都买不到,而对于象我这样学这个东西的人就十分需要它(中医这行的东西越老越好),我师傅也答应等我们几个师满后作为礼物或纪念品送给我们每人一份,但不能拿走原稿,师傅的意思叫我们几个分开手抄,(听我师傅讲、他爷爷的一个徒弟用毛笔晚上点油灯有时间就抄,花了5年多才抄完),他的用意我们知道,可现在我们那有那个耐心。到时想通过拍照、扫描、复印的方法,我一个也是看哪个排列方式不喜欢,想换成现在的横向排列,再一个也是受师兄所托,想办法能把它弄成文档格式以后就方便了。可现在好象还没有那种软件,能把这种自左往右纵向排列的文字,转换成现在的自左往右横向排列的方式。

   所以想让师傅你帮忙,看能否如愿,如不成也没关系,师傅你我也都尽力了,期待以后会有这样的转换软件出现。不过还是要感谢师傅为我尽力了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-21 11:14 | 显示全部楼层
    139:上上楼我已经把宏给你了,你可以试一下,我觉得不太好!因为原第1页的内容到了最后一页!并且后续无法排版,再排版就对不整齐了!
    所以,我建议:一是你师傅的资料既然很宝贵,字数也不少,你们不是打字员,所以,我认为不妨有时间专门聘请一个打字员,专门打这些医书,然后,保存起来,花一点钱也是应该的。
    至于怎么排版?我认为,可以先保存底稿(检查无误后)为横向排版。然后要是喜欢竖向的,可以变成竖向的,只要按工具栏上的“文字方向”按钮,马上全篇就变成竖排文字了,就是默认的从右向左排版的,我认为相当不错,再把字弄大一点,行距调一下,设置为楷体加粗,就很好看了!再打印出来也好。(所以,专门排成从左向右,我认为不是相当必要。因为你师傅过去看的也是从右向左排版的书籍。)
    建议:就用默认的从右往左的就可以了,因为这很方便,只须按“文字方向”键,再稍加排版即可,没有必要专门安装2010版本,然后再删除,没有必要折腾,只要你师傅可以接受即可。

TA的精华主题

TA的得分主题

发表于 2015-8-21 11:43 | 显示全部楼层
413191246se 发表于 2015-8-21 10:51
139:提的建议很好!
    但第一个问题,出于精简的目的,不做提示。第二个问题,当文件搜到很多时, ...

师傅好!

1、我的意思是能不能在弹出的那个空白文档上面加上几个字:文件正在搜索中,所需的时间长短,根据查找文件夹内文件的多少、文件的大小,请耐心等待……

师傅是说:如果在弹出的空白文档上面加上了字,哪样代码就会很复杂,是吧?

2、师傅、平时的文档,如单套黑一下文件中的某一行字,不作任何改动、再关闭时,好象它不会提问。

另外、再想问一下师傅,那个空白文档没有保存,是不是会自动保存在电脑的那个地方,如不会,我在搜索第一遍的时候,出来的是文档1,(未保存),而在搜索第二遍的时候,出来的是文档2。

师傅、“竖排从左往右(宏)”还没有试。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-21 13:28 | 显示全部楼层
139:
1:仅需耐心等待搜索即可,不加额外提示了。
2:不提问,那是 Word2000,2003 是提问的。
3:“文档1”这是新建文档,“文档2”是第二次的新建文档,都未保存。需要可保存,也可以不保存。
4:建议不必再做左至右排版了,因为那样太复杂,没那个必要,因陋就简,Word 能完成的就不必大费周章了,因为任何文档只须按工具栏上的“文字方向”按钮,马上变竖排文字(不必左至右,右至左有何不可)。

TA的精华主题

TA的得分主题

发表于 2015-8-21 16:40 | 显示全部楼层
413191246se 发表于 2015-8-21 11:14
139:上上楼我已经把宏给你了,你可以试一下,我觉得不太好!因为原第1页的内容到了最后一页!并且后续 ...

师傅好!

聘请一个打字员,专门打这些医书,当然是最理想的,这个办法也试过几次,但费用太高被迫放弃,不知师傅那里地方是怎样收费的?我们这里复印打字的,打普通的现代文件是5元一页(大约500字左右,他们负责对稿),而打古籍一类的是10元一页(还是那种横向排列的,里面允许有一些凡繁体字,他们负责对稿),而打医书类的是15元一页(也可以是纵向排列的,里面允许有一些凡繁体字,但要有委托方专人对稿,陪打),而这个20元一页(有委托方专人对稿,陪打),人家对它都没有什么兴趣,原因有三:

一是、中医书类,里面的字都不太好打,大多是疑难字、生别字较多,打起来很不顺手,很慢,他们说很烦人,情愿打5元一页的现代文件;

二是、说我们要求太高,因为我们要求不能有错,错了就失去了意义,这个医书类的较比其它的技术类的书有所不同,错了搞不好就要出人命(不知师傅注意过没有,同一个出版社出版的同等质量,同等发行量,同等字数……的医书价格要贵一些,可能也是这个原因),所以他们也不愿打。

三是、这几部医书里面全部都是繁体字,并且绝大数还是古繁体字,现在打字的都是年轻人,该书里面有90%以上的字他们认都不认识,所以更打不出来。这也难怪,我从事这个行业有快6年了,也算经常会接触一些古繁体字,可我也只认识里面的40~50左右%,并且古医书还有一个特点,里面的一些专业用词、用字,现在都打不出来,因为字库里面都没有这种字了。

另外、我们也出不起这个价,共有7部这样的书,少的一部有10多册,多的一部有70多册,加起来大约有16000多页,就算5元一页我们也出不起,上午我说的我师傅的爷爷的徒弟花5年多时间手抄的,还只是其中的2部。

TA的精华主题

TA的得分主题

发表于 2015-8-21 16:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2015-8-21 13:28
139:
1:仅需耐心等待搜索即可,不加额外提示了。
2:不提问,那是 Word2000,2003 是提问的。

好、听师傅的!因为我们尽力了!难度太大得不常失!到时就复印!只有它最花算!

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-21 20:35 | 显示全部楼层
139:有原件复印这个计划好!(另外复印时可以要求墨浓一些,效果好些。)这样,不仅可以保留类似原件,还可以节省大量时间、精力,也有利于你们这些徒弟们每人一本。从左往右排版的就不要搞了,因为仅少量的竖排书籍,只须用工具栏上的按钮一键就完成了,多数的还是要来横向排版,以利于观看。

TA的精华主题

TA的得分主题

发表于 2015-8-22 07:45 | 显示全部楼层
本帖最后由 13907933959 于 2015-8-22 09:07 编辑
413191246se 发表于 2015-8-21 20:35
139:有原件复印这个计划好!(另外复印时可以要求墨浓一些,效果好些。)这样,不仅可以保留类似原件,还 ...

   师傅好!
   复印是花算,但出来的效果肯定还是那种自左往右纵向排列的,费用也要8000元左右,不过我们有5个人,每人1600元左右,就是有2个致命的缺陷,一个还是古繁体字(现在不译成简体,以后就更难,有可能会消失),再一个就是笨重不方便、也不易保存,现在都进入了电子时代,总感觉有一种责任要解决它!最后这个东西是得到,但心里总不是很痛快,唉!说到底还是钱不够,人没有选择!感谢师傅为我们尽力!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-26 09:24 , Processed in 0.032225 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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