상사가 Mantis 버그 데이터베이스를 Excel로 내보내달라고 요청했지만 SQL Server에 대한 액세스 권한을 부여 할 수 없어 프로세스가 자동화되어야합니다."WinHttp.WinHttpRequest.5.1"을 통한 Mantis BT 수출 요청
사용할 수있는 것은 Excel (ODBC 없음, 수동 내보내기 없음)뿐입니다.
그래서 내가이 일을 관리 :Dim webClient As Object
Dim i As Long, vFF As Long, oResp() As Byte
Dim vLocalFile As String
Dim username As String, password As String
username = "blahblah"
password = "blahblah"
Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1")
// Opening the connection to the application with a POST, containing user, password, and "permanent login" checked
webClient.Open "POST", "http://10.202.157.40/mantisbt-1.1.6/login.php", False
webClient.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
webClient.send ("username=" & username & "&password=" & password & "&perm_login=on")
// Now I set the "project" to "All Projects" (as I want the view to display our 2200 bugs)
webClient.Open "POST", "http://10.202.157.40/mantisbt-1.1.6/set_project.php", False
webClient.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
webClient.send ("project_id=0")
// The problem is, the last query displays 624 bugs instead of 2200, but I noticed when I click on "Advanced Filters" it successfully show the 2200 bugs (tested under a web browser AND Excel : the ResponseText shows them)
webClient.Open "GET", "http://10.202.157.40/mantisbt-1.1.6/view_all_set.php?type=6&view_type=advanced", False
webClient.send
// And NOW I can download the CSV file... (and that's where something is wrong *)
webClient.Open "GET", "http://10.202.157.40/mantisbt-1.1.6/csv_export.php", False
webClient.send
oResp = webClient.responseBody
// Creating a file and then filling it...
vFF = FreeFile
vLocalFile = "_mantis_export.csv"
If Dir(vLocalFile) <> "" Then Kill vLocalFile
Open vLocalFile For Binary As #vFF
Put #vFF, , oResp
Close #vFF
// Freeing memory
Set webClient = Nothing
(* : CF 코드) (csv_export.php) 라인 전에서,에서 responseText는 "2200 버그"를 보여, 그래서 모든 것이 마지막 쿼리까지 괜찮다고 . 이 스크립트는 브라우저를 통해 호출 할 때 호출 한 페이지와 정확히 동일하게 표시됩니다 (페이지에 2 개의 버그가있는 경우 CSV에 2 개의 버그가 있음). IE/Firefox에 표시된 2200 개의 버그로 인해 CSV는 2200 개의 버그를 제공합니다. 하지만 Excel에서는 ResponseText가 2200 개의 버그를 보여도 CSV는 624 개의 버그를 제공합니다 ... "고급 필터"페이지를 호출하지 않은 것처럼 : (
누군가가 나를 이해하고 도와 주길 바랍니다.) 사전에
감사합니다,
데이비드
나는 그 기능을 보지 못했지만 내게 수치 스럽다. 고맙습니다. 정말 도움이됩니다! –