Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7175|回复: 4

vba 读取txt文件文本,并发送到系统剪贴板

[复制链接]
发表于 2015-12-23 16:55 | 显示全部楼层 |阅读模式
本帖最后由 tanxiaohui 于 2015-12-23 19:27 编辑

各位老师,我想通过 vba 读取一个 txt文件的文本,并将文本发送到 系统 的剪贴板,使之能用于粘贴到其他程序(比如记事本、word等)的文本中,我写的代码如下

Private Sub Commanon1_Click()
Dim txtLine
Dim FileObj
Dim TextObj
Dim FilePath
FilePath = "C:\text1.txt"
Set FileObj = CreateObject("Scripting.FileSystemObject")
Set TextObj = FileObj.OpenTextFile(FilePath)
Do While Not TextObj.AtEndOfLine
txtLine = txtLine & Chr(13) & TextObj.ReadLine
Loop
Dim mydata As New DataObject
mydata.SetText txtline
mydata.PutInClipboard
End Sub

这段代码如果将 loop后面的改为 msg txtline ,  显示到msg对话框是可以的,但就是不能用于系统剪贴板。请老师们看看,错在哪里。

还有要请教一下,如何将一个 txt 文件的文本清空?如何写?
发表于 2015-12-23 18:54 | 显示全部楼层
在运行代码前,如何将 text1.txt 文件的文本清空?
清空了还运行代码复制啥??
回复

使用道具 举报

 楼主| 发表于 2015-12-23 19:28 | 显示全部楼层
本帖最后由 tanxiaohui 于 2015-12-23 20:08 编辑
zjdh 发表于 2015-12-23 18:54
在运行代码前,如何将 text1.txt 文件的文本清空?
清空了还运行代码复制啥??


我只是想知道用vba如何删除一个txt文件的内容,而不是删除这个txt文件,请指导一下
回复

使用道具 举报

 楼主| 发表于 2015-12-23 19:29 | 显示全部楼层
zjdh 发表于 2015-12-23 18:54
在运行代码前,如何将 text1.txt 文件的文本清空?
清空了还运行代码复制啥??

大师,恳请指导一下
回复

使用道具 举报

发表于 2015-12-23 22:42 | 显示全部楼层
没有什么捷径,若要清除文件内的内容,只有建立一个空文件覆盖源文件;
若要删除源文件的某一行,只有将数据读出,再建一个新文件逐条写入(排除不需要的内容或行),用新文件覆盖源文件。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 08:34 , Processed in 0.418649 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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