[[20151007221944]] 『フォルダ内のファイル一覧の取得編集方法』(うさぎ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォルダ内のファイル一覧の取得編集方法』(うさぎ)

 大量のデーターを管理するためにどうしても、下記のように変更できましたら大変助かります。わかりましたら教えてくださいよろしくお願いします。

 こちらのサイトから大変良いものを頂いたのですが、 
 http://www.asahi-net.or.jp/~ef2o-inue/download/sub09_010.html

ページの下の方の例で例えますと。

出力結果が

     [A]  [B]         [C]        [D]
 [1] NO  フォルダ名
 [2]      NO       フォルダ名 
 [3]               NO         ファイル名/更新日時/サイズ ★←ここリンク付き

になっています。
しかし欲しい結果は

     [A]  [B]         [C]        [D]            [E]
 [1] NO  フォルダ名
 [2]      NO       フォルダ名  ★←ここリンク付けたい
 [3]               NO         ファイル名    作成日時

に変更したいのです。

なぜなら、ファイルは全てZIPとか圧縮されていて、リンクつけても意味がないので、
フォルダーにリンクを付けたいのです。

作成日時を別のセルにしたいのは。
ソートして、古いやつを整理したいときに、あると結構時間短縮できそうなので、可能ならセルと別に。。。

変更することは可能でしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 リンク先は見てないのですが、

 CreateObject("Scripting.FileSystemObject").GetParentFolderName(ファイルのフルパス)

 でファイルのフルパスからフォルダのパスを取得できます。

 参考HPです。
https://msdn.microsoft.com/ja-jp/library/cc428026.aspx

 他にはInstrRev関数でファイルのフルパスから「\」の位置を取得し、ファイル
 のフルパスから「¥」の位置の一つ前を切り出したらフォルダのパスになります。
(カリーニン) 2015/10/07(水) 22:59

SHOW_LIST()プロシージャの中に
  ' フォルダ名をセット
    .Cells(GYO2, COL1).Value = Mid$(g_tblFILE(COL1, IDX).FILENAME, 2)
    .Cells(GYO2, COL1).Font.ColorIndex = intColor
という箇所があるので、その次に
   .Hyperlinks.Add .Cells(GYO2, COL1), strPathName & Mid$(g_tblFILE(COL1, IDX).FILENAME, 2)      
を挿入すれば、フォルダにリンクが張れるのではないかと思う。

また、もし、各ファイルのリンクをやめるには、
Hyperlinksを使っているところを見つけて、そこをコメントにすればよい。

(γ) 2015/10/08(木) 00:32


あ、作成年月の話を読み飛ばしてました。
FSOのFileオブジェクトのDateCreatedプロパティで取得できます。
修正はトライしてみてください。

(γ) 2015/10/08(木) 07:04


(カリーニン)さん
(γ)さん 

ご教授ありがとうございます。
すみません、とりあえずご指摘の箇所の一行★のところに入れてみましたが。
あってますか?

ただ、欲しい結果にはならなかったんですがどうしてでしょうか?

もしかして、私が欲しい結果では、簡単に編集できるものではないのでしょうか?

お手数ですが再度。ご教授願います。

'-----------------------------------<< End of Source >>-----------------------------------
(うさぎ) 2015/10/08(木) 20:38


私のところでは、フォルダ部分にリンクが張られています。

> ただ、欲しい結果にはならなかったんですがどうしてでしょうか?
> もしかして、私が欲しい結果では、簡単に編集できるものではないのでしょうか?
とのことですが、
あなたの画面はこちらからは見えないので説明してください。
・欲しい結果が何で、
・実際はどうなっているのでしょうか。

(γ) 2015/10/08(木) 21:00


(γ) 様
すみません。このファイルいつもと違うみたいで
上書きができないのです。。。。。。
名前を付けて保存するたびにどこか行ってしまいます。

よって、直している部分がホントに実行できるなのかがよくわからないです。

上書きできるように設定できませんか?

内容ではなく、あほな質問ですみません (*゚Å゚;*)

要約編集したファイルを見つけることができました。
教えていただいたとおりに追加したところファイルに無事リンクを貼れました
ありがとうございます & お騒がせてすみません。

(うさぎ) 2015/10/08(木) 21:16


更新年月を作成年月に変更するのは容易です。
すでに方法は書きました。

隣のセルに分けて書くというのは難しいでしょう。
というのは、枠線を表示して頂くとわかりますが、
レイアウトが難しいと思います。
今の形式で我慢するか、全く別の方式で作るかですね。
頑張ってください。

(γ) 2015/10/08(木) 22:07


(γ)様

>更新年月を作成年月に変更するのは容易です。
 ありがとうございます。

>隣のセルに分けて書くというのは難しいでしょう。
 はい。枝分かれの処理があるので、チョッとわかりづらいです(TT)

なので、出力後関数で日付のみ取り出すこと可能でしょうか?
多分これが一番簡単のように感じます

何度もすみません。
(うさぎ) 2015/10/08(木) 22:23


> >隣のセルに分けて書くというのは難しいでしょう。
>  はい。枝分かれの処理があるので、チョッとわかりづらいです(TT)
ファイル名の長さが可変で、
ルートからの深さによって、書き込まれる列も変わってくるので、
みやすいレイアウトにするのが難しいという話です。

>なので、出力後関数で日付のみ取り出すこと可能でしょうか?
>多分これが一番簡単のように感じます
可能でしょうね。トライしてみてください。
(最終列から左にジャンプした先のセル文字列を取り出し、
 その右端(Rightで取得可能)の定数個の文字列を取り出すだけですね。)

かなり右の固定の列に作成年月を書き込んでも良いかも知れません。
ただし、その後の処理で、行のコピーとかをやっているので、
それに対応しないといけません。

また、単にハイパーリンクを張るだけだと、そのコピー処理のなかで
アンダーライン属性が別のセルに影響を及ぼすので、手当が必要。
ハイパーリンクセルのアンダーライン属性をクリアーすればいいのかな。

日中はアクセスできませんし、週末くらいしか時間が採れないので、
他の方の回答に期待しましょう。

(γ) 2015/10/09(金) 07:36


(γ) 様

ありがとうございます。
やってみます。

またわからないことありましたら。よろしくお願いします。
(うさぎ) 2015/10/09(金) 11:38


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.