< návrat zpět
MS Excel
Téma: Je soubor otevřen?
Zaslal/a Florin 6.1.2016 13:04
Zdravím,
prosím o radu, nikde jsem se nedopátral...
V jednom souboru mám makro které přidává do zdrojového souboru pořadové číslo a s to vypinkne uživateli do souboru ve kterém pracuje... problém je v tom, že když dva uživatelé spustí makro souběžně, tak obdrží stejné pořadové číslo. Takže bych potřeboval, aby makro vždy zkontrolovalo jestli je zdroják otevřen a v případě, že ano, tak se třeba na chvilku zacyklil... už první řádek mi nefachá... :-/
Set Sesit = Workbooks("Reklamace_zdroj.xlsm")
sesitOtevren = Not Sesit Is Nothing
For i = 1 To 1000000
If sesitOtevren = True Then
MsgBox "Moment"
i = i + 1
Else
Dim NovaReklamace As Integer
For Radek = 1 To 65536
If Cells(Radek, 1) = "" Then
prvniprazdnyradek = Radek
PosledniRadek = prvniprazdnyradek - 1
poslednireklamace = Cells(PosledniRadek, 1)
NovaReklamace = poslednireklamace + 1
Cells(prvniprazdnyradek, 1) = NovaReklamace
Exit For
End If
Next Radek
soubor_do.Save
soubor_do.Close
Range("A1") = NovaReklamace
Exit For
End If
Next i
Florin(6.1.2016 14:25)#029050 Tak částečně pořešeno:
Dim Ret
Ret = IsWorkBookOpen("G:\Reklamace_zdroj.xlsm")
If Ret = True Then
MsgBox "Zdroják je otevřen"
Else
.
.
.
Problém je, že když v 1-2 sekundách spustí makro 2 a více uživatelů najednou, tak se soubor stejně otevře všem a dělá to bordel...
citovat