여기에 Mr Tim Williams에 대한 절차가 제공되어 실제로 우리가 원하는 것의 Immediate window
에 인쇄합니다. 나는 original copy에서 일부 미니 수정을했고 나는 그들에게 MODIFICATION
옆에 주석 단어가VBA 프로시 저는 선언하고 재사용 할 다양한 문자열 변수를 출력합니다.
Sub MAGAZINE()
Dim IE As InternetExplorer ' MODIFICATION
Dim els, el, colDocLinks As New Collection
Dim lnk
Dim Ticker As String ' MODIFICATION
Set IE = New InternetExplorer 'MODIFICATION
IE.Visible = True
Ticker = Worksheets("Sheet1").Range("A1").Value 'MODIFICATION
loadpage IE, "https://www.sec.gov/cgi-bin/browse-edgar?" & _
"action=getcompany&CIK=" & Ticker & "&type=10-Q" & _ 'MODIFICATION by putting the Ticker String Variable and then Concatenate accordingly
"&dateb=&owner=exclude&count=20"
Set els = IE.Document.getelementsbytagname("a")
For Each el In els
If Trim(el.innertext) = "Documents" Then
colDocLinks.Add el.href
End If
Next el
For Each lnk In colDocLinks
loadpage IE, CStr(lnk)
For Each el In IE.Document.getelementsbytagname("a")
If el.href Like "*[0-9].xml" Then 'MODIFICATION
Debug.Print el.innertext, el.href
End If
Next el
Next lnk
End Sub
Sub loadpage(IE As Object, url As String)
IE.Navigate url
Do While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
End Sub
당신은 사람이 단순히 셀 A1에 주식 시세를 입력하고 해고 할 수있는 네 번째 수정/추가 알 수
코드
Ticker = Worksheets("Sheet1").Range("A1").Value 'MODIFICATION
이제 것은 우리가 다른 주식 시세 표시기를 넣어 경우 우리가 직접 실행 창에 인쇄 라인의 수를 다른 수 있다는 것입니다. A1 셀의 시세 CRR을 입력하여 예를 들어
우리가 얻을 11 개 결과 이제 우리는 우리가 14 개 결과
을 얻을 A1 셀의 시세 MSFT를 입력하면이제 문제의 핵심은이 문자열 값을 RIFLE macro
에 삽입해야하고 모든 루프 반복에서 값을 얻을 수는 있지만 문자열 변수 내 마음 속에서 원숭이 렌치를 던지는 이유는 MAGAZINE macro
이 논리적 인 것입니다. 에는 직접 실행 창에 정확한 행 수가 인쇄되어 있지 않습니다. MAGAZINE macro
말 6 개 라인의 결과가있는 경우 당신은 어떻게 그것이 가능하다 ... 앞의 두 사진에서 실제로
을 것을 볼 수 있습니다; 이것들은 6 개의 문자열 변수에 할당되고 30 개의 문자열 변수를 갖지 않기 때문에 항상 메모리에 혼란을 가져 왔고 그 결과가 14 개의 라인 인 경우; 이것들은 14 개의 문자열 변수에 할당됩니다.
소총이 항상 올바른 라운드 수를로드 할 수 있도록 어떻게 실행 시간을 조정할 수 있습니까?
나는 거기서 멈추지 않을 것이기 때문에; 그럼 난 RIFLE macro
user2140261 제공하고 다음과 같이 이러한 문자열 변수를 연결하는 계획을 가지고 ...
Sub RIFLE()
Dim strXMLSite As String
Dim objXMLHTTP As MSXML2.XMLHTTP
Dim objXMLDoc As MSXML2.DOMDocument
Dim objXMLNodexbrl As MSXML2.IXMLDOMNode
Dim objXMLNodeDIIRSP As MSXML2.IXMLDOMNode
Set objXMLHTTP = New MSXML2.XMLHTTP
Set objXMLDoc = New MSXML2.DOMDocument
strXMLSite = "http://www.sec.gov/Archives/edgar/data/10795/000119312513456802/bdx-20130930.xml"
objXMLHTTP.Open "POST", strXMLSite, False
objXMLHTTP.send
objXMLDoc.LoadXML (objXMLHTTP.responseText)
Set objXMLNodexbrl = objXMLDoc.SelectSingleNode("xbrl")
Set objXMLNodeDIIRSP = objXMLNodexbrl.SelectSingleNode("us-gaap:DebtInstrumentInterestRateStatedPercentage")
Worksheets("Sheet1").Range("A1").Value = objXMLNodeDIIRSP.Text
End Sub
당신은 소총 문자열 변수에 MAGAZINE 매크로 나오는 문자열 값의 변동 수를 연결 할 수 있다면 조산사가 전체 문제를 일으키는 매크로.
여기 RIFLE 매크로는 원래 형식 인 strXMLSite
문자열 Variabe을 사용합니다.
UPDATE 나는 현재 배열로로드하려고 노력하고 언로드 ...
이름 : Jeez! 감사!!!! 일단 우리가 그것을 공부하면 다시 얻을 것입니다 – ExoticBirdsMerchant
이것은 사용자 정의를위한 주요 재료입니다! 나에게 너무 앞서 있기 때문에 소화하기까지 어느 정도 시간이 걸릴 것이다. 그러나 나는 그것이 어떻게 작동하고 진술인지 이해한다.그것은 작동합니다! 이 절차는 엉덩이를 걷어차! – ExoticBirdsMerchant
자, 자정이 지나서 여기 좋았어. – ExoticBirdsMerchant