dポイントプレゼントキャンペーン実施中!

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。

 環境:Win7+Excel2007
でございます。

 今開いております「Book1」上に「シート1」「シート2」があるといたしまして、
「シート2」上に、「C:\ファイル1.txt」(←1000行程ございます)を
「1行ずつ読み込むのではなく、Workbooks.OpenTextのように一度に開く」事は可能でございますでしょうか??

 行数が多いのでReadLineをいたしますよりは、何か「開いているエクセルファイル上にテキストファイルをドラッグして開いた時のような方法」はないかな、と検索いたしておりまして、
OpenTextを見つけて試しましたが、新規エクセルファイル上で開いてしまいます。。。

 もし何かよさそうな方法がございましたら、是非ともアドバイスいただきたく
どうぞよろしくお願いいたします。

A 回答 (2件)

一般的なテキストファイルを前提に。



たとえば:
sub macro1()
 dim FSO as object
 dim buf as string
 dim a as variant
 set fso = createobject("Scripting.FileSystemObject")

 with fso.getfile("C:\test\test.txt").openastextstream
  buf = .readall
  a = split(buf, vbcrlf) ’実際の改行コードに気を付ける
  worksheets("Sheet2").range("A1").resize(ubound(a) + 1, 1) = application.transpose(a)
  .close
 end with
 set fso = nothing
end sub



#OpenTextで開いた後に、たとえばシートごとブックに取り込むとか、ふつーにコピー貼り付ける等の方が遥かに簡単と思いますが。まぁお好みの方法で。
    • good
    • 0
この回答へのお礼

【解決☆】

 keithin様

 どうもありがとうございます!m(_ _)m
以前も助けていただいております^^ 残念ながらkeithin様のありがとうポイントキリ番(9万)とりそこねました。。。

 本質問につきましては、keithin様のおかげでうまくいきました^^


 で、今気づいたのでございますが、keithin様のコードって何故か頭文字が小文字ですので、全部ここ(OKWave上のテキストボックス)にソラで書かれておられるのでございましょうか(←VBEからコピペしたのではなく)。凄いですね(^ω^ もし自分が同じ事をやったら、1行に1個くらいのペースでバグを入れる自信が。。orz
しかも動作確認なされていないところがまた(凄

 余談でございましたm(_ _)m
この度はご親切に誠にありがとうございました!!m(_ _)mm(_ _)m

お礼日時:2014/01/23 23:06

「マクロの記録」は試しましたか?

    • good
    • 0
この回答へのお礼

 bin-chan様

 はい、別ファイルで開いてしまいますのと、
かつマクロ内にも何も記録されませんでした。

 ご親切にどうもありがとうございました!!m(_ _)m

お礼日時:2014/01/23 22:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!