-
-
Save swellseabird/5590843 to your computer and use it in GitHub Desktop.
'Export function of a Microsoft ACCESS table into a .RIS file compatible with ZOTERO | |
'This code should be modified/completed depending on your database fields | |
'More details on the RIS format and the coding of RIS fields | |
'=> https://web.archive.org/web/20120526103719/http://refman.com/support/risformat_intro.asp | |
' | |
'To work, this code need the library "Microsoft DAO 3.6 Object Library" activated | |
'contact : swellseabird at hotmail.fr | |
Function Export_zotero() | |
Dim rst As DAO.Recordset | |
Const ForReading = 1, ForWriting = 2, ForAppending = 3 | |
Dim fs, f | |
Dim lien As String | |
lien = Application.CurrentProject.Path | |
'Table to export | |
Set rst = CurrentDb.OpenRecordset("your_TableName", dbOpenTable) | |
Set fs = CreateObject("Scripting.FileSystemObject") | |
Set f = fs.CreateTextFile(lien & "\Export.txt", ForWriting, True) | |
While Not rst.EOF | |
'Field where the "reference type" is found | |
Select Case rst("your_reference type_FieldName") | |
' Reference type "Journal article" | |
Case "your_reference type_value" | |
f.writeLine "TY - JOUR" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 ... | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 ... | |
f.writeLine "T2 - " & rst("your_FieldName") 'journal | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "VL - " & rst("your_FieldName") 'volume | |
f.writeLine "IS - " & rst("your_FieldName") 'issue | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Abstract" | |
Case "your_reference type_value" | |
f.writeLine "TY - ABST" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 | |
f.writeLine "T2 - " & rst("your_FieldName") 'journal | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "VL - " & rst("your_FieldName") 'volume | |
f.writeLine "IS - " & rst("your_FieldName") 'issue | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Report" | |
Case "your_reference type_value" | |
f.writeLine "TY - RPRT" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 | |
f.writeLine "PB - " & rst("your_FieldName") 'institution | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "SN - " & rst("your_FieldName") 'report number | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Conference proceedings" | |
Case "your_reference type_value" | |
f.writeLine "TY - CONF" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 | |
f.writeLine "PB - " & rst("your_FieldName") 'publisher | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "VL - " & rst("your_FieldName") 'volume | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Book" | |
Case "your_reference type_value" | |
f.writeLine "TY - BOOK" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "A2 - " & rst("your_FieldName") 'editor1 - format [Name, first name] | |
f.writeLine "A2 - " & rst("your_FieldName") 'editor2 | |
f.writeLine "A2 - " & rst("your_FieldName") 'editor3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 | |
f.writeLine "PB - " & rst("your_FieldName") 'publisher | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "VL - " & rst("your_FieldName") 'volume | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Book section" | |
Case "your_reference type_value" | |
f.writeLine "TY - CHAP" | |
f.writeLine "TI - " & rst("your_FieldName") 'section title | |
f.writeLine "T2 - " & rst("your_FieldName") 'book title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 | |
f.writeLine "PB - " & rst("your_FieldName") 'publisher | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "VL - " & rst("your_FieldName") 'volume | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Thesis" | |
Case "your_reference type_value" | |
f.writeLine "TY - THES" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "PB - " & rst("your_FieldName") 'university | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "SP - " & rst("your_FieldName") 'pages | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Generic" | |
Case "your_reference type_value" | |
f.writeLine "TY - GEN" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "AU - " & rst("your_FieldName") 'author2 | |
f.writeLine "AU - " & rst("your_FieldName") 'author3 | |
f.writeLine "AU - " & rst("your_FieldName") 'author4 | |
f.writeLine "AU - " & rst("your_FieldName") 'author5 | |
f.writeLine "AU - " & rst("your_FieldName") 'author6 | |
f.writeLine "AU - " & rst("your_FieldName") 'author7 | |
f.writeLine "AU - " & rst("your_FieldName") 'author8 | |
f.writeLine "AU - " & rst("your_FieldName") 'author9 | |
f.writeLine "AU - " & rst("your_FieldName") 'author10 | |
f.writeLine "AU - " & rst("your_FieldName") 'author11 | |
f.writeLine "AU - " & rst("your_FieldName") 'author12 | |
f.writeLine "AU - " & rst("your_FieldName") 'author13 | |
f.writeLine "AU - " & rst("your_FieldName") 'author14 | |
f.writeLine "PB - " & rst("your_FieldName") 'publisher | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type"Film" | |
Case "your_reference type_value" | |
f.writeLine "TY - MPCT" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "AU - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "PB - " & rst("your_FieldName") 'source | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "SP - " & rst("your_FieldName") 'durée | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
' Reference type "Slide" | |
Case "your_reference type_value" | |
f.writeLine "TY - SLIDE" | |
f.writeLine "TI - " & rst("your_FieldName") 'title | |
f.writeLine "A2 - " & rst("your_FieldName") 'author1 - format [Name, first name] | |
f.writeLine "T2 - " & rst("your_FieldName") 'distributor | |
f.writeLine "AB - " & rst("your_FieldName") 'abstract | |
f.writeLine "PY - " & rst("your_FieldName") 'year | |
f.writeLine "KW - " & rst("your_FieldName") 'keywords | |
f.writeLine "N1 - " & rst("your_FieldName") 'notes | |
f.writeLine "LA - " & rst("your_FieldName") 'language | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "L1 - " & rst("your_FieldName") 'file attachments | |
f.writeLine "" | |
End Select | |
rst.MoveNext | |
Wend | |
f.Close | |
Set rst = Nothing | |
'Export file created in the database folder | |
Name lien & "\Export.txt" As lien & "\Export.ris" | |
End Function |
swellseabird
commented
Jan 24, 2020
via email
thank you for your speedy response. I will give it another try. As previously stated I have zero experience and your explanation helped greatly. thank you!
For example, does this look more like what I need to do?
' Reference type"Book"
Case "25"
f.writeLine "TY - BOOK"
f.writeLine "TI - " & rst("title") 'title
Am I required to leave the 'title at the end of the phrase or should i remove it? Options being:
f.writeLine "TI - " & rst("title") 'title OR f.writeLine "TI - " & rst("title")
can you send me the structure of your BIBLIOGRAPHY table ? (or a copy of your table in an xls sheet)
f.writeLine "TI - " & rst("title") 'title
Am I required to leave the 'title at the end of the phrase or should i remove it? Options being:
no the ['title] is just a comment like all other '.... , you can remove it (but it gives informations about what kind of fields are expected)
I am unable to upload .xls onto this website. perhaps I could send the file to your email address?