goo blog サービス終了のお知らせ 

へたれ社内VBAプログラマー実験室

物忘れ防止に無秩序に探したコード、書いてみたコードをおもにAccess中心に貼り付けてます。利用は自己責任でよろ。

【Excel】【VBA】ファイルサイズをエクスプローラーと一緒の数値にしたい。

2016年02月26日 16時24分21秒 | Weblog
[環境]OS:Windows 8.1/Excel 2013
[キーワード]Excel/VBA/ファイルサイズ/エクスプローラー/バイト/キロバイト/B/KB/変換/Round

sFile_Size = FileLen(sFileNamePath)でファイルサイズを測ると、基本、Byte表示になります。
でも、エクスプローラーの表示って、サイズ表示ってKBですよね。

よくある回答として、1024で割っていくという説明がありますが、これだと、
ずれるんです。微妙に。OKなやつもあれば、NGのやつもある。

Excelで実験です。

sKBFSize = Format(Application.WorksheetFunction.RoundUp((sFile_Size / 1024), 0), "###,##0 KB")

皆さんの環境では如何でしょうか。
自分とこのあるフォルダでは一致しました。

Excel VBAでRoundUp出来ないのはビビりました。え、何か間違えましたかみたいな。
Application.WorksheetFunction.RoundUpでOKのようです。
Roundは行けるのにね・・・・。
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 【Access】【VBA】テーブルの... | トップ | 【Excel】【VBA】ファイル・... »
最新の画像もっと見る

Weblog」カテゴリの最新記事