tmFolder = InputBox("Which TM should be exported?")Just copy that script into a text file, rename the extension to *.vbs and you have a double-clickable script to export a TM without opening memoQ. The TMX export is placed in the same folder where the script is executed and tagged with the date of the export.
if tmFolder <> "" then
' The path where all my memoQ TMs are stored
standardTMpath = "C:\ProgramData\MemoQ\Translation Memories\"
'build absolute paths
outputTMXfile = ".\" & tmFolder & "_" & date() & ".tmx"
tmFolder = standardTMpath & tmFolder
Set fact = CreateObject("MemoQ.ClientService.ServiceFactoryScripting")
Set tmService = fact.CreateTMService
Set createTMRes = tmService.ExportToTMX(tmFolder, outputTMXfile)
if createTMRes.Success = False then
MsgBox createTMRes.ShortErrorMessage
else
MsgBox "The TM was exported."
end if
end if
Encouraged by this little test, I went on to tackle one of my pet peeves: the lack of muliti-file import capabilities in memoQ TMs. Trados Studio has no problem importing a folder full of TMX files to a TM in one go, but with memoQ one must import each TMX file - painfully - one at a time. The pain is felt quite severely if, for example, you are a former OmegaT user with a legacy of 300+ TMX files from your old projects.
So I wrote another little script which allows me to drag and drop any number of TMX files onto its icon and have them all import to the specified TM. This is a rather crude example for just one set of had-coded sublanguages (DE-DE and EN-US). The API currently does not allow sublanguages to be ignored for the import. Adapt this to use your relevant sublanguages if you like:
'
' memoQ TMX import macro
' drag & drop TMX files onto the script icon
'
tmFolder = InputBox("To which TM should the TMX file(s) be imported?")
If tmFolder <> "" Then
' The path where all my memoQ TMs are stored
standardTMpath = "E:\Working databases\MemoQ\TMs\"
'build absolute path
tmFolder = standardTMpath & tmFolder
' Create the ServiceFactoryScripting object and TM service
Set objSFS = CreateObject("MemoQ.ClientService.ServiceFactoryScripting")
Set svcTM = objSFS.CreateTMService
' Set import options parameters
Set objImportOptions = CreateObject("MemoQ.ClientService.TMImportOptionsScripting")
objImportOptions.TMXSourceLanguageCode = "ger-de"
objImportOptions.TMXTargetLanguageCode = "eng-us"
objImportOptions.TradosImportOptimization = False
objImportOptions.DefaultValues = Null
objImportOptions.DefaultsOverrideInput = False
Set objArgs = WScript.Arguments
For I = 0 To objArgs.Count - 1
tmxfile = objArgs(I)
logFileName = tmFolder & "_" & date() & "_" & "importlog." & I & ".txt"
Set returnvalue = svcTM.ImportFromTMX(tmFolder, tmxfile, objImportOptions, logFileName)
If returnvalue.Success = False Then
MsgBox returnvalue.ShortErrorMessage
Else
MsgBox "No errors in the import of " & tmxfile & ". See the log file at: " & logFileName
End If
Next
end if
Source: http://www.translationtribulations.com