1樓:橫山先生
參考下:
sub readfile()
dim ddate as date
dim scustomer as string
dim sproduct as string
dim dprice as double
dim sfname as string
dim ifnumber as integer 'file number
dim lrow as long 'row number in worksheet
sfname = "c:\vba_prog_ref\chapter12\jansales.txt"
'獲得未被使用的檔案號
ifnumber = freefile
'開啟檔案準備輸入
open sfname for input as #ifnumber
sheet2.cells.clear ‘清除**內容
lrow = 2
do'從txt 檔案讀取內容到excel
input #ifnumber, ddate, scustomer, sproduct, dprice
with sheet2
.cells(lrow, 1) = ddate
.cells(lrow, 2) = scustomer
.cells(lrow, 3) = sproduct
.cells(lrow, 4) = dprice
end with
'移動到下一行
lrow = lrow + 1
'讀取檔案,直到檔案結尾
loop until eof(ifnumber)
'關閉檔案
close #ifnumber
end sub
2樓:匿名使用者
可以錄製一段巨集,匯入一個文字檔案,會產生如上的**:
workbooks.opentext filename:=thisworkbook.path & "\" & stemp, origin _
:=936, startrow:=1, datatype:=xlfixedwidth, fieldinfo:=array( _
array(0, 2), array(22, 2), array(39, 2), array(50, 2), array(51, 2), array(52, 2), array(60 _
, 2), array(80, 2), array(92, 2), array(143, 2), array(149, 2), array(157, 2), array(216, 2) _
, array(222, 2), array(225, 2), array(254, 2), array(255, 2), array(263, 2)), _
trailingminusnumbers:=true
然後用如下語句去迴圈匯入所有的文字檔案,匯入後可以再用其它控制語句去處理:
set fso = new filesystemobject
set afolder = fso.getfolder(thisworkbook.path)
for each afile in afolder.files
... ...
... ...
next
excel vba 讀取 固定格式的txt文字,輸入指定格式的**裡。 50
3樓:匿名使用者
sub query()
dim filename, inputstring as string, doc
filename = worksheets(2).range("b2").value'檔案儲存路徑
if createobject("scripting.filesystemobject").fileexists(filename) = true then
'判斷檔案是否存在
open filename for input access read as #1
'若存在則開啟tet檔案,名為#1
do while not eof(1)
line input #1, inputstring
'讀取tet檔案每行資料
doc = inputstring
'將每行資料賦值給doc
loop
close #1'關閉檔案
kill filename'刪除檔案
end if
end sub
高分求用vba將excel**資料 匯出固定格式的txt檔案。
4樓:匿名使用者
你可能沒明白樓上的意思,你建一列==if(book2!a1="北京","bj|")&if(book2!c1="神州行","shengzhouxing|")&book2!
d1&book2!e1,讓後一拖,拷貝一行,貼上就可以了。
另外是不是深圳需要改為sz那?家園卡需要改為jiayuanka?
5樓:匿名使用者
這個用不著動用vba,
直接在excel裡面處理後複製貼上在txt裡面就可以了。
不用一個一個的複製,可以用公式的。
excel中vba怎麼獲取一個txt檔案的固定行資料?
6樓:匿名使用者
剛才試了一下,你說的這種型別的txt好像可以直接用excel開啟,所以我錄了個巨集,改了一下
你可內以試試:
sub 提取()
set zsht = activesheet
workbooks.opentext filename:="d:\abc.txt"
set mytxt = activeworkbook
zsht.range("a1:d10").value = activesheet.range("a1:d10").value
mytxt.close
end sub
這個巨集是容要先開啟一個空**,然後執行這個巨集,會把txt當成**開啟,並a1:d10數值賦值給剛才開啟的空**
7樓:一箭驚仙
用正規表示式,按換行符分割,取出第10行
再將取出的第10行用正規表示式以不可見字元進行分割,就可以了
8樓:匿名使用者
用陣列啊,這麼多資料還用變數,out了
C語言,如何用迴圈讀入多個文字檔案
鏡蔓楊清雅 下面的 是剛剛給你寫好的,檔名僅限 a.txt b.txt 和 c.txt include stdio.h include stdlib.h intmain void fseek fp,0,2 filelen ftell fp fseek fp,0,0 p i malloc filele...
Excel VBA中如何使用split來分割內部含有不定空格的字串
yty隨意 1 首先開啟office excel軟體,接著開啟vba編輯介面。2 然後在單元格區域當中輸入一些內容。3 接著在vba編輯器中插入模組。4 在模組當中輸入如下 進行分割取線,然後執行。5 最後在單元格b2中輸入公式 division a1,column a a 然後右拉至d2,公式結果...
excel vba中如何定義陣列,並賦值
陽光上的橋 for each i in array 1,6,8,18,19,20,25,62,63,64 msgbox i i next i 表裡如一 dim i as integer,aaa 9 as integer aaa array sub a dim aaa 9 aaa 0 1 aaa 1 ...