Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[VBA] Datei öffnen, wenn nicht offen - im Hintergrund
#1
Hi,

von Herber habe ich diesen Code:
Code:
Sub MappeOeffnen()
    'Prüft, ob eine Mappe bereits geöffnet ist
    'falls nicht : Prüft, ob Mappe als Datei im angegebenen Ordner existiert
    'und öffnet diese Mappe falls vorhanden
    '12.06.2009, NoNet

    Dim strOrdner As String, strdateiname As String
    Dim wbMappe As Workbook

    strOrdner = "C:\Dein\Ordner\" 'Mit "\" am Ende !
    strdateiname = "Auswertung.xls"

    On Error Resume Next 'Fehlerbehandlung
    Set wbMappe = Workbooks(strdateiname)
    If Not wbMappe Is Nothing Then
        'wbMappe.Activate
        'MsgBox "Mappe ist bereits geöffnet !"
    Else
        'Wenn Mappe noch nicht geöffnet ist
        If Dir(strOrdner & strdateiname) <> "" Then
            'Mappe aus o.g. Ordner öffnen :
            Set wbMappe = Workbooks.Open(strOrdner & strdateiname, UpdateLinks:=False)
        Else
            MsgBox "Folgende Datei existiert nicht : " & vbf & vbLf & _
                strOrdner & strdateiname, vbOKOnly + vbCritical, "Datei nicht gefunden !"
        End If
    End If

    'Speicher für Objektvariable wieder freigeben :
    Set wbMappe = Nothing
End Sub

Damit bekomme ich die Datei geöffnet und in den Vordergrund geholt. Ich möchte sie aber nur als Datenquelle nutzen.
Wie kann ich es nun machen, daß diese Datei dann ausgeblendet, also nicht sichtbar ist?
Antworten Top
#2
Hi,

vielleicht so:
Set vbmappe = GetObject(strOrdner & strdateiname)
Gruß Uwe
Antworten Top
#3
Hallo Ralf,

die Dateien, die ich nur im Hintergrund geöffnet haben will, lade ich problemlos beim Öffnen
in der Normaldatei und hier in "DieseArbeitsmappe". Dabei bleibt die nachgeladene Datei wie
gewünscht im Hintergrund.

Zitat:    Workbooks.Open Filename:=Left(ThisWorkbook.FullName, 1) & _
                             ":\BETRIEB\9-9001 Testmappe\0_Büro\System\Konten"
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#4
Hi Uwe,

ja, so geht es.
Wie kann ich damit die Datei aber auch gleich schreibgeschützt öffnen?
Antworten Top
#5
Hi Peter,

bei mir wird dann die zweite Datei geöffnet und ich sehe sie in der Taskleiste, sie wird im Vordergrund angezeigt, ist also aktiviert.
Antworten Top
#6
Hallo Ralf,

Zitat:Hi Peter,

bei mir wird dann die zweite Datei geöffnet und ich sehe sie in der Taskleiste, sie wird im Vordergrund angezeigt, ist also aktiviert.

... das ist bei mir nicht der Fall. Momentan kann ich das nicht nachvollziehen.
Ich bastele dran.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
(16.11.2018, 12:54)Rabe schrieb: Wie kann ich damit die Datei aber auch gleich schreibgeschützt öffnen?

 Set wbMappe = GetObject(strOrdner & strdateiname)
 wbMappe.Saved = True
 wbMappe.ChangeFileAccess xlReadOnly, , False
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Rabe
Antworten Top
#8
Hi,

danke, so geht es.

Nun noch bei Workbook_BeforeClose

das
wbMappe.Close savechanges:=False

dann ist es, wie ich will.


Die Datei wurde mit der Option: "Schreibschutzempfehlung" gespeichert und wenn sie jemand anderes schon offen hat, dann klappt es.
Wenn sie aber niemand offen hat, kommt nun trotzdem die Abfrage, ob ich sie schreibgeschützt öffnen will.
Antworten Top
#9
Hallo Ralf,

ich habe es mir mal einfach gemacht und die unendlichen Tiefen meiner Festplatten durchforstet.
Versuche es mal damit

Zitat:Sub MappeUnsichtbarMachen()
    Workbooks("SICHTBAR.XLS").Windows(1).Visible = False
End Sub



Sub MappeWiederSichtbarMachen()
    Workbooks("SICHTBAR.XLS").Windows(1).Visible = True
End Sub
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#10
(16.11.2018, 14:27)Rabe schrieb: Nun noch bei Workbook_BeforeClose

das
wbMappe.Close savechanges:=False

Du kannst mit
wbMappe.Saved = True
wann immer Du willst Excel vortäuschen, dass die Mappe schon gespeichert ist.

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste