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

Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld

Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 16:14:20
Jens
Hallo Ihr!
Evtl. kann mir jemand von euch bei der Umsetzung meiner Idee helfen.
Ich verwende mit meinen Kollege eine Excel-Datei mit Makros, welche ich regelmäßig aktualisiere.
Ich würde jetzt gerne als Grundgedanke ein Hinweisfeld beim öffnen der Datei einblenden lassen wenn entweder eine bestimmte Datei auf dem Server wo alle Zugriff haben vorhanden ist und den Inhalt einer TXT-Datei welchen ich angezeigt haben will mit im Popup angezeigt wird.
zB:
- ich erstelle eine Datei auf dem Server mit dem Namen popup.txt mit den Inhalt "Hallo Kollegen bitte ab dem 1.1.20 die neue Version verwenden"
- der Nutzer ruft die Excel mit den Makros auf und diese Datei prüft ob die Datei vorhanden ist und zeigt wenn diese vorhanden ist den beinhaltenden Textinhalt an
- lösche ich die Datei wird kein Hinweisfeld mehr angezeigt
- evtl. mit OK-Schaltfläche dass diese Anzeige für eine bestimmt Zeit nicht mehr angezeigt wird.
Ist dies via Excel und VBA realisierbar?
Danke jedenfalls für die evtl. Hilfe!
Bye Jens
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 16:54:44
volti
Hallo Jens,
hier mal eine Idee. Natürlich gibt es noch viele andere Einlesemöglichkeiten.
Private Sub Workbook_Open()
 Dim Dateipfad As String, Data As String
 Dateipfad = ThisWorkbook.Path & "\popup.txt"           'Pfad anpassen!!!
 If Dir(Dateipfad) <> "" Then
  Close #1: Open Dateipfad For Binary As #1             'Datei öffnen
  Data = Space(LOF(1)): Get #1, , Data                  'Daten einlesen
  MsgBox Data, vbOKOnly Or vbInformation, "Information" 'Daten anzeigen
  Close #1
 End If
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 17:04:14
Jens
Danke Karl-Heinz!
versuche gerade den Code aufzuschlüsseln was da genau passiert um das nachvollziehen und verstehen zu können.
also erfragt ab ob die Datei im Dateipfad vorhanden ist. Wenn nicht schließt er die Befehlskette. Was bedeutet das #1 ?
Werde es nachher wenn ich wieder am Rechner bin und Zeit finde mal prüfen.
Bye Jens
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 17:12:05
volti
Hallo Jens,
#1 ist eine interne Dateinummer. Für jede zu geöffnete Datei wird eine Nummer #1, #2, #3 usw. verwendet.
viele Grüße
Karl-Heinz
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 17:39:19
Jens
Hi nochmal,
habe den Code einmal mit angepassten Pfad (Pfad-Kontrolle im Explorer geprüft) im VBA in die zuständige Arbeitsmappe eingefügt, aber leider ohne Funktion.
Habe Testweise ein Makro erstellt und versucht damit das Info-Fenster zu öffnen, aber leider auch ohne Erfolg.
Wo ist dort mein Denkfehler.
Bye Jens
Anzeige
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 17:47:38
volti
Hi Jens,
da der Code bei mir läuft, kann ich Deinen "Denkfehler" leider nicht auflösen. Ggf. mal mit F8 den Code durchlaufen, dann siehst Du schon, wo es hakt.
VG KH
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 17:08:17
Nepumuk
Hallo Jens,
würde ich so machen:
Option Explicit

Private Sub Workbook_Open()
    
    Const TEXT_FILE As String = "H:\popup.txt" 'Anpassen !!!
    Const FOR_READING As Long = 1
    Const TRISTATE_FALSE As Long = 0
    
    Dim objFileSystemObject As Object, objFile As Object
    Dim objTextStream As Object
    
    If Dir$(TEXT_FILE) <> vbNullString Then
        
        Set objFileSystemObject = CreateObject(Class:="Scripting.FileSystemObject")
        Set objFile = objFileSystemObject.GetFile(TEXT_FILE)
        Set objTextStream = objFile.OpenAsTextStream(FOR_READING, TRISTATE_FALSE)
        
        Call MsgBox(objTextStream.ReadAll, vbExclamation, "Hinweis")
        
        Set objTextStream = Nothing
        Set objFile = Nothing
        Set objFileSystemObject = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel - VBA: Wenn TXT (etc.) - Datei vorhanden zeige Popup / Hinweis-Feld
25.10.2019 17:45:39
Jens
Danke Nepumuk es funktioniert!

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige