Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!
Zitat von: hajott am März 12, 2026, 16:19:59Habe mich im Netz dann schlau gemacht und gefunden, dass manSoweit ich gerade überblicke, wird die setTimeouts-Methode nur von der ServerXMLHTTP60-Klasse implementiert.
Code [Auswählen] Erweitern.SetTimeouts 10000, 10000, 10000, 10000für max 10 Sekunden Wartezeit nutzen kann. Allerdings bekomme ich eine Fehlermeldung ("Objekt unterstützt diese Eigenschaft oder Methode nicht"), ganz egal ob ich es vor oder nach dem. open einsetze.
Set objWeb = CreateObject("MSXML2.ServerXMLHTTP60") .Open "GET", txtURL & txtFilename, Fals.Open "GET", txtURL & txtFilename, Falseso lauten.Set objWeb = CreateObject("Microsoft.XMLHTTP")
Set objWeb = CreateObject("MSXML2.XMLHTTP")
' odereventuell wenn vorhanden:
' Set objWeb = CreateObject("MSXML2.XMLHTTP60")Dim objWeb As Object
' oder mit Verweis auf MSXML:
' Dim objWeb As MSXML2.XMLHTTP
Dim objWeb As Object
Dim objStream As Object
Set objWeb = CreateObject("MSXML2.XMLHTTP") ' oder "MSXML2.XMLHTTP60"
With objWeb
.Open "GET", txtURL & txtFilename, False
.send
If .Status = 200 Then
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Open
.Type = 1 ' adTypeBinary
.Write objWeb.responseBody
.SaveToFile txtLocal & txtFilename, 2 ' adSaveCreateOverWrite
.Close
End With
Else
MsgBox "No connection to " & txtURL & txtFilename
End If
End With
Set objWeb = Nothing
Set objStream = Nothing
Debug.Print TypeName(objWeb)
vor dem . send und schauen mal was da so angezeigt wird..send
hängen. In die dafür vorgesehene Verzweigung mit der Fehlermeldung kommt es gar nicht. .SetTimeouts 10000, 10000, 10000, 10000für max 10 Sekunden Wartezeit nutzen kann. Allerdings bekomme ich eine Fehlermeldung ("Objekt unterstützt diese Eigenschaft oder Methode nicht"), ganz egal ob ich es vor oder nach dem. open einsetze. Set objWeb = CreateObject("Microsoft.XMLHTTP")
With objWeb
.Open "GET", txtURL & txtFilename, Fals
.send
If .Status = 200 Then
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Open
.Type = 1
.Write objWeb.responseBody
.SaveToFile txtLocal & txtFilename, 2
.Close
End With
Else
MsgBox "No connection to " & txtURL & txtFilename
End If
End With
Set objWeb = Nothing
docmd.RunCommand acCmdFitToWindow
oder
docmd.RunCommand acCmdZoom150
einen Zoomlevel einstellen. Alternativ kannst du auch der versteckten Eigenschaft Report.ZoomControl einen Long-Wert zuweisen.Zitat von: alfini am März 11, 2026, 15:51:03ich möchte die Berichte beim anzeigen zum besseren Lesen optimal anzeigen.Was genau ist "beim Anzeigen"? Berichtsansicht oder Druckvorschau? In der Druckvorschau kannst du mit DoCmd.RunCommand acCmdZoomXXX per VBA-Code eine der Zoom-Stufen auswählen, die auch im UI vorgegeben sind.