
EXCEL VBA初心者です。
「Excelでファイル階層表作成」(http://www.vector.co.jp/soft/winnt/util/se499921 …)というフリーソフトで指定フォルダの階層を取得していていましたが、さらに最終更新日時の行も作成したいです。
色々試してはみたのですが、エラーばかりで…。
申し訳ございませんが、お知恵をお貸し頂けたらと思います。
会社で使用したく、セキュリティ上レジストリに書き込んだりするexeのインストールはできず、なんとかこのEXCELに追加したいのです。
できましたら、サイズを表示する列の右隣に表示させたいです。
コードを記載したいのですが、文字数とそもそも記載して良いのか不明のため、大変申し訳ございませんが、教えて頂けたらと思います。
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
以下の5か所に追加・変更してみてください。
「**追加**」とコメントしてある部分です。
'---- 結果表の列位置
Private Enum ColumnPosEnum
ObjectName = 0 '名称(フォルダまたはファイルの)
FullPath = 1 'フルパス
ObjectTypeName = 2 '形式(フォルダ/ファイル)
TotalSize = 3 'サイズ (フォルダは内容のサイズ)
'
LastModified = 4 ' **追加**(以降の数字を+1すること)
'
CountOfFolder = 5 '下位フォルダ(サブフォルダ含む)の個数。
CountOfFile = 6 '下位ファイル(サブフォルダ内を含む)の個数。
HierarchyLevel = 7 '開始フォルダを0とした階層レベル
HierarchyInfo = 8 '階層形式の表示
End Enum
-----
'列見出し
csListBaseCell.Offset(-1, ColumnPosEnum.ObjectName).Value = "名称"
csListBaseCell.Offset(-1, ColumnPosEnum.FullPath).Value = "フルパス"
csListBaseCell.Offset(-1, ColumnPosEnum.ObjectTypeName).Value = "形式"
csListBaseCell.Offset(-1, ColumnPosEnum.TotalSize).Value = "サイズ"
'
csListBaseCell.Offset(-1, ColumnPosEnum.LastModified).Value = "最終更新日時" ' **追加**
'
csListBaseCell.Offset(-1, ColumnPosEnum.CountOfFolder).Value = "フォルダ数"
csListBaseCell.Offset(-1, ColumnPosEnum.CountOfFile).Value = "ファイル数"
csListBaseCell.Offset(-1, ColumnPosEnum.HierarchyLevel).Value = "階層番号"
-----
'(*) ファイルのとき、個数欄は空のセルにする
'(*) フォルダのとき、全個数集計時 … 後で集計値を上書きするので仮に0をセルに記入
'(*) フォルダのとき、直下個数のみ表示 … 直下個数を表示、サイズは省略
Select Case pObjectTypeName
Case csObjectTypeName_Folder
Set wDir = pObject
If mIsFullScan Then
csListBaseCell.Offset(Y, ColumnPosEnum.TotalSize).Value = 0
csListBaseCell.Offset(Y, ColumnPosEnum.CountOfFolder).Value = 0
csListBaseCell.Offset(Y, ColumnPosEnum.CountOfFile).Value = 0
'
csListBaseCell.Offset(Y, ColumnPosEnum.LastModified).Value = 0 ' **追加**
'
Else
csListBaseCell.Offset(Y, ColumnPosEnum.TotalSize).Value = ""
csListBaseCell.Offset(Y, ColumnPosEnum.CountOfFolder).Value = wDir.SubFolders.Count
csListBaseCell.Offset(Y, ColumnPosEnum.CountOfFile).Value = wDir.Files.Count
'
csListBaseCell.Offset(Y, ColumnPosEnum.LastModified).Value = wDir.DateLastModified ' **追加**
'
End If
Case csObjectTypeName_File
Set wFile = pObject
csListBaseCell.Offset(Y, ColumnPosEnum.TotalSize).Value = wFile.Size
'
csListBaseCell.Offset(Y, ColumnPosEnum.LastModified).Value = wFile.DateLastModified' **追加**
'
csListBaseCell.Offset(Y, ColumnPosEnum.CountOfFolder).Value = ""
csListBaseCell.Offset(Y, ColumnPosEnum.CountOfFile).Value = ""
End Select
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デスクトップの画像をhtmlに表...
-
ThisWorkbookがあるフォルダ更...
-
Windows10でコマンドプロンプト...
-
Excelのハイパーリンクについて...
-
tortoiseSVNのリビジョンを戻し...
-
VB6でCSVファイルにパスワード...
-
ファイル名と同名のフォルダを...
-
EXPLORERで開いているフォルダ...
-
SHBrowseforfolderについて質問...
-
exclude xcopy 除外フォルダ指...
-
多量のファイルをフォルダに自...
-
最下層のファイルを一緒の階層...
-
フォルダにリンクを貼りたい
-
VBでフォルダをパスワードでロ...
-
VBScriptでのフォルダ指定ダイ...
-
AIX findコマンド
-
exeと同じ階層にフォルダを配置...
-
会社のネットワーク上のファイ...
-
API関数(DLL)の呼び出しにお...
-
30日前を残して過去の日付フォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
ExcelのVBAでフォルダ指定がで...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
パス名に2バイト文字(マルチバ...
-
【コマンドプロンプト】名前順...
-
【ExcelVBA】一覧表の記載に従...
-
サーバ内のフォルダ名と各フォ...
-
Wallpaper Engineでおすすめの...
-
ファイルとフォルダのどちらも...
-
Debug フォルダは消していいの?
-
Excelで指定したフォルダに保存...
-
VBプロジェクトでのフォルダ構...
-
GetAttrが原因?
-
Hitachi Embedded Workshop (HE...
おすすめ情報