A. 如何用VBA批量提取多個txt文件的某列指定數據,TXT文件形式都如下,求指點~
1、提到EXCEL內
Excel怎樣快速打開文本文件內容
2、再分列
3、再轉到指定數據
B. excel用vba自動提取多個txt文件中指定位置多個字元到excel指定單元格中
19:44開始解答這個問題,那時你還沒有上傳附件,試試能不能用吧
Sub批量提取TXT文件指定位置數據()
DimFsoAsObject,oFileAsObject
Dimtx,tx0,txkAsString
Dimr1,r2AsInteger
r1=2'從第2行開始寫入
'將需寫入數據的列轉換為文本格式,防止0開頭的數字數據寫入錯誤
[A:A].NumberFormatLocal="@"
[C:C].NumberFormatLocal="@"
[E:E].NumberFormatLocal="@"
[G:G].NumberFormatLocal="@"
[K:K].NumberFormatLocal="@"
SetFso=CreateObject("Scripting.FileSystemObject")'引用fso對象
ForEachoFileInFso.GetFolder(ThisWorkbook.Path&"數據源").Files'遍歷當前工作簿路徑下的數據源文件夾內所有文件
IfoFile.NameLike"*.txt"Then'如果拓展名為TXT
r2=1
OpenoFileForInputAs#1'讀取文件
DoWhileNotEOF(1)'遍歷行至文件尾
LineInput#1,tx'輸出行為字元串
IfLen(Trim(tx))>0Then'如果非空個字元大於0
Ifr2=1Then
Cells(r1,"A").Value=Mid(tx,2,2)'第一行的第2-3個字元放到A列
txk=Mid(tx,2,2)'txk用於取K列數據
EndIf
Ifr2=2Then
Cells(r1,"C").Value=Left(Right(tx,7),3)'第二行從右往左取7個字元,再取前3個,放到C列
txk=txk&Left(Right(tx,7),3)'txk用於取K列數據
EndIf
Ifr2=3ThenCells(r1,"E").Value=Mid(tx,WorksheetFunction.Find("ABCDEF",tx)+8,4)'第三行找到ABCDEF的起始位置,從A向後數8個字元開始取,取4個
IfLeft(tx,6)="HIJKLM"ThenCells(r1,"G").Value=Left(Right(tx0,6),4)'某一行是HIJKLM開頭的,該行的上一行數據從右往左取6個字元,再取前4個,放到G列
IfLeft(tx,Len(txk))=txkThenCells(r1,"K").Value=Mid(tx,6,6)'某一行是提取之後的A2&C2中的數據開頭的,第6-11個字元放到K2單元格
tx0=tx'將此行字元存入臨時變數作為上一行
EndIf
r2=r2+1
Loop
Close#1
EndIf
r1=r1+1
NextoFile
SetFso=Nothing
EndSub
GIF動圖
C. Excel怎樣批量提取文件夾和子文件夾所有文件
主要的方法有:
一、編程的方法,如Excel自帶的VBA,以及其他編程方法,如Python
二、Excel自帶的Power Qurey數據處理工具,Excel2010以上版本支持,但2010和2013要另外下載安裝,而2016以上版本安裝後就已默認安裝。
新建一個Excel工作簿,在工作簿的工作表中,數據菜單——獲取和轉換數據——獲取數據——來自文件——從文件夾,瀏覽到要提到文件名的文件夾,打開。就會把文件夾(包括子文件夾)下的所有文件導入到一個預覽對話框中,對話框中已可預覽到每個文件的文件名及各種文件屬性,如創建時間、完整路徑等。在此對話框中,選擇「轉換數據」(Excel版本不同,對話框稍有不同,但大同小異),進入到Power Qurey界面,在PQ界面工作界面中,刪除不需要的列,如果文件名不需要擴展名,就對文件名以小數點為分隔符拆分,再刪除擴展名列。反正你想怎麼整就怎麼整。整好後,從PQ的文件菜單中選擇關閉並上載到,上載到目錄工作表中。
以後文件夾內文件有增減變化,或文件名有修改,只要在工作表中右擊,選擇「刷新」即可得到更新。
Power Qurey的方法簡單快捷,基本上就點幾下滑鼠。不需要去這編程語言。按上面說的步驟一步步去操作,任何只要對Windows資源管理器有些了解,對Excel有基本了解的人都能完成。
三、DOS時代的方法,度友「二性北B」有介紹。
D. excel 多個文件 提取
首先,將你那100個文件統一放在一個文件夾里,比如c:\temp,在temp文件夾里新建一個批處理文件1.bat,內容只有一行「dir *.xls > 1.txt」。
運行1.bat,這時temp里就會有一個1.txt的文件產生,裡面是你所有的需要處理的文件名。
新建一個excel文件,將1.txt中的文件名列表拷貝貼到sheet1的A列。打開vba編輯器,插入一個模塊,貼入下面的代碼,注意修正參數:
Sub BatchWork()
Dim TempFileName As String
Dim AWorkBook As String
Sheets("sheet1").Select
AWorkBook = ActiveWorkbook.Name
For i = 1 To 100 '100要換成實際的文件數量
Range("A" & i).Select
TempFileName = ActiveCell.Text
Workbooks.Open Filename:="C:\Temp\" & TempFileName 'C:\Temp\ 要換成你的文件存儲位置
Windows(TempFileName).Activate
Sheets("Sheet6").Select 'sheet6要換成你的第6張表的名字
Range("A1:G300").Select
Selection.Copy
Windows(AWorkBook).Activate
Sheets("Sheet1").Select
Sheets.Add
ActiveSheet.Name = TempFileName
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(TempFileName).Activate
ActiveWindow.Close (0)
Sheets("Sheet1").Select
Next i
End Sub
我在我的機器上試過可以用的,行不行就看你的操作了
E. 如何用Excel VBA讀取某一文件夾下批量TXT文本內的某行某列
如何用Excel VBA讀取某一文件夾下批量TXT文本內的某行某列? 可以使用如下的代碼,復制如下代碼到VBA模塊中運行即可。
如下代碼代表4行4列,如果其餘行或列數則可更改相應的數字。
具體步驟如下:
打開office excel;
Alt+F11打開VBA編輯器;
復制如下代碼到模塊中;
F5運行該模塊;
按照提示進余殲畝行如下步驟即可。
Sub xxx()Dim myFile As StringDim myText As StringDim myString As StringDim i As SingleWith Application.FileDialog(msoFileDialogFolderPicker).Show.AllowMultiSelect = FalsemyFile = .SelectedItems(1)End WithmyText = Dir(myFile & "\" & "*.txt")Do While Len(myText) <> 0Open myFile & "\" & myText For Input As #1myText = Split(Split(VBA.StrConv(InputB(LOF(1), 1), vbUnicode), Chr(10))(3), vbTab)(3) '4行4列,如果其餘行或列數則更改相應的數字Debug.Print myTextClosemyText = DirLoopEnd Sub
如何用ISS指向某一文件夾
現在我們的標准安裝已經完成,讓我們討論一下無人值守安裝。Setupsql.exe程序讓你記錄下一個應答文件,它包括了你在安裝程序對話框中常選的對於各種安裝選項的所有回答。稍後,你能夠通過調用以該應答文件作為參數的setupsql.exe命令來改舉運行一個安裝。這種無需任何用戶干預的安裝類型被稱為無人值守安裝。 要准備應答文件,先啟動安裝程序,在安裝選擇對話框中選擇高級選項,在對話框中選擇選取「記錄無人值守.ISS文件」。安裝程序會指導你完成常規的安裝對話框,其中你可以填入所有你想要記錄的選項。當你完成後,安裝程序在\WINNT文件夾下創建一個名為setup.iss的文件。 要啟動一個無人值守安裝,運行setupsql.exe程序,用-s作為執行安靜安裝的參數、-fl參數指定一個應答文件。例如,要啟動一個安靜的、無人值守的安裝——安裝完成後不通知你,你可以使用以下命令: \setupsql.exe –s –fl \setup.iss 如果你想在安裝完成時得到通知,從命令行執行如下setupsql.exe程序,或者把它寫入一個批處理文件中: start /wait \setupsql.exe -s –fl \setup.iss 直到安裝結束,控制才會傳遞到下一條命令。當你從批處理文件啟動安裝,而這個文件又包括其他依賴於安裝的行為時,使用start /wait選項是特別重要的。例如,假設你要為一個名為INST1的命名實例執行無人值守安裝來創建批處理文件,然後啟動SQL Server服務,再運行一個用來創建資料庫及其對象(如:表、存儲過程)的sql腳本。這個批處理文件看起來可能像這樣: start /wait D:\X86\Setup\setupsql.exe –s –fl C:\WINNT\setup.iss start MSSQL$INST1 OSQL /E /I 「c:\data\scripts\createappdb.sql」 如果你不使用start /wait選項,控制從安裝一開始就移到了批處理文件的第二條命令,而這條NET START命令試圖啟動一個還不存在的服務。 對一個無人值守安裝進行故障排除要比對待標准安裝的故障排除更需要慎重對待。標准安裝往往在安裝程序遇到問題時通過顯示一個包含出錯信息的對話框(並伴有響亮的警告聲)來通知你。而無人值守安裝只是簡單地終止,且沒有交互的通知。 要了解如何對無人值守安裝進行故障排除,讓我們來看一組豎森我遇到過的問題。假設你已經在伺服器上完成了另一個產品的安裝,然後你試圖執行一個SQL Server的無人值守安裝。安裝程序檢測到在前一個安裝結束後伺服器尚未重啟,於是放棄安裝,同時沒有任何信息提示。如果你保持任務管理器窗口打開,你會注意到setupsql.exe 程序不活動,所以SQL Server沒有被安裝。你也應該檢查日誌文件。一旦安裝成功,\WINNT\setup.log文件應該顯示0作為出錯代碼;然而,在我描述的情景中,他很可能顯示-1,這表示一個基本錯誤。你也應該看一下出錯信息。 當執行無人值守安裝時,我遇到過多次的另一個錯誤是「對話框次序紊亂」。同時,安裝程序通常在\Pr
如何用vbs判斷某一文件夾下是否有txt格式文件
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder("D:123")
for each fl in folder.files
if lcase(right(fl,4))=".txt" then msgbox "存在":wscript.quit
next
msgbox "不存在"
excel如何用宏刪掉D盤某個文件夾下「0.txt」文件
sub delfile()
Kill "D:\1\0.txt"
end sub
刪除d盤文件夾1下面的0.txt文件
matlab如何打開某一文件夾下的.m文件?
解決方案1:
\)主程序開頭添加addpath('program文件夾添加到當前運行的path中;e;program' 也就是把e:\
解決方案2:
m'd把要run的M文件改成function格式
然後再要用的地方調用function
如果之前沒打開過的話就要先用命令打開,例如,把函數放進matlab里
用命令打開:
open('program\***:\
解決方案3:
用matlab需要一個工作空間(我的電腦默認的是:我的文檔\\matlab這個文件夾),你把要用的文件都放在那裡,要是滿電腦亂放可不行B
解決方案4:
點擊桌面matlab的圖標,右鍵單擊一下,點擊屬性,裡面第二欄為起始位置,更改起始位置的文件位置即可。比如說你上邊的將起始位置欄改為E:\program,如果該文件下面還有文件夾例如文件夾kiss,可以這樣子更改E:\program\kiss,這樣更改以後每次打開matlab的open選項時,自動從所設定的文件位置打開!
解決方案5:
主程序開頭添加addpath('e:\program'); 也就是把e:\program文件夾添加到當前運行的path中,這樣就可以直接調用該文件了
把要run的M文件改成function格式
然後再要用的地方調用function
如果之前沒打開過的話就要先用命令打開,把函數放進matlab里
用命令打開,例如:
open('d:\program\***.m') &&其中***為文件名
解決方案6:
這是默認的文件夾
你點開想要打開的M文件就可以了 問你是否變更文件夾 點是就OK
解決方案7:
1 直接搜索*.m;
2 edit *.m
3 如果已經找到了m文件,那就雙擊好了
解決方案8:
matlab軟體裡面的文件窗口的右上角有得點
Excel 如何批量提取同一文件夾下excel信息
那個你直接用「無敵點擊狗」軟體就能輕松完成,在無敵點擊狗里提供有自動點擊按鍵操作和自動批量提取錄入,按鍵模擬等,很方便的。
求批處理批量提取某一文件夾下所有文件內指定的字元
把壓縮包解壓後得到txt文件,然後可試試 文件批量處理百寶箱V8.0 主界面-更多功能-拓展界面-文本行處理-第39項功能,在待查找標記中輸入:([1-9][0-9]{4,12}[!\D](?!\d))|(!1000)\@(qq|QQ)\.(|COM),單擊執行即可。
如何用matlab批量讀取一個文件夾下的多個子文件夾中的多個文件
matlab我不了解,您是要用matlab這個程序去打開每一個文件嗎?
如何用python獲得ftp中某文件夾下的'文件夾列表'
使用dir()取回來後, 再處理一下,把目錄挑出來:
drw-rw-rw- 1 user group 0 Oct 31 21:40 dir1
drw-rw-rw- 1 user group 0 Oct 31 21:42 dir2
-rw-rw-rw- 1 user group 10752 Oct 31 21:41 file1.doc
-rw-rw-rw- 1 user group 10752 Oct 31 21:41 file2.doc
F. 怎麼把多個txt文本的內容,批量導入到excel指定的表格
1、如下圖所示,我們在TXT文本內有一些數據內容,想要把他們轉到excel表格中版。接下來我們權先打開excel表格。
G. 如何用excel批量讀取txt中固定行列的數據
'將如下宏代碼粘貼到的VBA編輯器中,按F5運行即可,注意修改你的文件所在的目錄。
SubReadData()
DimPathAsString,MyValueAsString,fnAsLong
Path="C: mp"'假定你的1dr文件處在C: mp文件夾中,可以自行修改
fn=FreeFile
RowI=1
fname=Dir(Path&"*.1dr")
'如果是txt文件,則為fname=Dir(Path&"*.txt")
Iffname<>""Then
Do
OpenPath&""&fnameForInputAs#fn
Row=0
DoUntilEOF(fn)
LineInput#fn,Data
Data=Trim(Data)
IfData<>""ThenRow=Row+1
IfRow=6ThenExitDo'這里6表示表示提取第幾行的數據
Loop
Close#fn
IfData<>""AndRow=6Then
Data=Replace(Data,"",vbTab)
Data=Replace(Data,vbTab&vbTab,vbTab)
Data=Split(Data,vbTab)
n=UBound(Data)
Ifn>=10AndTrim(Data(9))<>""Then'提取第6行第10列數據填充到單元格的第1列中
OnErrorResumeNext
Cells(RowI,1).Value=Data(9)
IfErr.NumberThen
Cells(RowI,1)=Data(9)
EndIf
EndIf
Ifn>=1AndTrim(Data(0))<>""Then'提取第6行第1列數據填充到單元格的第2列中
OnErrorResumeNext
Cells(RowI,2).Value=Data(0)
IfErr.NumberThen
Cells(RowI,2)=Data(0)
EndIf
EndIf
Ifn>=13AndTrim(Data(12))<>""Then'提取第6行第13列數據填充到單元格的第3列中
OnErrorResumeNext
Cells(RowI,3).Value=Data(12)
IfErr.NumberThen
Cells(RowI,3)=Data(12)
EndIf
EndIf
EndIf
RowI=RowI+1
fname=Dir()
LoopWhilefname<>""
ActiveWorkbook.Save
EndIf
MsgBox"處理完畢!",vbInformation+vbOKOnly,"消息"
EndSub