导航:首页 > 文件教程 > vba写文本文件

vba写文本文件

发布时间:2021-11-14 03:59:26

㈠ 如何通过VBA打开txt文件,按要求编辑后保存

1、直接采用Open函数+Lineinput命令
PrivateSubtxt_read()
DimtxtAsString
Open"D:dzh.txt"ForInputAs#1'
'对文件做任何I/O操作之前都必须先打开文件。Open语句分配一个缓冲区供文件进行I/O之用,
'并决定缓冲区所使用的访问方式。
'打开文件作为数据输入用,文件号为#1
DoWhileNotEOF(1)
LineInput#1,txt'从已打开的顺序文件中读出一行并将它分配给String变量
'LineInput#语句一次只从文件中读出一个字符,直到遇到回车符(Chr(13))
'或回车–换行符(Chr(13)+Chr(10))为止。回车–换行符将被跳过,而不会被附加到字符串上
MsgBoxtxt
Loop
Close#1
EndSub


2、利用FileSystemObject对象(引用windows script host object model)

SubTextStreamTest()
'**如果引用“windowsscripthostobjectmodel”,可以定义如下的数据类型,编程更方便!!!!*******
DimfsAsFileSystemObject,fAsFile,tsAsTextStream,sAsString
'打开一个只读文件,不能对此文件进行写操作/
'打开一个用于写操作的文件。如果和此文件同名的文件已存在,则覆盖以前内容/
'打开一个文件并写到文件的尾部
ConstForReading=1,ForWriting=2,ForAppending=8
'使用系统缺省打开文件/以Unicode格式打开文件/以ASCII格式打开文件
ConstTristateUseDefault=-2,TristateTrue=-1,TristateFalse=0
'Dimfs,f,ts,s
Setfs=CreateObject("Scripting.FileSystemObject")
'FileSystemObject对象提供对计算机文件系统的访问
'下面FileSystemObject.CreateTextFile返回一个TextStream对象,该对象是可读并可写的:
OnErrorResumeNext'如果文件存在,下个命令会出错!获得文件
fs.CreateTextFile("test1.txt",False).WriteLine("Thisisatest.")'创建一个文件,返回一个用于该文件读写的TextStream对象
Setf=fs.GetFile("test1.txt")'返回一个和指定路径中文件相对应的File对象
'错误!f.WriteLine("Thisisatest.")'向创建的文本文件中写入一行文本,非TextStream对象,错误!!

Setts=f.OpenAsTextStream(ForAppending,TristateUseDefault)'打开一个指定的文件并返回一个TextStream对象
'OpenAsTextStream方法提供了和FileSystemObject.的OpenTextFile方法相同的功能/
'此外,OpenAsTextStream方法还可以用于对一个文件进行写操作。
ts.Write"HelloWorld"
ts.Close
Setts=f.OpenAsTextStream(ForReading,TristateUseDefault)
DoWhileNotts.AtEndOfStream
s=ts.ReadLine
MsgBoxs
Loop
ts.Close
EndSub

㈡ VBA实现读取text文本内容,写入到单元格

Subtest()
DimstarRngAsRange
SetstarRng=Sheet1.Range("B5")'要输入的第一个单元格

DimtxtPathAsString,nextLineAsString
txtPath=ThisWorkbook.Path&" emp.txt"'txt所在的目录

OpentxtPathForInputAs#1

DoWhileNotEOF(1)
OnErrorResumeNext
LineInput#1,nextLine
IfInStr(nextLine,"@@@@")>0Then'如果包含连续4个以上的@则换行
SetstarRng=starRng.Offset(1,0)'下一行
Else
starRng=starRng&IIf(starRng.Value="","",Chr(10)&Chr(13))&nextLine
EndIf
Loop
Close#1
EndSub

我就要悬赏,能给多少就给多少,

㈢ execl高手用VBA改写成用文本TXT输出结果保存

OptionExplicit

Dimfso,tso
DimM,N,A()

'主程序
M=inputbox("输入M(2~36)","M",15)+0
N=inputbox("输入N(2~7)","N",6)+0
IfM<2OrM>36OrN<2OrN>7Then
MsgBox"M、N不在规定范围内,请修改"
Else
ReDimA(N)
setfso=createobject("scripting.filesystemobject")
settso=fso.createtextfile("1.txt")
CallC(1)
tso.close
EndIf


SubC(ByValt)
Dimi
Fori=A(t-1)+1ToM
A(t)=i
Ift=NThen
tso.writelinejoin(A,chr(9))
Else
CallC(t+1)
EndIf
Next
EndSub


反正都是生成文本文件,还不如直接用VBS来写,代码在上面的,可以粘贴到记事本保存为VBS文件,附件内容同上面的代码,下载到本地后鼠标双击可以执行,执行完毕生成的文件是1.TXT。


我用36,7生成了结果,文本文件177388200字节,有点大,但是结果正常。

㈣ VBA如何将变量写入文本文件

