Не уверен, разрешено ли отвечать на мой вопрос или это правильно, но мне удалось заставить макрос работать, и, надеюсь, это поможет кому-то еще в будущем:
Вместо:
ActiveWorkbook.SaveAs Filename:= _
directory & Application.UserName & "_" & file_name _
, FileFormat:=xlUnicodeText, CreateBackup:=False
Использование:
ThisWorkbook.SaveAs Filename:=direct & file_name, FileFormat:=xlText
Не уверен, почему это работает, и предыдущий код не работает, но он сохранит файл .txtдаже когда VBA защищена паролем.