Herbers Excel-Forum - das Archiv

True / False bei Freigabe Arbeitsmappe

Bild

Betrifft: True / False bei Freigabe Arbeitsmappe
von: andrea
Geschrieben am: 06.11.2003 08:46:32
Fröhlichen guten Morgen,

habe ein kleines Problem. Um eine Pivottabelle zu aktualisieren während die Arbeitsmappe für mehrere Benutzer freigegeben ist, habe ich folgendes Programm geschrieben.



Sub PivotMitFreigabe()
ActiveWorkbook.ExclusiveAccess
ActiveSheet.PivotTables("PivotTable1").RefreshTable
With ActiveWorkbook
.KeepChangeHistory = True
.ChangeHistoryDuration = 30
End With
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Name, AccessMode:=xlShared
End Sub



Das läuft auch. Sofern die Mappe wirklich freigegeben ist. Und das ist nicht immer der Fall (freundliche Kollegen!)Um das Abzufangen habe ich eine Abfrage davorgesetzt. Wenn die Mappe nicht freigegeben ist, soll nur aktualisiert werden, sonst nichts. Sieht jetzt so aus:



Sub PivotMitFreigabe()
If ActiveWorkbook.ExclusiveAccess = True Then
ActiveSheet.PivotTables("PivotTable1").RefreshTable
Else
ActiveWorkbook.ExclusiveAccess
ActiveSheet.PivotTables("PivotTable1").RefreshTable
With ActiveWorkbook
.KeepChangeHistory = True
.ChangeHistoryDuration = 30
End With
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Name, AccessMode:=xlShared
End If
End Sub



Läuft aber nicht. Schon in der ersten Zeile wird ein Fehler angezeigt.

Weiß jemand warum???

Danke für Antwort, Andrea
Bild

Betrifft: AW: True / False bei Freigabe Arbeitsmappe
von: Frank
Geschrieben am: 06.11.2003 09:39:21
Hallo,

"ExclusiveAccess" ist eine Methode und kann nur zum Setzen des exklusiven Bearbeitens verwendet werden. Für die Abfrage der exklusiven Bearbeitung gibt es die Funktion "MultiUserEditing" (siehe auch Hilfe zu "ExclusiveAccess"). Dein Programm müßte demzufolge folgendermaßen aussehen (nicht getestet!):



Sub PivotMitFreigabe()
If Not ActiveWorkbook.MultiUserEditing Then
'alles andere unverändert
End Sub



MfG

Frank
Bild

Betrifft: Danke, läuft super!!! (o.T.)
von: andrea
Geschrieben am: 06.11.2003 10:06:33
.
Bild
Excel-Beispiele zum Thema " True / False bei Freigabe Arbeitsmappe"
Start des Makros nach Laden der Arbeitsmappe Prüfung, ob eine Arbeitsmappe geöffnet ist
Die "personl"-Arbeitsmappe ausgeblendet speichern Blätter in andere Arbeitsmappen kopieren
Variablenübergabe in andere Arbeitsmappen SVERWEIS auf geschlossene Arbeitsmappe aus Makro aufrufen
Arbeitsmappe-Schließen-Abfrage abfangen VBA-Zugriff auf geschlossene Arbeitsmappe.
Arbeitsmappe mit dem Namen des aktuellen Datums öffnen Mit der Indirekt-Funktion auf geschlossene Arbeitsmappe zugreifen