[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カンマ区切りの集計』(SoftBank)エクセル2003・・WindowsXP
ダイアログから開くtxtファイルのコードをつなぎ合わせて 作りましたが、このコードじゃ1行目だけしかエクセルシートに取り込み変換 されないんですが・・・ なんとかなりませんでしょうか
私のやりたいこと
例えば、デスクトップ上にABCと言うフォルダの中にAAA.txtファイルが、格納されているとします。エクセルシート1上の『実行2』のボタンを押したとき、そのAAA.txtファイルをダイアログで開き同じシート1のセルAを書き出しの最初とし、txtを転記したいのです。 ド素人以下なので質問の意味不明な点はよろしくお願いします。
Private Sub 実行2_Click()
タイトル = "ブックを選択してから、[開く]ボタンをクリックしてください。"
フィルタ1b = "*.txt"
With Application.FileDialog(msoFileDialogOpen)
.Title = タイトル
.InitialFileName = ファイルの場所 '※1
.Filters.Clear 'フィルタをクリア
.Filters.Add フィルタ1a, フィルタ1b 'フィルタを設定
.AllowMultiSelect = False '複数選択不可
.Show '表示する
If .SelectedItems.Count > 0 Then '選択されたアイテム数が1以上なら
.Execute 'ファイルを開く
Else
MsgBox "[キャンセル]または[×]ボタンがクリックされました。", , "メッセ-ジ"
End If
End With
MsgBox "集計を開始します。"
Application.DisplayAlerts = False
ChDrive myDir 'カレントドライブ変更
ChDir myDir 'カレントフォルダ変更
&MyName = Dir(myDir & "\*.txt") '最初のフォルダ名を返
i = 0
Do While MyName <> "" 'ループを開始します。
Open MyName For Input As #1
'テキストファイルをOPEN
Do While Not EOF(1) '終端をEOF関数で取得
Line Input #1, myStr '変数myStrに1行のデータ格納
keyRng.Offset(i).Value = myStr 'セル上に転記
i = i + 1
Loop
Close #1 'テキストファイルをClose
MyName = Dir
Loop
End Sub
読み込みたいファイルは AAA.txt なのでしょうか? それともABC フォルダの下にある txt の拡張子のファイルなのでしょうか。
説明とコードと食い違っているように見えます (Mook)
こちらで解決したようです。
http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+201107/11070011.txt
(バカロレア)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.