• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Getobject & Web

Status
Niet open voor verdere reacties.

snb

Verenigingslid
Lid geworden
12 jun 2008
Berichten
19.655
Geachte marktbezoekers,

Ik wil de gegevens van een bestand op Internet gebruiken om een Userformcontrol te vullen.

Met vier methoden lukt dat (zie hieronder).
De methode Getobject laat het afweten.
Heeft iemand een idee waarom Getobject wel een bestand uit het eigen systeem kan openen en niet een bestand uit Internet ?

Wat werkt:
Code:
Private Sub UserForm_Initialize()
  Listbox1.List = ThisWorkbook.Sheets.Add(, Sheets(Sheets.Count), , "http://www.snb-vba.eu/bestanden/Q_test.xlsx").Cells(1).CurrentRegion.Value
    
  Listbox1.List = Workbooks.Add("http://www.snb-vba.eu/bestanden/Q_test.xlsx").Sheets(1).Cells(1).CurrentRegion.Value
    
  Listbox1.List = Workbooks.Open("http://www.snb-vba.eu/bestanden/Q_test.xlsx").Sheets(1).Cells(1).CurrentRegion.Value
     
  ThisWorkbook.FollowHyperlink "http://www.snb-vba.eu/bestanden/Q_test.xlsx"
  ListBox1.List = Workbooks("Q_test.xlsx").Sheets(1).Cells(1).CurrentRegion.Value
End Sub

Wat niet werkt:
Code:
Private Sub UserForm_Initialize()
    ListBox1.List = GetObject("http://www.snb-vba.eu/bestanden/Q_test.xlsx").Sheets(1).Cells(1).CurrentRegion.Value
End Sub

Bij voorbaat mijn dank.
 
Getobject is per definitie COM gebaseerd. Lokaal werkt wel omdat de benodigde COM component (excel) wordt gededuceerd uit de bestandsnaam en dan lokaal het excel component wordt gestart. Ik kan wel naar een andere server maar dat gebeurt via de windows remote objects poorten (135,137,139?).

http (poort 80) lijkt niet te worden ondersteund. Wat je opdracht eigenlijk inhoud is ook niet logisch voor remote gebruik: Als je getobject gebruikt op een remote connectie start je op de server het object "excel" (wat in principe kan met DCOM, maar niet wordt ondersteund in HTTP).

Wat de andere oplossingen doen is eerst de file lokaal maken via een download en vervolgens lokaal starten.
 
Toevallig van de week hier nog een relevante uitwisseling over gehad. Ter aanvulling op bovenstaande, wat puur technisch is en waarschijnlijk voor veel mensen niet te volgen, had iemand anders een relevante analogie die voor veel mensen makkelijker te volgens is:

Getobject(xxx,xxx) is de functie die in de GUI (desktop) equivalent is aan "dubbelklikken" van een icoon. Als je een excel file dubbelklikt start excel (volgens het proces in mijn vorige antwoord). Als je getobject op een remote computer uitvoert is het alsof je dubbelklikt op het object op die computer, niet de lokale computer (excel wordt daar opgestart). Equivalent aan een computer op afstand besturen met een remote desktop applicatie (RDP, teamviewer, etc.) en dan dubbelklikken op de excel file.

Ik weet niet hoe relevant dit nu nog is :) (ik vermoed niet heel erg). De technische uitleg van mijn vorige antwoord blijft staan, maar ik wilde dit eenvoudigere antwoord niet uit het forum houden.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan