導航:首頁 > 版本升級 > excelvba打開文本文件

excelvba打開文本文件

發布時間:2022-01-19 17:45:56

⑴ vba 如何當前excel 打開txt文件後並將txt文件保存為EXCEL

如果txt文件中的數據是由逗號分隔,試試下面的代碼
Sub TXT導入到EXCEL() '把由逗號分隔的TXT數據導入EXCEL
Application.ScreenUpdating = False '關閉屏幕刷新
Const ForReading = 1 '打開一個只讀文件
Set fso = CreateObject("Scripting.FileSystemObject") '創建文本對象
Set fd = Application.FileDialog(msoFileDialogOpen) '創建「打開」對話框對象
If fd.Show = -1 Then '如果選擇了文件
FileName = fd.SelectedItems(1) '記錄文件路徑(指定文本文件名)
Else '如果沒有選擇文件
MsgBox "沒有選擇文件,請重新操作!", , "導入到EXCEL"
Exit Sub '退出程序
End If

Set sFile = fso.OpenTextFile(FileName, ForReading) '創建並打開名為sFile的TextStream對象
i = 1 '設置輸入單元格的起始行號
Do While Not sFile.AtEndOfStream '如果不是文本文件的尾端,則讀取數據
LineText = sFile.ReadLine '從文本文件中依次讀取一行數據為字元串
d = InStr(LineText, ",") '計算這行數據從左向右第一個全形逗號的位置
If d > 0 Then '如果全形逗號存在
TH = Replace(LineText, ",", ",") '把字元串中的全形逗號替換成半形逗號
FJ = Split(TH, ",") '把由半形逗號分隔的字元串TH寫入數組FJ
ElseIf d = 0 Then '如果全形逗號不存在
FJ = Split(LineText, ",")
End If
For iCol = LBound(FJ) To UBound(FJ) '從數組中讀取數據並寫入對應的單元格
ThisWorkbook.ActiveSheet.Cells(i, iCol + 1) = FJ(iCol)
Next iCol
i = i + 1 '滾動到下一個寫入數據的單元格行
Loop
sFile.Close
Set fso = Nothing
Set fd = Nothing
Set sFile = Nothing
Application.ScreenUpdating = False '關閉屏幕刷新
End Sub

注意:
按Alt+F11打開宏編輯器,插入模塊,粘貼上述代碼後,在要導入TXT文件的當前工作表中製作一個命令按鈕鏈接宏即可操作。

⑵ Excel vba 這個打開文本文件的#號是個固定用法,還是隨便定義的

這個叫做文件號。
用來標識文件的,因為可能會同時打開多個文件,所以就需要區別,系統就是根據這個文件號來區別不同文件的。
文件號的范圍為1-511 ,只要沒有被使用,你就可以隨意在這個范圍內用一個。
因為通常只同時打開一個文件,所以基本上都是用#1了,你用#100 #500 也是一樣可以的。
反正就是不能在關閉一個文件之前再用這個文件號,關閉文件後文件號會釋放,則可以再次使用。
---------------------------------------------------------------------------------

也可以用freefile 函數來獲得一個可以使用的文件號

FreeFile 函數

請參閱 示例 特性

返回一個 Integer,代表下一個可供
Open 語句使用的文件號。

語法

FreeFile[(rangenumber)]

可選的參數 rangenumber 是一個 Variant,它指定一個范圍,以便返回該范圍之內的下一個可用文件號。指定
0(預設值)則返回一個介於 1 – 255 之間的文件號。指定 1 則返回一個介於 256 – 511 之間的文件號。

說明

使用 FreeFile 提供一個尚未使用的文件號。
-------------------------------------------------------------------------------

FreeFile 函數示例

本示例使用 FreeFile
函數來返回下一個可用的文件號。在循環中,共打開五個輸出文件,並在每個文件中寫入一些數據。
Dim MyIndex, FileNumber
For MyIndex = 1 To 5 ' 循環五次。
FileNumber = FreeFile ' 取得未使用的文件號。
Open "TEST" & MyIndex For Output As #FileNumber ' 創建文件名。
Write #FileNumber, "This is a sample." ' 輸出文本至文件中。
Close #FileNumber ' 關閉文件。
Next MyIndex

⑶ excel vba讀取文本文件

Subs()
OpenThisWorkbook.Path&"a.txt"ForInputAs#1
k=9
DoWhileNotEOF(1)
LineInput#1,a
a=Application.Trim(Replace(a,"--",""))
Cells(k,2).Resize(1,3)=Split(a)
k=k+1
Loop
Close#1
EndSub

⑷ 如何用EXCEL的VBA代碼關閉已經打開的文本文件

給你舉個例子:

Subtest11()
OpenThisWorkbook.Path&"output.txt"ForOutputAs#1'在#1打開當前文件夾中的output.txt文件
str1="123"
str2="你好嗎"
str3="hello"
Print#1,str1,str2,str3,Date'寫入內容
Write#1,str1,str2,str3,Date'寫入內容
Close#1'關閉#1這個文件
EndSub

