ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

各位版主:更新文件名

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-10 13:35 | 显示全部楼层
我的是WINXP+OFFICE2003

TA的精华主题

TA的得分主题

发表于 2005-8-10 13:37 | 显示全部楼层
以下是引用bth168在2005-8-10 12:37:15的发言:

守柔

Sub Example2() '此代码功能为列出重命令指定文件夹中所有选取的WORD文件 Dim MyDialog As FileDialog, vrtSelectedItem As Variant, A As Byte, MyDoc As Documents

运行到这句时提示“用户定义类型未定义”,然后运行就中断了

请问应该如何改?

Sub Example2() '此代码功能为列出重命令指定文件夹中所有选取的WORD文件 Dim MyDialog As FileDialog, vrtSelectedItem As Variant, A As Byte, MyDoc As Document 注意:我的代码是 MyDoc As Document 缘何成了:MyDoc As Documents

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-10 13:50 | 显示全部楼层

对不起,因为代码运行出错,光标停在了此处,我就加了个S,仍不行。我发贴请教时忘了去掉就粘了上来,真不好意思

TA的精华主题

TA的得分主题

发表于 2005-8-10 14:29 | 显示全部楼层
以下是引用bth168在2005-8-10 13:50:41的发言:

对不起,因为代码运行出错,光标停在了此处,我就加了个S,仍不行。我发贴请教时忘了去掉就粘了上来,真不好意思

麻烦您发个调试的截图好吗(出错时的)?这样子,我比你更累,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-10 15:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

您的热心已无法言谢,鞠个躬吧

不会贴图,只好发个图片文件

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-10 15:16 | 显示全部楼层

[建议]您的热心已无法言谢,鞠个躬吧

pxTrZq2N.rar (23.87 KB, 下载次数: 5)

WNSs3eTG.rar

23.87 KB, 下载次数: 9

各位版主:更新文件名

TA的精华主题

TA的得分主题

发表于 2005-8-10 16:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用bth168在2005-8-10 13:50:41的发言:

对不起,因为代码运行出错,光标停在了此处,我就加了个S,仍不行。我发贴请教时忘了去掉就粘了上来,真不好意思

大哥,你这是在坑我啊

WORD的代码,怎么在EXCEL程序中调试啊!

如果必需在EXCEL中运行此代码,请参考:

'运行此代码前,请确认VBE/工具/引用中,勾选对于MICROSOFT WORD 10.0 OBJECT LIBRARY(版本不同,10.0的值不同,2003为11.0)

Option Explicit Sub Example2() '此代码功能为列出指定文件夹中所有选取的WORD文件全路径名 '运行此代码前,请确认VBE/工具/引用中,勾选对于MICROSOFT WORD 10.0 OBJECT LIBRARY(版本不同,10.0的值不同,2003为11.0) Dim WdApp As New Word.Application Dim MyDialog As FileDialog, vrtSelectedItem As Variant, A As Byte, MyDoc As Word.Document Dim OldName As String, NewName As String, MyRange As Word.Range On Error Resume Next '忽略错误 '定义一个文件夹选取对话框 Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "所有 WORD 文件", "*.doc", 1 '增加筛选器的项目为所有WORD文件 .AllowMultiSelect = True '允许多项选择 If .Show = -1 Then '确定 For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环 Set MyDoc = WdApp.Documents.Open(FileName:=vrtSelectedItem, Visible:=False) OldName = vrtSelectedItem '取得原文件名 ' Debug.Print OldName For A = 1 To 10 '循环 Set MyRange = MyDoc.Paragraphs(A).Range If Len(MyRange.Text) > 1 Then Exit For '如果该段落文本长度大小于(非空白段落),则退出循环 Next If MyRange.Information(wdWithInTable) Then '如果在表格中,则去除最后两个字符 NewName = Mid(MyRange.Text, 1, Len(MyRange.Text) - 2) Else '如果为正常段落不在表格中,则去除最后一个段落标记 NewName = Mid(MyRange.Text, 1, Len(MyRange.Text) - 1) End If MyDoc.Close False '关闭文件 '去除空格 NewName = VBA.Trim(NewName) '重新定义新的文件名 NewName = .InitialFileName & NewName '如果已经存在该文件名,则加上时间数,加以区别 If Dir(NewName & ".Doc", vbDirectory) <> "" Then NewName = NewName & Timer '重命名该文件 Name OldName As NewName & ".Doc" Next WdApp.Quit '关闭WORD程序 Set WdApp = Nothing '释放对象变量 End If End With End Sub '----------------------

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-8-10 16:53 | 显示全部楼层

完美,一切如所想,伟大的创作!

却被我无情地e sha!

无言以对,无以为报,只能深表歉意!

我以为只有EXCEL可以VBA,原来WORD也可以,难怪TALLER老师问我为何要用EXCEL来解决WORD的问题!

再次感谢守柔版主的持续回答!

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 12:33 , Processed in 0.046398 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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