2013年10月12日

エクセル(excel)VBAでフォルダー内のファイル名一覧自動作成

早速ですが本題に
エクセルVBAでフォルダー内にあるファイル名一覧を自動取得してみたいと思います。


ここからソース
-*-*-*-*-*-*-*--*-*-*-*-*-*-**-*-*-*-*-*-*-*-*-*-*-*-*-*-**--*-*-*-*-*-*-*-*-*-*
Sub ファイル名一覧()
  '変数作成
  Dim Shell, フォルダパス
  'フォルダ選択ダイアログ表示
  Set Shell = CreateObject("Shell.Application")
  Set フォルダパス = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\")
  'ダイアログで選択した取得フォルダのパスをB1セルに書き込み
  Cells(1, 2).Value = フォルダパス.items.Item.Path
  'ファイル名取得
  ファイル名 = Dir(フォルダパス.items.Item.Path & "\*.*")
  'ファイル名書き込み開始位置指定
  行番号 = 4
        'ファイル名取得ループ
        Do While ファイル名 <> ""
        'ファイル名取得
            Cells(行番号, 1).Value = ファイル名
        'ファイルサイズ取得
            Cells(行番号, 2).Value = FileLen(フォルダパス.items.Item.Path & "\" & ファイル名)
        'ファイル更新日取得
            Cells(行番号, 3).Value = FileDateTime(フォルダパス.items.Item.Path & "\" & ファイル名)
        '次の行に書き込み準備
            行番号 = 行番号 + 1
        '次のファイル名再取得
            ファイル名 = Dir()
        '条件が一致するまでDo whileに戻る
        Loop
  ' セルの幅自動調整
    Cells.Select
    Cells.EntireColumn.AutoFit
    Cells(1, 1).Select
End Sub
-*-*-*-*-*-*-*--*-*-*-*-*-*-**-*-*-*-*-*-*-*-*-*-*-*-*-*-**--*-*-*-*-*-*-*-*-*-*

元ネタは日経PCなのですが、ひと手間加えて
ダイアログでフォルダを選択できるように改造しましたわーい(嬉しい顔)
posted by mako at 14:11| Comment(1) | excelエクセル | このブログの読者になる | 更新情報をチェックする

2013年10月11日

値のみをコピーするVBA

今回は値のみのコピーをショートカットを組み込んで楽チンにできるようにしてみます。

まずはソースコード


Sub 値のみコピー()
'エラー処理ルーチンを有効にする
 On Error GoTo Err_コマンド0_Click
'正常終了処理
Exit_コマンド0_Click:
'値のみコピーを実行
    Selection.PasteSpecial Paste:=xlPasteValues
Exit Sub
'エラー処理ルーチン

Err_コマンド0_Click:
    MsgBox ("コピー元が選択されていません")
End Sub

あとは、マクロをショートカットキー登録で


オプションをクリックして







好きなショートカットに登録
私はCTRL+Vが通常の貼り付けなのでその流れで
SHIFT+CTRL+Vに設定しました。手(チョキ)
posted by mako at 21:24| Comment(0) | excelエクセル | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。