Sub SaveCommonFile()
Dim strServer As String
Dim strCommon As String
Dim strCJProj As String
Dim strMolds As String
Dim strMoldGrp As String
Dim strMold As String
Dim strDate As String
strServer = Sheet4.Range("F2").Value
strCommon = Sheet4.Range("F4").Value
strCJProj = Sheet4.Range("F6").Value
strMolds = Sheet4.Range("F7").Value
strMoldGrp = Sheet6.Range("B1").Value
strMold = Sheet5.Range("E6").Value
'Unprotect all worksheets
Dim sht As Object
Dim pw As Range
Set pw = Sheet5.Range("a1")
For Each sht In ThisWorkbook.Sheets
If sht.Name <> "" Then _
sht.Unprotect Password:=pw.Value
Next sht
vFilename = strServer & strCommon & strCJProj & strMolds & strMold & ".mht"
'Save As .mht file
ActiveWorkbook.SaveAs Filename:= _
vFilename, FileFormat:= _
xlWebArchive, CreateBackup:=False
'Remove macros, forms, etc...
Set wbActiveBook = ActiveWorkbook
Set oVBComps = wbActiveBook.VBProject.VBComponents
For Each oVBComp In oVBComps
Select Case oVBComp.Type
Case 1, 2, 3 'Standard Module, Class Module, Userform
oVBComps.Remove oVBComp
Case Else
With oVBComp.CodeModule 'Worksheet or workbook code module
.DeleteLines 1, .CountOfLines
End With
End Select
Next oVBComp
ActiveWorkbook.Save
'Optional message
MsgBox " Please close this file without saving changes! "
End Sub
Hope this helps! Has been working pretty well for me.
Joe