程序會在output.txt文件內生成兩列內容如下:
123 你好嗎 hello 2013-11-22
"123","你好嗎","hello",#2013-11-22#
說明:ThisWorkbook.Path表示相對路徑,是指當前vba對應宏文件所在的文件夾,當前的output.txt與vba對應的宏文件是同文件夾。

⑸ excel中如何實現用VBA的ope函數打開某個txt文件

open打開文件需要有個完全的路徑名稱,
建議先使用GetOpenFilename獲取需要打開的文件全名稱.
再使用open進行文件流操作.
dim count as long
Dim Filt As String
Dim FilterIndex As Integer
Dim Title As String
Dim File As Variant

Dim fText As String

'創建文件篩選列表
Filt = "Text Files (*.txt),*.txt,"

'默認顯示*.*
FilterIndex = 1

'設置對話框標題
Title = "打開文本文件"

'獲取文件路徑以及文件名
File = Application.GetOpenFilename _
(FileFilter:=Filt, _
FilterIndex:=FilterIndex, _
Title:=Title)

'如果取消對話框則退出
If File = False Then
MsgBox "您未選擇文件"
Exit Sub
End If

'excel獲取文本數據
Open File For Input As #1
count = 0
Do While Not EOF(1)
count = count + 1
Line Input #1, fText
Worksheets("Sheet1").Cells(count, 1).Value = fText
Loop
Close #1

⑹ Excel里VBA鏈接打開文本文件怎麼寫,用記事本打開

End Sub notepad 是記事本的系統程序名,其他程序需要完整路徑和完整程序文件名了。要打開的文本文件可以在notepad後加空格後再加上完整路徑和完整文本文件名。這樣就ok了!希望幫到您哦!

⑺ 用vba語言,打開多個txt文件,打開的形式為excel格式

以下是使用宏錄制的方法獲得的代碼:

Sub宏2()
'我是使用excel打開的一個D: est1.txt
ChDir"D: est"
Workbooks.OpenTextFilename:="D: est1.txt",Origin:=936,StartRow:=1,_
DataType:=xlDelimited,TextQualifier:=xlDoubleQuote,ConsecutiveDelimiter_
:=False,Tab:=False,Semicolon:=False,Comma:=False,Space:=False,_
Other:=True,OtherChar:="、",FieldInfo:=Array(1,1),TrailingMinusNumbers_
:=True
Windows("工作簿1").Activate
EndSub

更為簡潔的是直接這樣:

Workbooks.OpenText Filename:="D: est1.txt"

⑻ excel vba打開excel文件

不知道這樣符不符合你的要求(一個打開,一個恢復顯示回):

Sub 後台打開答()
Application.ScreenUpdating = False
Workbooks.Open Filename:="D:\excel.xls"
ActiveWindow.Visible = False
Application.ScreenUpdating = True
End Sub

Sub 取消隱藏()
Windows("excel.xls").Visible = True
End Sub

⑼ excel中vba中用FileDialog以記事本打開文本文件

Sub打開文件()
WithApplication.FileDialog(msoFileDialogOpen)
.AllowMultiSelect=True
.Filters.Add"文本文件","*.txt",1
.InitialFileName="g:123"
.InitialView=msoFileDialogViewDetails
.Title="打開"
If.Show=0ThenExitSub
Filename=.SelectedItems(1)
EndWith
Shell"notepad"&Filename,vbNormalFocus
EndSub

⑽ 如何用excel的VBA來打開C盤文本文件

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Range("C1").Value > 0 Then
Shell "notepad C:\mybook.txt"
End If
End Sub

閱讀全文

與excelvba打開文本文件相關的資料

熱點內容
富家千金小倉電影 瀏覽:874
看好片網址 瀏覽:938
日本大胸的女人電影 瀏覽:475
魔鬼交鋒 .45 瀏覽:469
男女生猴子的電影 瀏覽:439
win10共享文件密碼怎麼取消 瀏覽:551
大數據崗位人才缺口多少 瀏覽:772
面向對象程序設計的基本概念 瀏覽:147
itv怎麼刪除app 瀏覽:839
蘋果137去除小紅點描述文件 瀏覽:917
蘋果11描述文件跳不出來 瀏覽:51
js實現按鈕單擊事件 瀏覽:98
app改國家在哪裡 瀏覽:832
招標文件有下列哪些情形招標人應當拒收 瀏覽:610
js遍歷checkboxlist 瀏覽:933
日本電影資源最大網站 瀏覽:818
永寧縣電影院今日影訊 瀏覽:463
在哪裡可以看未播出的電視劇 瀏覽:927
韓國一個老女人包養男生的電影 瀏覽:372
池恩瑞韓國電影 瀏覽:564

友情鏈接