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

Makro soll prüfen ob bestimmte Datei geöffnet ist

Makro soll prüfen ob bestimmte Datei geöffnet ist
Leif
Hallo und frohes neues Jahr!
Ich möchte gerne in einem Makro, was eine neue Excel-Datei mit dem Namen "Preisliste" generiert, vorab prüfen, ob diese Datei bereits geöffnet ist.
Ist dies der Fall, so soll eine MsgBox geöffnet werden, in der steht das die Datei "Preisliste" vor der Generierung geschlossen werden muss.
Ist die Datei nicht geöffnet so soll das Makro einfach die Datei "Preisliste" generieren.
Kann mir jemand bei dem Code helfen?
Beste Grüße
Leif

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro soll prüfen ob bestimmte Datei geöffnet ist
02.01.2012 13:21:43
Rudi
Hallo,
eine Möglichkeit:
Sub xxx()
If WBOpen("Preisliste.xls") Then
MsgBox "Preisliste erst schließen!", , "Hinweis"
Exit Sub
Else
'Liste generieren
End If
End Sub

Function WBOpen(strWB) As Boolean
Dim wb As Workbook
On Error GoTo ErrHandler
Set wb = Workbooks(strWB)
WBOpen = True
ErrHandler:
End Function

Gruß
Rudi
AW: Makro soll prüfen ob bestimmte Datei geöffnet ist
02.01.2012 13:58:49
Leif
Hallo Rudi,
Ich bekomm das noch nicht hin. Ich hab dir mal den Quelltext hinzugefügt. Kannst du mir bitte nochmal helfen.
Gruß Leif
Sub Preisliste()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim objWbNew As Workbook
Set objWbNew = Workbooks.Add
'Neue Mappe erstellen
With objWbNew
With .Sheets(1)
.Range("A1") = "Position"
.Range("B1") = "NB Nr."
.Range("C1") = "Stück"
End With
'Formatieren Querformat und Skalierung 65%
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.Draft = False
.Zoom = 65
End With
Application.PrintCommunication = True
'kopieren der erforderlichen Werte
'Kopieren der NB-Nummer
ThisWorkbook.Activate
Sheets("Bearbeitung Pos.").Range("A15").Select
Range(Selection, Selection.End(xlDown)).Copy
.Sheets(1).Range("B2").PasteSpecial xlValues
'Kopieren von Stückzahl
ThisWorkbook.Activate
Sheets("Bearbeitung Pos.").Range("C15").Select
Range(Selection, Selection.End(xlDown)).Copy
.Sheets(1).Range("C2").PasteSpecial xlValues
'Einige Formatierungen
With .Sheets(1)
.Range("A2").Value = "1"
.Range("A3:A" & .Cells(Rows.Count, 4).End(xlUp).Row).Formula = "=1+R[-1]C"
.Columns("A:A").HorizontalAlignment = xlLeft
.Columns("C:C").HorizontalAlignment = xlLeft
.Range("A1:C1").Font.Bold = True
.Range("A1").AutoFilter
Application.ScreenUpdating = True
End With
Range("A2").Select
'Fenster fixieren und 80% Zoom.
.Sheets(1).Activate
With ActiveWindow
.SplitRow = 1
.FreezePanes = True
End With
ActiveWindow.Zoom = 80
'speichern
'.SaveAs Filename:="C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\ _
Preisliste.xlsm"
Application.DisplayAlerts = False 'Warnungen ausschalten
.SaveAs Filename:="C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\ _
Preisliste.xlsx"
Application.DisplayAlerts = True  'Warnungen einschalten
.Close
MsgBox ("Die Datei ""Preisliste"" wurde auf ihrem Desktop gespeichert!")
End With
'Schützt das Tabellenblatt wieder.
ThisWorkbook.Activate
ActiveSheet.Protect
End Sub

Anzeige
AW: Makro soll prüfen ob bestimmte Datei geöffnet ist
02.01.2012 14:24:00
Rudi
Hallo,
Sub PL_erstellen()
If WBOpen("Preisliste.xls") Then
MsgBox "Preisliste erst schließen!", , "Hinweis"
Exit Sub
Else
Preisliste
End If
End Sub
Function WBOpen(strWB) As Boolean
Dim wb As Workbook
On Error GoTo ErrHandler
Set wb = Workbooks(strWB)
WBOpen = True
ErrHandler:
End Function

Gruß
Rudi

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige