如何通过VBA打开txt文件,按要求编辑后保存
原txt文件有两列数据,以空格分割,没有.txt扩展名。我想VBA使用打开对话框选择文件后,分列。A列不变,对B列数据归一化处理(即:最小值赋值为0、最大值赋值为1,中间...
原txt文件有两列数据,以空格分割,没有.txt扩展名。我想VBA使用打开对话框选择文件后,分列。
A列不变,对B列数据归一化处理(即:最小值赋值为0、最大值赋值为1,中间其他值按相应比例赋值为零点几)后,使用原文件名保存、加上.txt扩展名。 例如 ,原文件为 a , 生成的文件为 a.txt
谢谢各位 展开
A列不变,对B列数据归一化处理(即:最小值赋值为0、最大值赋值为1,中间其他值按相应比例赋值为零点几)后,使用原文件名保存、加上.txt扩展名。 例如 ,原文件为 a , 生成的文件为 a.txt
谢谢各位 展开
展开全部
1、直接采用Open函数+Line input命令
Private Sub txt_read()()
Dim txt As String
Open "D:\dzh.txt" For Input As #1 '
'对文件做任何 I/O 操作之前都必须先打开文件。Open 语句分配一个缓冲区供文件进行 I/O 之用,
'并决定缓冲区所使用的访问方式。
'打开文件作为数据输入用,文件号为#1
Do While Not EOF(1)
Line Input #1, txt '从已打开的顺序文件中读出一行并将它分配给 String 变量
'Line Input # 语句一次只从文件中读出一个字符,直到遇到回车符 (Chr(13))
'或回车–换行符 (Chr(13) + Chr(10)) 为止。回车–换行符将被跳过,而不会被附加到字符串上
MsgBox txt
Loop
Close #1
End Sub
2、利用FileSystemObject对象(引用windows script host object model)
Sub TextStreamTest()
'**如果引用“windows script host object model”,可以定义如下的数据类型,编程更方便!!!!*******
Dim fs As FileSystemObject, f As File, ts As TextStream, s As String
'打开一个只读文件,不能对此文件进行写操作/
'打开一个用于写操作的文件。如果和此文件同名的文件已存在,则覆盖以前内容/
'打开一个文件并写到文件的尾部
Const ForReading = 1, ForWriting = 2, ForAppending = 8
'使用系统缺省打开文件/以 Unicode 格式打开文件/以 ASCII 格式打开文件
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
'Dim fs, f, ts, s
Set fs = CreateObject("Scripting.FileSystemObject")
'FileSystemObject 对象提供对计算机文件系统的访问
'下面FileSystemObject.CreateTextFile 返回一个 TextStream 对象,该对象是可读并可写的:
On Error Resume Next '如果文件存在,下个命令会出错!获得文件
fs.CreateTextFile("test1.txt", False).WriteLine ("This is a test.") '创建一个文件,返回一个用于该文件读写的TextStream对象
Set f = fs.GetFile("test1.txt") '返回一个和指定路径中文件相对应的 File 对象
'错误!f.WriteLine ("This is a test.") '向创建的文本文件中写入一行文本,非TextStream对象,错误!!
Set ts = f.OpenAsTextStream(ForAppending, TristateUseDefault) '打开一个指定的文件并返回一个 TextStream 对象
'OpenAsTextStream 方法提供了和 FileSystemObject. 的 OpenTextFile 方法相同的功能/
'此外,OpenAsTextStream 方法还可以用于对一个文件进行写操作。
ts.Write "Hello World"
ts.Close
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Not ts.AtEndOfStream
s = ts.ReadLine
MsgBox s
Loop
ts.Close
End Sub
展开全部
sub sd
tx=createobject("scripting.filesystemobject").OpenTextFile("文本路径", 1, True).readall
处理tx...........................
createobject("scripting.filesystemobject").CreateTextFile("a.txt").WriteLine (tx)
end sub
tx=createobject("scripting.filesystemobject").OpenTextFile("文本路径", 1, True).readall
处理tx...........................
createobject("scripting.filesystemobject").CreateTextFile("a.txt").WriteLine (tx)
end sub
追问
没看明白,请指教一下啊
追答
首先,你的问题太过笼统,没有对象,总不能让帮你回答的人自己去臆造些和你的 数据不相符的数据来模拟你的问题吧。
我只是给你一个开始和结束的思路。
去这里提问:
http://club.excelhome.net/forum-2-1.html
上个附件,尽可能清楚的描述问题。很快会有答案的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vba是微软office用于开发的插件,介于手机硬件的局限性,应该暂时无法在手机端集成开发工具,所以,手机上的excel是无法使用vba的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询