对象就是的赋值,必需使用set语句
public
sub
测试()
dim
dyg
as
range
set
dyg
=
range("b2")
end
sub
你完全可以不用定义为单元格对象,直接赋值就行了
public
sub
测试()
dim
dyg$'定义字符串变量
dyg
=
range("b2")
end
sub

㈤ Excel VBA 文本文件打开对话框以及读写

建议用FileSystemObject操作:

示例

SubReadTextFile()
DimfsAsObject
DimobjFileAsObject
DimstrContentAsString
DimstrFileNameAsString

strFileName="C:aaa.txt"'此处可以用其他变量代替
Setfs=CreateObject("Scripting.FileSystemObject")
SetobjFile=fs.OpenTextFile(strFileName)

DoWhileNotobjFile.AtEndOfStream
strContent=strContent&objFile.ReadLine&vbCrLf
Loop

objFile.Close
SetobjFile=Nothing

ActiveWorkbook.Sheets(3).Select
Range("A1").Select
Selection.Formula=strContent

End


另外,你用了Application.FileDialog(msoFileDialogOpen)打开文件,选择后实际上是没有打开文件的动作的,

需要用代码打开,文件名就是上面网友回答的“FileName = fd.SelectedItems(1) '记录文件路径(指定文本文件名)”

然后使用你常用的Workbooks.OpenText命令打开吧!


不然肯定是“打开以后什么都没有,跟没打开似的”了!

㈥ 求助vba代码该怎么写,把excel内容写入txt

用法:运行代码,结果会生成在excel所在的文件夹下面的output.txt中。如果想指定运算区域,则将,选中你想要挑选的区域,'Set zon = Application.InputBox("please choose the zone", Type:=8)前的 ' 去掉然后添加到 Set zon = Range("A1:Z1000")前面。
Sub output()
Dim zon As Range
Dim ttr, ttc As String
Open ThisWorkbook.Path & "\output.txt" For Output As #1
Set zon = Range("A1:Z1000")
'Set zon = Application.InputBox("please choose the zone", Type:=8)
For Each Rng In zon
If Rng.Font.Color = 255 Then
ttr = Cells(Rng.Row, 1)
ttc = Cells(1, Rng.Column)
Print #1, ttr, ttc, Rng
End If
Next
Close #1
End Sub

㈦ Excel里VBA链接打开文本文件怎么写,用记事本打开

Private Sub CommandButton1_Click()
Shell "notepad c:\boot.ini", vbNormalFocus
End Sub notepad 是记事本的系统程序名,其他程序需要完整路径和完整程序文件名了。要打开的文本文件可以在notepad后加空格后再加上完整路径和完整文本文件名。这样就ok了!希望帮到您哦!

㈧ VBA修改文本文件数据

对于“文本文件”,基本上这是没办法的事。“文本文件”只能看作是一种“顺序文件”。
无论什么语言的代码来改写,都牵涉到“数据移动”的问题。
毕竟,绝大多数情况下,你的这种所谓的“修改”,被改变的部分,数据长度都是会有变化的。
无论是变长了,或者变短了,在它后面的数据全部都要进行“移动”,
这种情况下,任何方法改数据,都是得“重新写”后面的数据。
如果文件较大,必然费时。没有“快”的方法。
但是,如果长度没有变化(新内容跟原内容一样长),都可以从指定位置开始写入新数据。
这时,无论哪种语言的代码,都可以快速完成操作。

其实,楼主要想提高“速度”,应该考虑一种能够“随机读写”的存储结构来组织文件,
而不是用“文本文件”(当然不知道楼主的需求,是否可以这样处理)。
如果用可以“随机读写”的数据存储结构,这样就可以达到快速存取、快速修改的目的。

㈨ VBA怎样将值写入为文件

下面的程序供你参考:

㈩ 如何用VBA生成txt脚本

VBA生成TXT的代码如下:

Open"C:输出.txt"ForOutputAs#1'生成TXT文件
Print#1,"输出内容"'写入TXT的内容
'如果要输出EXECL值,可以:Print#1,Range("A1")'将A1值输出
Close#1'关闭文件句柄
MsgBox"C:输出.txt生成成功!"'提示
阅读全文

与vba写文本文件相关的资料

热点内容
如何监管网络流行语 浏览:351
光纤如何变成无线网络 浏览:462
苹果手表怎么不能开机密码 浏览:150
魔域加速文件是哪个 浏览:891
qq空间怎么用电脑直播 浏览:903
ueditorjavascript 浏览:922
荣耀我6反应最快的版本系统 浏览:615
word2010开始菜单 浏览:962
超声报告图片都有哪些数据 浏览:436
苹果手机百度打不开网站怎么回事 浏览:376
pos机数据哪里有卖的 浏览:649
linux系统进程数 浏览:334
苹果6plus更新不了软件 浏览:13
cad里面编辑完块的文件在哪找 浏览:401
压缩文件修改了怎么办 浏览:643
ps4下载的文件放在哪里 浏览:637
speedgrade教程下载 浏览:552
网络品牌推广方案怎么做 浏览:607
与国外分享文件 浏览:333
服务端gm命令在哪个文件 浏览:581

友情链接