Hvem har filen åpen?

September 9  by Eliza

Joe spurte om det er en måte å bestemme, i en makro, som har en bestemt arbeidsbok åpen. Han tenkte på å bruke WriteReservedBy eiendom, men det ser ikke ut til å ha den informasjonen han trenger.

Dessverre er det ingen måte å finne ut denne informasjonen fra VBA-det er bare ikke tilgjengelig. Den WriteReservedBy eiendom viser ikke hvem som har en fil åpen; det viser som reddet arbeidsbok ved hjelp av et passord. Med andre ord, når noen lagrer en arbeidsbok med muligheten til å ha et passord for å endre det, er filen "WriteReserved." Den WriteReservedBy Eiendommen inneholder navnet på personen som reddet filen i WriteReserved tilstand.

Hvis du bare trenger å vite svaret (om hvem som har filen åpen) med jevne mellomrom, er det lettest å samle en liste over de åpne filnavn, og spør nettverket admin for å fortelle dere hvem som har dem åpne slik informasjon blir opprettholdt på nettverk og tilgjengelig for admin.

En annen mulig løsning er å legge til en Autoopen makro til hver arbeidsbok som skriver en midlertidig fil til disk som inneholder navnet på personen åpne filen. Makroen måtte ikke bare åpne den midlertidige filen, men håndtere feilsituasjoner, for eksempel en midlertidig fil som allerede er åpen. Den midlertidige filen kan da nås av andre makroer for å se navnet som den inneholder.

En ekstra plass som kan holde et svar er VBNet nettstedet. Artikkelen på denne side inneholder kode som kan være tilpasningsdyktig for den ønskede informasjon:

http://vbnet.mvps.org/index.html?code/network/netfileenum.htm

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2492) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Hvem har filen åpen ?.