2016-09-26 48 views
0

例如:取文件的大小在Excel

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上的文件大小?檢查上面的例子,我在A列中的網址,並希望獲取在B列中的文件大小

+0

您是否嘗試過'FileLen()'?它應該返回的文件大小以字節爲單位。 – Tyeler

+0

感謝您的建議,不,我對此不太瞭解..讓我在谷歌搜索,並會讓你知道,如果有東西..謝謝 –

+0

@Tyeler謝謝我發現這個網絡「例如: Dim LResult As Long LResult = FileLen(「C:\ instructions.doc」)「但我認爲它不適用於我,因爲我在單元格A中有很多網址。並且我不能在FileLen(filepath)中逐一放入大量數據。希望他們是任何公式或代碼,將從單元格A中提取值並在單元格B中提供結果(文件大小)。 –

回答

1

這是我對我提出的意見進一步解釋:

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

謝謝,你能告訴我如何運行這個代碼,因爲在Excel VBA我認爲使用子開始和結束功能。還有一件事,因爲我在Cell A中有很多Url,所以它會自動選擇一個或每次我需要在代碼中放一個url,然後運行代碼..感謝分享您的知識 –

+0

感謝它的工作 –

+0

我'很高興我能幫忙! – Tyeler