Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1468to1472
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dir Abfrage

Dir Abfrage
25.01.2016 16:23:43
stef26
Hallo,
ich hab da mal eine Frage zu dem Dir Befehl.
sDatei = Sheets(1).Range("A3") & ".jpg"
'If Dir(sPfad & sDatei) = "" Then
FileCopy sPfad & "0.jpg", sPfad & "Vorlage.jpg"
Else
FileCopy sPfad & sDatei, sPfad & "Vorlage.jpg"
End If
Ich kopiere eine Bild Datei, was bisher auf einem Server fehlerfrei läuft.
Nun haben wir die Dateien auf den SharePoint abgelegt und die Pfade entsprechend angepasst.
Leider bleibt das Macro an der fett gedruckten Stelle stehen.
Kann das irgendwie damit zusammenhängen, dass der Pfadname am Server bisher
\\blabla.net\bla\1\123
und nun am SharePoint nun so aussieht
https://blabla.com/bla/123/
Wie kann ich die Abfrage machen, damits funktioniert ?
Liebe Grüße
Stefan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dir Abfrage
25.01.2016 16:53:57
Nepumuk
Hallo,
versuch es mal damit:
Public Function GetLinkStatus(ByVal pvstrURL As String) As Boolean
    Dim xmlhttp As Object
    Dim lngStatus As Long
    Set xmlhttp = CreateObject("Msxml2.XMLHTTP.6.0")
    Call xmlhttp.Open("GET", pvstrURL, False)
    Call xmlhttp.send
    lngStatus = xmlhttp.Status
    Set xmlhttp = Nothing
    GetLinkStatus = lngStatus <> 0 And lngStatus <> 404
End Function

Wenn die Datei vorhanden ist gibt die Funktion True zurück.
Gruß
Nepumuk

Anzeige
AW: Dir Abfrage
25.01.2016 17:27:43
stef26
Hallo Nepumuk,
danke für die schnelle Hilfe.
Ach ja und Danke auch noch für die Hilfe zu meiner Letzten Frage, die konnte ich dank deiner Hilfe ebenfalls gut umsetzen.
Könntest du mir bitte nochmal kurz erklären (bin VBA Anfänger) wie ich die
Funktion in meiner Sub aufrufen kann ?
Leider hab ich keinen blassen Schimmer was die Funktion macht und wie ich die integrieren kann.
Ich suche bisher nach einer Bilddatei, wird diese nicht gefunden so wird ein Bild mit "kein Bild"
als Vorlage.jpg kopert.
In meiner Word Vorlage greift er immer auf Vorlage zu.

Liebe Grüße
Stefan

Anzeige
AW: Dir Abfrage
25.01.2016 18:52:24
Nepumuk
Hallo,
versuch es mal so:
sDatei = Sheets(1).Range("A3").Text & ".jpg"
If GetLinkStatus(sPfad & sDatei) Then
    FileCopy sPfad & sDatei, sPfad & "Vorlage.jpg"
Else
    FileCopy sPfad & "0.jpg", sPfad & "Vorlage.jpg"
End If

Wobei ich davon ausgehe dass in sPfad dein https://blabla.com/bla/123/ steht. Ich weiß aber nicht ob FileCopy mit dieser Adresse umgehen kann. Ich kann's nicht testen denn ich hab keinen Server.
Gruß
Nepumuk

Anzeige
AW: Dir Abfrage
25.01.2016 20:16:56
stef26
Hallo Nepumuk,
besten Dank für deine Hilfe. Werde es gleich morgen testen !!!
Liebe Grüße und nochmals vielen herzlichen Dank
:-)
Stefan

AW: Dir Abfrage
26.01.2016 10:26:20
stef26
Hallo Nepumuk,
ich muß leider mein Thema nochmal aufgreifen.
Mit GetLinkStatus findet er nun die Dateien.
Nun bleibt das Makro aber am simplen copy Befehl stehen
(Dateiname oder -nummer falsch)
FileCopy sPfad & sDatei, sPfad & "Vorlage.jpg"
Wenn ich mir mit MsgBox den Pfad und die Datei ausgeben lassen past das aber.
Ich dachte evtl Berechtigungsprobleme mit dem SharePoint (das ich nicht überschreiben darf) aber selbt wenn ich in eine neue Datei schreiben lasse, dann bleibt das Makro an der Stelle stehen.
Funktioniert am sharepoint das FileCopy nicht, oder wo könnte ich noch nach dem Fehler suchen ?
Gruß
Stefan

Anzeige
AW: Dir Abfrage
26.01.2016 12:13:45
Nepumuk
Hallo,
das hatte ich ja vermutet, eine Lösung habe ich aber nicht.
Ich stell die Frage mal auf offen.
Gruß
Nepumuk

Dir Abfrage
26.01.2016 17:01:52
Anton
Hallo Stefan,
so vielleicht (ungetestet):
Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Public Sub Test()
Dim objXMLHTTP As Object, sURL As String
Dim sPfad As String, sDatei As String
sPfad = "C:\?\" 'anpassen
sDatei = Sheets(1).Range("A3") & ".jpg"
sURL = "https://blabla.com/bla/123/" & sDatei 'anpassen
Set objXMLHTTP = CreateObject("Msxml2.XMLHTTP")
objXMLHTTP.Open "GET", sURL, False
objXMLHTTP.Send
If objXMLHTTP.Status = 200 Then
If URLDownloadToFile(0, sURL, sPfad & "Vorlage.jpg", 0, 0)  0 Then
FileCopy sPfad & "0.jpg", sPfad & "Vorlage.jpg"
End If
Else
FileCopy sPfad & "0.jpg", sPfad & "Vorlage.jpg"
End If
Set objXMLHTTP = Nothing
End Sub

mfg Anton
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige