Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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

Neue Escel-Vorlage auf Intranetseite vorhanden ?

Neue Escel-Vorlage auf Intranetseite vorhanden ?
24.03.2017 13:24:58
Werner
Hallo Excel-Freunde,
wir stellen Mitarbeitern über eine Intranet-Seite eine
Excel-Datei zur Verfügung (Download-Möglichkeit)
Jetzt wird von Zeit zu Zeit diese "Vorlage" verändert / Optimiert.
Der Dateiname ist nach folgendem Muster aufgebaut
ProjektKalkulation_201702.xlsm
(Stand der Datei also : Febr 2017 = 201702)
Im April wollen wir eine neue Version "hochladen"
ProjektKalkulation_201704.xlsm
Gibt es jetzt eine Möglichkeit, beim Öffnen der Datei ProjektKalkulation_201702
im Hintergrund zu prüfen, ob eine neuere Version auf dem Sharepoint vorhanden
ist, und dann eine Message-Box erscheint: "Achtung, neuere Datei vorhanden"
So könnten wir sicherstellen, daß immer die neuste Version genutzt wird.
Freu mich auf einen Tipp :)
Gruß
Werner

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
..oder "Check" ob Datei im Internet existiert
24.03.2017 19:36:55
Werner
Hallo Excel-Freunde,
Ergänzung:
prüfen, ob die Datei im Internet existiert
"ist die Datei im Netz mit einer höheren Version vorhanden ?"
... 201704 ist größer als ... 201702
Bin gespannt und hoffe, dass es eine Möglichkeit gibt :)
Gruß
Werner
AW: ..oder "Check" ob Datei im Internet existiert
24.03.2017 21:43:32
firmus
Hi Werner,
dazu müsstest Du im 201702.xlsm-macro testen, ob 201704.xlsm vorhanden ist.
Ich vermute aber, dass in den derzeit eingesetzten 201702.xlsm-macro diese Abfrage noch nicht drin ist.
Also brauchst Du für die Vergangenheit neue Ideen.
Für die Zukunft kannst du im jeweils aktuellen Makro abfragen. Entweder
a) fix codierte Abfrage auf den Namen '201704.xlsm'
aber was passiert wenn jetzt ein '201706.xlsm' kommt?
b) Variable gehalten.
Im Netz steht eine Datei, die den Namen der jeweils aktuellen Version enthält.
z.B. Name dieser Datei 'AktuelleVersion.TXT', Inhalt: '201704.xlsm' (derzeit)
Mit Variante b) brauchst Du nur 'AktuelleVersion.TXT' vom web einlesen und den Inhalt mit dem aktuell genutzten Workbook vergleichen.
Sollte dann das aktuell genutzte Workbook nicht den Namen haben, der dem Dateiinhalt von 'AktuelleVersion.TXT' entspricht, kannst Du eine Aktion einleiten, z.B. stoppen und eine Meldung ausgeben.
Hier der Code für die Abfrage auf eine bestimmte Datei im Netz.
Der zweite Teil zeigt das Auslesen der gefundenen Datei.

Sub HTTP_DownloadFile()
'Quelle:
'http://stackoverflow.com/questions/17877389/how-do-i-download-a-file-using-vba-without- _
internet-explorer
Dim myURL As String
Dim WinHttpReq As Object
' Dieser Teil dient zur Feststellung, ob die Datei im web existiert.
myURL = "https://www.herber.de/bbs/xxuser/112408.xlsm"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.Send
If WinHttpReq.Status = 404 Then
MsgBox "Der Link '" & myURL & " ' hat keinen Endpunkt/Datei gefunden. EXIT."
Exit Sub
Else
MsgBox "Datei '" & myURL & "' gefunden, was soll ich tun?  - exit."
Exit Sub
End If
' Dieser Teil ist zum Einlesen des Inhalts der Datei
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then                 'erfolgreich gefunden
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "C:\Temp\file.xlsm", 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
End Sub
Gruß
Firmus
Anzeige
AW: ..oder "Check" ob Datei im Internet existiert
28.03.2017 10:47:12
Werner
Hallo Firmus,
sry, für mein spätes erstes Feedback.
Ich werde jetzt mal das ausprobieren ...
und melde mich nochmal.
Meine VBA-Kenntnisse sind jedoch "eingeschränkt"
Ja, die Variante B sollte vorgesehen werden, denn es wird sich wohl jeden Monat etwas ändern.
Also eine Version '201706.xlsm' wird es definitiv im Juni geben.
Wenn jemand die Datei 201702.xlsm öffnet müsste geprüft werden,
ob die "Zahl" der Datei im Intranet größer ist
und dann soll der Hinweis angezeigt werden.
Über Deine Idee, den Inhalt der neuen Datei auszulesen / einzulesen wäre sicher pfiffig,
jedoch nicht zwingend (hatte ich das richtig verstanden ?!?)
Gruß
Werner
Anzeige
AW: ..oder "Check" ob Datei im Internet existiert
29.03.2017 10:32:28
firmus
Hi Werner,
ich stelle mir Dein jetziges Szenario so vor:
1. Vom Server wird eine xlsm-file downloaded, mit der dann gearbeitet wird.
2. Die Mitarbeiter haben die Aufgabe immer mit der aktuellsten xlsm-file zu arbeiten.
3. Derzeit passieren Fehler, weil es keine (automatische) Kontrolle gibt, ob tatsächlich
die aktuellest xlsm-file genutzt wird.
Ziel:
1. Die MAs benutzen immer die aktuellste Version der xlsm-file.
2. Es soll automatisch einen Hinweis geben (Msgbox), dass eine neue Version da ist.
Weitere Überlegungen:
3. Es soll nicht mehr möglich sein mit einer veralteten Version zu arbeiten.
4. Die neue Version soll automatisch downloaded werden.
5. Die Daten (sofern nötig) sollen automatisch von der alten Version übernommen werden. (Könnte aufwendig sein.)
Schwachpunkte im derzeitigen Scenario:
1. Es fehlt die zentrale Info welches die aktuelle Version ist. (z.B. Merker-file 'AktuelleVersion.TXT' mit Inhalt "201706.xlsm")
2. Die derzeit eingesetzte Makroversion (201702.xlsm) beinhaltet keine Logik oben erwähnte Logik (Ziel) anzuwenden.
3. Die 201702.xlsm version ist von allen beteiligten MAs bereits downloaded - somit gibt es keine Chance das noch anzupassen.
4. Es muss in einem einmaligen "manuellen" Aufwand der Wechsel auf 201706.xlsm bewerkstelligt werden.
Gruß
Firmus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige