Hej! Garath, Hej Dennis!Dela och "odela" en arbetsbok m VBA
Jag undrar hur man går tillväga för att dela en arbetsbok via VBA. Och sedan för att göra motsatsen, alltså ta bort delningen.
Mvh
MagnusSv: Dela och "odela" en arbetsbok m VBA
OK, att döma av din fråga vill du skapa litet problem för dig ;-)
Skapa en delad arbetsbok mha VBA:
<code>
Sub Skapad_Delad_Arbetsbok()
Dim wbAktiv As Workbook
Set wbAktiv = ActiveWorkbook
Application.DisplayAlerts = False
wbAktiv.ProtectSharing
Application.DisplayAlerts = True
End Sub
</code>
När arbetsboken väl är delad så är VBA-projektet väl skyddad, dvs kan ej visas. Men du kan ju koppla proceduren till en knapp e d för att ändra status på arbetsboken.
<code>
Sub Skapa_Odelad_Arbetsbok()
Dim wbAktiv As Workbook
Set wbAktiv = ActiveWorkbook
Application.DisplayAlerts = False
wbAktiv.UnprotectSharing
If wbAktiv.MultiUserEditing Then
wbAktiv.ExclusiveAccess
End If
Application.DisplayAlerts = True
End Sub
</code>
Testa dig fram, inte minst när du lägger den i nätverket, då det kan uppstå konstigheter med din kod till följd av att arbetsboken är delad.
Lycka till och hör av dig om utfallet,
Mvh
XL-DennisSv: Dela och "odela" en arbetsbok m VBA
Tack för svaret! Det fungerar precis så bra som man kunde förvänta sig.
Jag har försökt ett hundratal gånger tror jag men hela tiden stupat på detta antagligen:
If wbAktiv.MultiUserEditing Then
wbAktiv.ExclusiveAccess
Det var den lilla versen i kråksången som gjorde solot så vackert!
Mången tack för hjälpen!
Mvh
Magnus