2015-07-11 50 views
0

我想將字節[]從excel vba傳遞到Web服務。如何將字節[]從Excel vba傳遞到Web服務

下面是將文件轉換爲byte []的代碼。

Dim bytFile() As Byte 
bytFile = GetFileBytes("C:\test.doc") 

以下代碼用於調用webservice。 bytFile是我的參數

Dim XMLHttp As Object: Set XMLHttp = CreateObject("Microsoft.XMLHTTP") 
XMLHttp.Open "POST", Service + "/PassExcelData", False 
XMLHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
XMLHttp.send "filebyte=" & bytFile 

但我無法將它傳遞給webservice。我在最後一行發生錯誤。所以我只是想這可能嗎?如果沒有,我可以實現這個目標的方式?

我也曾嘗試下面的代碼

Function FileToStr(ByVal strFile As String) As String 
Dim hFile As Long 
hFile = FreeFile 
Open strFile For Input As #hFile 
FileToStr = Input$(LOF(hFile), hFile) 
Close #hFile 
End Function 

,並把它稱爲是:

XMLHttp.send "filebyte=" & FileToStr(file path). 

,但它返回下面的錯誤:

enter image description here

回答

0

您不能追加一個帶有&運算符的字節數組。獲得使用 使用此功能的文件的文本

Function FileToStr(ByVal strFile As String) As String 
    Dim hFile As Long 
    hFile = FreeFile 
    Open strFile For Input As #hFile 
    FileToStr = Input$(LOF(hFile), hFile) 
    Close #hFile 
End Function 

,然後做 XMLHttp.send「filebyte =」 & FILETOSTR(「路徑文件」)

您可以註釋掉GetFileBytes線

+0

讓我試試看,我會讓你知道結果 – User5590

+0

請看我編輯的問題 – User5590

相關問題