- 帖子
- 161
- 主題
- 26
- 精華
- 0
- 積分
- 187
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- office 2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2011-1-2
- 最後登錄
- 2022-2-16
|
9#
發表於 2014-9-22 18:34
| 只看該作者
請問 大大
這網頁有個換行
我多加了
varVar = Replace(varVar, Chr(10), " ") '取代換行為空格
文字檔內還有1 個黑格
請問大大是那裡有錯
謝謝- Sub Test()
- GetDividend ("2002")
- '取得網頁表格格式化為文字表格
- End Sub
- Private Sub GetDividend(ByVal ss As String) '取股利網頁
- Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
- Dim hh As String, T As Date, i, ii, S As Object
- Dim filename As String, varVar As String
- T = Time
- ' hh = "http://dj.mybank.com.tw/z/zc/zcc/zcc_" & ss & ".asp.htm"
- hh = "http://yamstock.megatime.com.tw/asp/stockinfo/GetReport.asp?select_table=html\Finain_Full\&stockid=" & ss & "&name1=D5&index1=5"
- With ie
- .Navigate hh
- Do While .readyState <> 4 '等待網頁下載完畢
- DoEvents
- If Time >= T + #12:00:03 AM# Then '等待8秒 3秒太少會誤錯改8妙
- DoEvents
- Application.SendKeys "~" '股票代號錯誤,網頁會有訊息,須按確定,才可繼續下面股票代號
- Exit Do
- End If
- Loop
- ''***不是等待8秒 3秒太少會誤錯改8妙 ***
- Do
- Set S = .Document.getElementsByTagName("table")(4) '
- Loop Until Not S Is Nothing
- '*** 勝一 沒捉到 ????
- '*** 因程式運行太快 , S Is Nothing, S 尚未指定為.Document.getElementsByTagName("table")(4)
- '*** 程式已經執行下一行, With 工作表2 的程式碼
- filename = ss & "_" & Format(Now(), "yyyymmddhhmmss") & ".txt"
- Open filename For Output As #1
- For i = 0 To S.Rows.Length - 1 '寫入資料
- varVar = ""
- For ii = 0 To S.Rows(i).Cells.Length - 1 ' S.Rows(i).Cells.Length - 1 才是正確
- varVar = varVar & Left(S.Rows(i).Cells(ii).innerText & Space(14), 14 - (LenB(StrConv(S.Rows(i).Cells(ii).innerText, vbFromUnicode)) - Len(S.Rows(i).Cells(ii).innerText)))
- 'http://forum.twbts.com/thread-31-1-1.html Len / LenB - 字串長度判斷方式的探討
- varVar = Replace(varVar, Chr(10), " ")
- DoEvents
- Next
- Print #1, varVar
- Next
- Close #1
- ' MsgBox ("存檔成功! ")
- End With
- End Sub
複製代碼 |
|