アプリ版:「スタンプのみでお礼する」機能のリリースについて

フォルダA
  ファイル1
     氏名:太郎
     番号:3210
  ファイル2
     氏名:次郎
     番号:3211
  ファイル3
     氏名:三郎
     番号:3212

ファイルS
  読込ボタン 
     氏名:     番号:

1.ファイルSの読込ボタンを押す

2.フォルダA内のファイル1の氏名、番号を読込む

3.読込んだ氏名、番号をファイルSに1行のレコードとして書き込む

4.そのままファイル2の氏名、番号を読込みファイルSの3.で書き込んだレコードの下(2行目)に書き込む

5.ファイル3を読込んで、同様の処理を行う。

6.フォルダ内のレコードを全て読み込み、ファイルSに書き込んだら終了



説明が下手ですいません。
要は、ボタン一つでフォルダ内のすべてのファイルの氏名、番号項目を読み込んで別ファイルにレコード化する処理を行いたいのです。
VBAで上記の処理を行いたいのですが、構文が書けずにに悩んでいます。
VBAの勉強を始めたのが4日前で、それ以前に開発の経験はありません。
参考書などを読んでも、参考になる構文が載っておらず、いま一つわかりません。
どなたか、構文を教えて頂けると助かります。
宜しくお願い致します。

A 回答 (4件)

前回載せたのは指定したフォルダ内のファイルを取得するという今回の質問の一番大変だろうと思われる部分であってそれをそのまま利用して出来るものではありません。


文中にも「参考になりそうなサイト」と書いたはずですが・・・

前回載せたサイトのコードが理解できるのであれば、どの時点でフォルダ内のファイルが取得できるかわかると思います。
その場所でWorkBookをOpenしてあげれば、シート内の操作ができるはずです。
http://officetanaka.net/excel/vba/file/index.htm
http://home.att.ne.jp/zeta/gen/excel/c04p24.htm

これもGoogleで「Excel ファイル操作」と検索すれば出てきます。

参考に出されたものはあくまで参考です。
答えではありません。
お礼に載せて頂いたコードはサイト内を抜き出したものですよね。
VBAはデバッグできるのですから、ヘルプやインターネットで調べる癖をつけないと今後苦労すると思いますよ。
    • good
    • 0

ネットで検索してみましたか?



Googleで「VBA Excel フォルダ内」と検索すれば一番上に参考になりそうなサイトが出てきますよ。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …

参考資料は基本的なこと、一般的に使われそうなことしか書かれていません。
※たまにマニアックなことも書いてありますが。

調べるのであればインターネットを使いましょう。
便利なのですから・・・
    • good
    • 0
この回答へのお礼

参考サイトありがとうございます。
現在、下記のDir関数を用いたフォルダ内ファイルの一覧取得を参考に考えているのですが、ファイルの一覧をレコード化するのではなく
更にファイルの中の項目を参照し、レコード化したいのですが、その方法で悩んでいます。
もしよろしければ力をお貸し下さい。


Option Explicit

' 指定したフォルダ内のファイルの一覧を取得
Sub Display_Directory()
Const cnsTITLE = "フォルダ内のファイル名一覧取得"
Const cnsDIR = "\*.*"
Dim xlAPP As Application
Dim strPATHNAME As String
Dim strFILENAME As String
Dim GYO As Long

Set xlAPP = Application
' InputBoxでフォルダ指定を受ける
strPATHNAME = xlAPP.InputBox("参照するフォルダ名を入力して下さい。", _
cnsTITLE, "C:\") ' (1)
If StrConv(strPATHNAME, vbUpperCase) = "FALSE" Then Exit Sub
' フォルダの存在確認
If Dir(strPATHNAME, vbDirectory) = "" Then ' (2)
MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTITLE
Exit Sub
End If

' 先頭のファイル名の取得
strFILENAME = Dir(strPATHNAME & cnsDIR, vbNormal) ' (3)
' ファイルが見つからなくなるまで繰り返す
Do While strFILENAME <> "" ' (4)
' 行を加算
GYO = GYO + 1 ' 先頭は1行目
Cells(GYO, 1).Value = strFILENAME ' (5)
' 次のファイル名を取得
strFILENAME = Dir() ' (6)
Loop

End Sub

お礼日時:2009/08/18 14:32

ファイルの種類も質問で書いてなくて、どうした。

ブックとかけば判るが。
エクセルだろうね。エクセルVBAでよいのだね。
フォルダ1のファイルには、エクセルブック以外ないのか。
フォルダ1のブックのシートの項目構成は皆同じか。
ーーー
これなど丸投げの質問ではないか。規約上遠慮していただくタイプ。
コードを回答者に全的に頼むのは困る。
この累計の質問はこのコーナーでも月に2三度は出る質問。
Googleで「フォルダ ファイル 一覧」などで照会すれば、たくさんコード例が出る。
ーー
まづフォルダ内のファイルを全て掴む(ファイル名をMsgboxで表示
、(できればエクセル以外は排除)のコードがどうなるか勉強から始めるのがよかろう。
大きく分けて
FSOを使う
Dir関数を使う
その他、がある。初心者ならDir関数利用かな。
それを自分の場合にどう修正したらよいか考えて、行きづまった点があればその点を質問すべきだ。
あとブックが捉えられた、そのシートを検索するコードの勉強になるが、検索操作をして、マクロの記録を取り、コードをどう修正したらよいか勉強する。
    • good
    • 0
この回答へのお礼

様々な指摘ありがとうございます。
そうですよね、説明不足の部分が多々あり、申し訳ありあませんでした。
今後、このような質問にならないように気をつけます。

また検索の仕方や、勉強方法のアドバイス。
ありがとうございます。

Dir関数利用の方を使って考えてみます。
またわからなくなった時は、力を貸して頂けると助かります。

お礼日時:2009/08/18 14:26

”ファイル”とは何を差してますか?


Excelブック?テキストファイル?その他?

アプリケーションは?
Access・Excel・Word・etc
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。
説明不足ですいません。

ファイル”とは何を差してますか?
Excelブックです。

アプリケーションは?
Excelです。

お礼日時:2009/08/18 10:15

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