ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

在线等:把选定的内容复制后作为文件名保存

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-2-22 14:07 | 显示全部楼层
现在有一个新问题,如果我选定的是两块内容,但保存后只是后面一个内容,怎么改程序,使文件名为两块内容的合并?

TA的精华主题

TA的得分主题

发表于 2005-2-23 05:45 | 显示全部楼层

以下第一个代码,是一个偿试,它解决了如何取得多个(N个)文字选定区域的所有内容。第二个代码,简洁明了,直接以粘贴方式进行另存为。

'* +++++++++++++++++++++++++++++ '* Created By 守柔(ShouRou)@ExcelHome 2005-2-23 5:37:54 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

'注意:运行此过程(ExampleToSaveAs)前必须引用MSForms '即VBE/工具/引用:Microsoft Forms 2.0 Object Library (C:\WINNT\system32\FM20.DLL) Sub ExampleToSaveAs() Dim MyData As DataObject, MyString As String Dim MyText() As String, aString As Variant, FileName As String If Selection.Type = wdSelectionIP Then Exit Sub '如果未选中则退出程序 Set MyData = New DataObject '引用新的DataOject Selection.Copy '选定内容复制 MyData.GetFromClipboard '从剪贴板复制数据到 DataObject MyString = MyData.GetText(1) '获得DataObject的无格式文本 MyText = VBA.Split(MyString, vbCrLf) '取得一个以VBCRLF为分隔符的数组 For Each aString In MyText '在该数组中循环 FileName = FileName & aString '取得文件名 Next MyData.Clear '清空DataObject On Error Resume Next '设置错误陷阱 ActiveDocument.SaveAs FileName '另存文件 '如果不能正确另存为,提示错误! If Err.Number <> 0 Then Err.Clear: MsgBox "非法文件名!", vbOKOnly + vbCritical, "Warning" End Sub '---------------------- Sub Example() On Error Resume Next '忽略错误 '如果未选定内容则退出 If Selection.Type = wdSelectionIP Then Exit Sub Selection.Copy '复制 SendKeys "^v{Enter}", False '预置粘贴 Application.Run "FileSaveAs" '运行另存为命令 End Sub '----------------------

TA的精华主题

TA的得分主题

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

守版主,我运行第二个程式,他保存的还是选定的第一个内容,不是选定的两个内容的合并.请看一下.

用SELECTION.TEXT是不是只能选定一块区域啊?

TA的精华主题

TA的得分主题

发表于 2005-2-23 13:50 | 显示全部楼层
sub sample

dim Mystr as string

mystr=selection.text & date

activedocument.saveas mystr

end sub

这样是不是更合理些

TA的精华主题

TA的得分主题

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

守版主,我运行第二个程式,他保存的还是选定的第一个内容,不是选定的两个内容的合并.请看一下.

用SELECTION.TEXT是不是只能选定一块区域啊?

您把文档附件传上来,我给你看一下,应该不会的。

selection.text在有二块以上区域时,与文档的SELECTION是有区别的,但常规方法无法提取出来,所以我采用了两个方法。或者您再试一下,理论和实际中,我都通过。

TA的精华主题

TA的得分主题

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

TCXFFXC,谢谢您的关注,的确您的方法更为简单明了。而我要的也正是这个效果。谢谢。

另,你的用户名好怪,为了不打错,我上下拖动,对照了好几次。呵呵

TO:尊敬的守版主,谢谢您无私的帮助。CXFFXC应该已经解决了问题,但为了把我们的问题,进一步解决,我们还有必要再继续下去。谢谢。

swAS5PFl.rar (11.04 KB, 下载次数: 12)

在线等:把选定的内容复制后作为文件名保存

在线等:把选定的内容复制后作为文件名保存
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 10:45 , Processed in 0.034993 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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