Wie man in EXCEL unter VBA eine (neue/weitere) Arbeitsmappe öffnet hat sich sicher schon herumgesprochen (kann man ja auch aufzeichnen): Workbooks.Open Filename:="C:\Mappe2.xls" Das ist auch richtig so. Was aber, wenn die Datei (d.h. Arbeitsmappe) schon geöffnet ist und vom User in der Zwischenzeit verändert wurden? Wenn wir also die (bereits veränderte) Mappe nochmals öffnen meckert Excel herum und der User erhält folgende Meldung: Dies ist sicher nicht im Sinne des Erfinders und verwirrt den Benutzer. Noch schlimmer ist aber, dass dieser sich jetzt in der Excel-Falle befindet!! Er hat ja nur zwei Möglichkeiten zu klicken:
Spätesten jetzt wird der Name des Programmierers mit einem Schimpfwort in Verbindung gebracht. Wenn der User gar auf DEBUGGEN (TESTEN) klickt, landet er in der VBA- Oberfläche! Das alles sollte nicht sein!!! Und es muss auch nicht sein Was ist zu tun? Eine VBA-Lösung: ' Beispiel: C:\MAPPE2.XLS (richtig!) öffnen Dim bExists As Boolean Dim oWorkbook As Object ' Prüfen ob Datei bereits geöffnet ist bExists = False With Application For Each oWorkbook In .Workbooks If UCase$(oWorkbook.Name) = "MAPPE2.XLS" Then ' Jetzt aktivieren Windows(oWorkbook.Name).Activate bExists = True Exit For End If Next End With ' Mappe neu laden! If Not bExists Then On Error Resume Next Workbooks.Open Filename:="C:\MAPPE2.XLS", ReadOnly:=False On Error GoTo 0 End If Und wie ist es in Word? Documents.Open FileName:="C:\Dok2.doc" Hier gibt es (bei mir zu mindestens) dieses Problem nicht. Word schaltet den Fokus ohne zu Meckern auf die Datei, die im Parameter FileName angegeben ist, um. Dieser Tipp wurde bereits 145.384 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |