Ich dachte, ich hätte das über das Wochenende herausgefunden, aber es funktioniert tatsächlich nicht so, wie ich dachte. Ich habe eine vertrauliche Corporate SharePoint-Website, mit der ich arbeite. Ich kann hier weder den Link noch irgendwelche spezifischen Daten posten, aber das unten stehende Konzept wird den Punkt verdeutlichen.Wie kann ich Daten von einer untergeordneten URL importieren?
Ich habe eine übergeordnete URL, von der ich Daten importieren möchte. Angenommen, dies ist die übergeordnete URL.
http://www.sharenet.co.za/v3/q_sharelookup.php
Von dort möchte ich Daten von einem bestimmten Link importieren. Sagen wir, das ist der Link: 'Gebäude & Baumaterial'
Ich denke, der beste Weg, dies zu tun ist eine Art von InStr() -Funktion und Suche nach der Zeichenfolge. Klicken Sie anschließend auf den Link und öffnen Sie die untergeordnete URL. Wenn das Kind URL öffnet, sieht es so etwas wie dieses:
Ich kann nicht sagen, was die Sektornummern vor der Zeit sein wird, so kann ich nicht eine bestimmte URL verwenden. Ich muss es als Elternteil und Kind oder vielleicht IE1 und IE2 bezeichnen. Ich möchte alle Daten von der untergeordneten URL importieren, die in diesem Beispiel so aussieht.
Name Full Name Code Sector
BUILDMX BUILDMAX LIMITED BDM 2353
KAYDAV KAYDAV GROUP LTD KDV 2353
AFRIMAT AFRIMAT LTD AFT 2353
Trellidor Trellidor Hldgs Ltd TRL 2353
MASONITE MASONITE (AFRICA) LIMITED MAS 2353
DAWN DISTRIBUTION AND WAREHOUSING NETWORK LIMITED DAW 2353
MAZOR MAZOR GROUP LTD MZR 2353
PPC PPC LIMITED PPC 2353
PPCN PPC Limited NPL PPCN 2353
Nur um zu demonstrieren, wie ich versuchte, dies zu lösen, versuchte ich das Skript unten.
Sub ListLinks()
'Set a reference to microsoft Internet Controls
Dim IeApp As InternetExplorer
Dim sURL As String
Dim IeDoc As Object
Dim i As Long
Set IeApp = New InternetExplorer
IeApp.Visible = True
sURL = "http://www.sharenet.co.za/v3/q_sharelookup.php"
IeApp.Navigate sURL
Do
Loop Until IeApp.ReadyState = READYSTATE_COMPLETE
Set IeDoc = IeApp.Document
For i = 0 To IeDoc.Links.Length - 1
Cells(i + 1, 1).Value = IeDoc.Links(i).href
Next i
Set IeApp = Nothing
End Sub
Ich dachte, es würde funktionieren, alle URLs aufzulisten, und dann die Schleife durch jede Daten zu importieren, aber das Problem auf meine Sharepoint-Website ist, dass die href keine Relevanz für den Namen zu haben scheint des Hyperlinks.
In der obigen Abbildung können Sie 'Gebäude & Baumaterial' in dem TD-Elemente sehen. Wenn ich das im 1. Browser referenzieren kann und auf den richtigen Link klicke, um einen zweiten Browser zu öffnen, und dann den zweiten Browser referenziere und alle TD-Elemente davon abkratze, sollte alles gut funktionieren. Weiß jemand hier, wie man das macht?
Ich glaube, das funktioniert. Ich werde es versuchen, wenn ich ins Büro komme. Vielen Dank!! – ryguy72
Sie wissen, dass das in meinem Testsample funktioniert hat, aber ich kann es nicht in meiner tatsächlichen SharePoint-Website arbeiten. HTMLDoc_Main.body.innerHTML ist zu groß, um in eine Zelle zu passen, und zu groß, um im Direktfenster angezeigt zu werden.Ich möchte nach diesem Text in der übergeordneten URL suchen: "Fragebogen hochladen" und kopieren Sie Folgendes in Zelle C2: href = "https: //blah_blah/SitePages/blah_blah_blah_TaskListHome.aspx". Es sollte "TD class = ms-vb" sein, aber es scheint, als ob das Skript das nicht finden könnte .. Irgendwelche Ideen? – ryguy72