A xlsm файл с атрибутом только для чтения существует во временной папке.Тот же файл будет сохранен с помощью диалогового окна загрузки файла.При сохранении свойство только для чтения теряется, а файл сохраняется как не только для чтения.
После сохранения файла выполните:
File.SetAttributes(filePath, FileAttributes.ReadOnly);