2016-09-26 1 views
0

にファイルのサイズを取得:例えばエクセル

Cell A       | Cell B 
================================== 
http://m---.com/myfile.txt  | 4kbs 
-------------------------------------------- 
http://m---.com/myfile.txt  | 10kbs 
-------------------------------------------- 
http://m---.com/myfile.doc  | 104kbs 
---------------------------------------------- 
http://m---.com/myfile.jpg  | 102kbs 

私はセルAにURLリストを持っていると私はセルB

でファイルサイズを持つようにしたい私は、このためのVBAコードを試してみましたが、その働いていない。一つのことは、私はちょうどインターネットからこのコードを得て、私のものではないが、それは私を助けてくれなかった。ここにコードは

print file path Cells(i + 1, 1) = objFile.Path 'print size Cells(i + 1, 2) = objFile.Size 

Excelの特定のURLにファイルサイズを取得することはできますか?上記の例を確認し、私は列Bに

+0

あなたは ')(' FileLenを試みたことがありますか?これは、 "..私はネット上でこれを見つけたおかげ@Tyeler感謝 – Tyeler

+0

感謝をバイト単位でファイルサイズを返し、ない私はこのことについて多くを知らない...私はグーグルで検索してみましょうし、何かを得たかどうかを知るようになるはずです例: Dim LResult As Long LResult = FileLen( "C:\ instructions.doc") "しかし、私はCell Aに多くのURLを持っているので、私にとってはうまくいかないと思います。 FileLen(ファイルパス)にこのような多くのデータを1つずつ入れることはできません。セルAから値を取得し、セルBに結果(ファイルサイズ)を与える式またはコードがあれば幸いです。 –

+0

を...提案のための –

答えて

1

の列A内のURLを持っており、ファイルサイズを取得したいこれは私が作ったコメントのための私の更なる説明です:

Function URLFileSize(urlLink As String) As String 
    Dim xmlObj As Object 
    Set xmlObj = CreateObject("MSXML2.XMLHTTP") 

    xmlObj.Open "HEAD", urlLink, False 
    xmlObj.Send 
    If xmlObj.Status = 200 Then 
     URLFileSize = xmlObj.getResponseHeader("Content-Length") 
    Else: URLFileSize = -1 
    End If 

    Set xmlObj = Nothing 
End Function 

でこの機能を使用するにはセルB2のセルは=URLFileSize(A2)となり、セルB2のバイトが表示されます。 VBAで使用する

は、他の関数のようにそれを呼び出す:RandomVariable = URLFileSize(fullUrlString)

+0

ありがとう、私はこのコードを実行する方法を教えていただけますか?もう1つは、セルAにたくさんのURLがあるので、自動的に、またはコードに1つのURLを入れてコードを実行するたびに、1つずつ自動的に選択されます。知識を共有してくれてありがとうございます –

+0

ありがとうございました –

+0

私は、私は助けてくれると嬉しかったです! – Tyeler