2
VBA에서 Excel xlsm 파일을 PHP 스크립트에 업로드하고 싶습니다.VBA를 사용하여 Excel xlsm 파일을 PHP 스크립트에 업로드
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
Dim strURL As String
Dim StrFileName As String
Dim FormFields As String
Dim path As String
Dim name As String
StrFileName = "c:\temp\ctc1output.xls"
strURL = "http://www.tri-simulation.com/P3/"
WinHttpReq.Open "POST", strURL, False
' Set the header
WinHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
FormFields = """fileulp=" & StrFileName & """"
FormFields = FormFields + "&"
FormFields = FormFields + """sfpath=P3"""
WinHttpReq.Send FormFields
' Display the status code and response headers.
MsgBox WinHttpReq.GetAllResponseHeaders
MsgBox WinHttpReq.ResponseText
- 내가 바이너리 파일이나 파일의 다른 형식으로 파일을 처리해야 : 나는 다음과 같은 코드를 발견?
- 파일이 아직 열려있는 상태에서 업로드 할 수 있습니까? (VBA를 실행하는 파일을 업로드하고 싶습니다)?
나는 올바른 길을 가고 있는지 잘 모르겠습니다. 헤더와 양식 필드가 무엇인지에 대해서도 확신하지 못합니다.
도움이 필요하면 Thx.
안녕하세요, 코드에서 서버로 파일 이름 만 보내고 있습니다. 어떻게 든 파일을 바이너리로 변환하고 POST 메시지에 포함시켜야합니다. – Larry
안녕하세요, 파일을 이진 파일로 업로드해야 볼 수 있습니다. 나는 [여기] (http://wqweto.wordpress.com/2011/07/12/vb6-using-wininet-to-post-binary-file/)의 코드를 사용하고있다. 그것은 또한 사본을 만들 필요가없는 것 같습니다. 이제 내 문제는 게시물과 함께 텍스트를 보내야한다는 것입니다. 그것은 별도의 요청이 될 것인가? 아니면 어떻게 든 첫 번째 질문에 포함시킬 수 있습니까? 미안하지만 중복 된 것처럼 보이지만이 주제에 대한 첫회입니다. – Albertus
POST 요청을 어셈블하는 브라우저를 시뮬레이트해야하고 파일을 base64 인코딩해야합니다.하지만 약간 지루합니다. 또 다른 옵션은 [curl] (http://curl.haxx.se/)을 실행하여 파일 이름과 업로드 양식 매개 변수 만 필요합니다 (컬 실행 파일은 vba에서 실행할 수 있음). – collapsar