Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Herausfinden, über VBA, ob ein anderes Excel Workbook bereits offen ist

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Herausfinden, über VBA, ob ein anderes Excel Workbook bereits offen ist (10451 mal gelesen)
Mario Wipf
Mitglied
Dipl. Ing. FH, MAS FHO BAE


Sehen Sie sich das Profil von Mario Wipf an!   Senden Sie eine Private Message an Mario Wipf  Schreiben Sie einen Gästebucheintrag für Mario Wipf

Beiträge: 535
Registriert: 07.10.2003

AIS 9 SP3, AIS 10 WINDOWS XP Pro
Fujitsu Siemens CELSIUS M430
Nvidia Quadro FX 1400 128 MB

erstellt am: 21. Sep. 2005 13:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Private_Sub_cmdcreate.txt

 
Hallo zusammen !!

Ich habe ein Workbook zusammengestellt, das mir Bestellnummern generieren soll (siehe Anhang)

Hierzu greife ich aus einem Hauptdokument, auf eine Tabelle ("Bestellnummern.xls" hol  mir die letzte Bestellnummer raus addiere sie mit 1 und speichere die neue nummer und sämtliche Daten in der externe Tabelle "Bestellnummern.xls".

Dieses Hauptdokument werde ich danach auf mehrere PC kopieren. Und alle greifen immer auf dieses zentral gelegene Dokument. Wenn es nun aber der Zufall will, und zwei gleichzeitig  zugreifen, so merkt es der zweite nicht, dass das Dokument schon offen ist und kriegt beim S(automatischen) Speichern die Meldung, dass die Datei schreibgeschützt sei (da sie ja bereits offen ist).

Gibt es irgend einen Merker den ich abfragen kann, um herauszufinden, ob diese Nummerntabelle bereits offen ist, und dann mit dem öffnen in einer schleife solange gewartet wird, bis dieser wieder zurückgesetzt ist ?

Danke für Eure Tips


Gruss Mario

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 22. Sep. 2005 18:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mario Wipf 10 Unities + Antwort hilfreich

Prüfen kannst du so:

Code:
Sub Archiv_oeffnen()
If Datei_geoeffnet("C:\Test\Archiv.xls") = True Then
MsgBox ("Die Datei C:\Test\Archiv.xls ist in Benutzung")
Else
Workbooks.Open Filename:="C:\Test\Archiv.xls"
  ActiveWorkbook.Sheets("Archiv").[A1] = [A1] + 1
MsgBox ("Die Zelle A1 hat nun den Wert " & [A1])
ActiveWorkbook.Save
ActiveWindow.Close
End If
End Sub

Function Datei_geoeffnet(Dateiname As String) As Boolean
On Error Resume Next
Close #1
Open Dateiname For Random Access Read Lock Read Write As #1
Datei_geoeffnet = Err.Number <> 0
Close #1
End Function


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mario Wipf
Mitglied
Dipl. Ing. FH, MAS FHO BAE


Sehen Sie sich das Profil von Mario Wipf an!   Senden Sie eine Private Message an Mario Wipf  Schreiben Sie einen Gästebucheintrag für Mario Wipf

Beiträge: 535
Registriert: 07.10.2003

AIS 9 SP3, AIS 10 WINDOWS XP Pro
Fujitsu Siemens CELSIUS M430
Nvidia Quadro FX 1400 128 MB

erstellt am: 23. Sep. 2005 14:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hopla !!

Das ist ja voll genial, hab's getestet und funktioniert einwandfrei...

wenn ich nur noch wüsste, was da genau in der routine Datei-geoffnet() passiert. Also was passiert ist mir klar, aber was die Befehle bedeuten...
Dieses Close #1

Hast Du mir noch einen Tip ??

Grüsse und vielen Dank für die super Hilfe

Gruss Mario

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 23. Sep. 2005 18:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mario Wipf 10 Unities + Antwort hilfreich

die Close (A) Anweisung beendet das Schreiben oder Lesen einer Datei
die zuvor mit Open 'Dateiname' geöffnet wurde, wäre ein bisserl fatal wenn die offen bliebe 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz