One way
Sub ExportModules()
Dim sPath As String, sDoc As String, sFile As String
Dim i As Long, iFile As Long, iComponentCount As Long
Dim oComponent As VBComponent
'get document info
sPath = ActiveDocument.Path
sDoc = ActiveDocument.Name
i = InStrRev(sDoc, ".")
sDoc = Left(sDoc, i - 1)
'create output file name
sFile = sPath & "\" & sDoc & ".txt"
'delete if output file exists
On Error Resume Next
Kill sFile
On Error GoTo 0
'create new output file for write
iFile = FreeFile
Open sFile For Output As #iFile
For Each oComponent In ActiveDocument.VBProject.VBComponents
Print #iFile, "*********************************************************************"
Print #iFile, "Start " & oComponent.Name
Print #iFile, "*********************************************************************"
For iComponentCount = 1 To oComponent.CodeModule.CountOfLines
Print #iFile, oComponent.CodeModule.Lines(iComponentCount, 1)
Next
Print #iFile,
Print #iFile, "*********************************************************************"
Print #iFile, "End " & oComponent.Name
Print #iFile, "*********************************************************************"
Print #iFile,
Print #iFile,
Next
Close #iFile
End Sub
PS -- the zip file is really a txt file, just change the extension