osc=CREATEOBJECT("Skype4COM.Skype") oc=osc.Chats ?oc.Count ?oc.Item(1).Name ?oc.Item(2).Name ?oc.Item(1322).Name ?oc.Count ?oc.Item(1435).Name * it turns out that this collection is a latest-is-first list, because the chat #1435 * happened almost three years ago (with the late Jim Nelson). om1=oc.Item(1) oms=om1.Messages ?oms.Count ?oms.Item(1).Body ?oms.Item(1).ChatName ?oms.Item(1).Chat och=oms.Item(1).Chat ?och.TopicXML ?och.DialogPartner ?och.FriendlyName ?och.Messages ?och.Messages.Count ?oms.Count ?och.AlertString ?och.MyRole ?och.MyStatus ?och.Name ?och.RecentMessages ?och.RecentMessages.Item(1) om2=och.RecentMessages.Item(1) ?om2.Body ?om2.EditedTimestamp ?om2.Timestamp ?om2.Body ?och.RecentMessages.CountSo it seems that a messages collection keeps the messages for one chat, and in a message the .body property either contains the actual message text or XML with list of participants. So it should be possible to pull whatever you need from these objects and store it in a table (well, a set of tables - participants, chats, chat messages) and there's your archive. Just periodically import into your tables and you got it all.