Pracował w Instytucie Historycznym UW (1963–1986), w Instytucie Informacji Naukowej i Studiów Bibliologicznych UW (1986–2004), profesor Akademii Humanistycznej im. A. Gieysztora w Pułtusku (1994–2012). Wicedyrektor Instytutu Historycznego UW (1978–1981). Dyrektor Archiwum Głównego Akt Dawnych w Warszawie (1981–1986).

Przewodniczący Rady Naukowej Instytutu Informacji Naukowej i Studiów Bibliologicznych UW (1991-2004), kierownik Zakładu Wiedzy o Dawnej Książce w Instytucie Informacji Naukowej i Studiów Bibliologicznych UW (1994-2004), członek Rady Naukowej Instytutu Historii Nauki PAN (od 1999). Członek Zarządu Fundacji im. Aleksandra Gieysztora, członek Komitetu (Zarządu) Kasy im. J. Mianowskiego-Fundacji Popierania Nauki (1991–2009), członek Rady Naukowej tejże Fundacji (od 2010). Członek: Komitetu Redakcyjnego „Kwartalnika Historycznego” (1985–2003), Komitetu Redakcyjnego „Wiadomości Historycznych” (1991–1998), redakcji „Przeglądu Humanistycznego” (2010–2011).

Członek Polskiego Komitetu Programu UNESCO „Pamięć Świata” (od 1996), członek Komisji Historii Książki i Bibliotek PAN (od 2005); członek Polskiego Towarzystwa Historycznego oraz Towarzystwa Naukowego Warszawskiego (od 1988);