[算表] VBA 網路爬蟲 陣列請教

看板Office作者 (毛毛)時間4年前 (2019/06/01 00:41), 編輯推噓0(009)
留言9則, 2人參與, 4年前最新討論串1/1
軟體:Excel 版本:2003 公司遇到異常回饋時,會上內部系統查詢生產紀錄來釐清問題。 查詢系統的網址是有規律性的,因無法提供檔案故舉例。 網址結構如下所示: http://google&姓名=變數1&科目=變數2&Item=項目1&Item=項目2...之類的 我可能同時搜尋3個人的2個科目會跑出 http://google&姓名=王小明&科目=國文&Item=文言文&Item=應用文&Item=六書 http://google&姓名=李大華&科目=國文&Item=文言文&Item=應用文&Item=六書 http://google&姓名=陳美麗&科目=國文&Item=文言文&Item=應用文&Item=六書 http://google&姓名=王小明&科目=地理&Item=中國&Item=台灣 http://google&姓名=李大華&科目=地理&Item=中國&Item=台灣 http://google&姓名=陳美麗&科目=地理&Item=中國&Item=台灣 我的檔案Sheet1為查詢頁面,Sheet2為參數。 Sheet2欄位為  A   B   C   D   E 1科目 項目一 項目二 項目三 項目四 2國文 文言文 應用文 六 書  3地理 中 國 台 灣 4數學 排 列 三 角 5物理 力 學 光 學 電 學 我表單可能選擇文科,姓名輸入王小明和李大華和陳美麗會跑出下列組合去爬蟲 http://google&姓名=王小明&科目=國文&Item=文言文&Item=應用文&Item=六書 http://google&姓名=李大華&科目=國文&Item=文言文&Item=應用文&Item=六書 http://google&姓名=陳美麗&科目=國文&Item=文言文&Item=應用文&Item=六書 http://google&姓名=王小明&科目=地理&Item=中國&Item=台灣 http://google&姓名=李大華&科目=地理&Item=中國&Item=台灣 http://google&姓名=陳美麗&科目=地理&Item=中國&Item=台灣 目前程式碼是用土法煉鋼迴圈共同字串 & 取得變數 & 共同字串的方式組成URL。 再丟到網路爬蟲程式碼將個別網址結果存至陣列再解析。 但是當姓名數或科目數變多時,執行速度會變得非常慢, 想請教在組成網址這段程式碼有辦法寫成陣列來組合嗎? 例如:陣列1元素是共同字串,陣列2元素是變數,再組合運算得到網址。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.168.61 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1559320899.A.029.html

06/01 08:22, 4年前 , 1F
每個科目共同字串 & 取得變數 & 共同字串這方面如是用迴圈
06/01 08:22, 1F

06/01 08:22, 4年前 , 2F
連接的話,可改以join,分隔符號" ",rtrim來去除空格,
06/01 08:22, 2F

06/01 08:22, 4年前 , 3F
replace將空格取代為"&Item="
06/01 08:22, 3F

06/01 08:22, 4年前 , 4F
join的sourcearray以儲存格的話,有需要配合工作表函數
06/01 08:22, 4F

06/01 08:22, 4年前 , 5F
transpose
06/01 08:22, 5F

06/01 08:22, 4年前 , 6F
可減少這方面的迴圈的使用
06/01 08:22, 6F

06/01 08:22, 4年前 , 7F
或是在儲存格以輔助欄公式取得,再以變數 = range
06/01 08:22, 7F

06/01 08:22, 4年前 , 8F
巢狀迴圈將姓名連接至上述陣列內,看是否可以改善
06/01 08:22, 8F

06/02 08:55, 4年前 , 9F
謝謝soyoso大,明天上班來測試看看
06/02 08:55, 9F
文章代碼(AID): #1SyLb30f (Office)